Since this is the Getting Started thread forum, seemed like the right place to ask.
I am a QA and aspiring game designer trying to learn coding and animating since nobody else is up for it.
I want to make this very simple game, but not sure where to start, I know a small area of how Unity works in general.
The game is simple, it’s a 2D plane, where 1 Arrow Object will spawn in 1 of 4 locations (left, up, right, down) each second, and the player needs to hit it on the keyboard as fast as possible, a clock would keep track of average reaction time and remove 1 second each time the player misses type thing.
So to start, how do I set 4 pre determined spawn points for an object, and then tell the game to spawn one of them, each second, randomly?.
Pre-determined spawn points are easily done by putting empty Game Objects in your scene and then have your script reference those game objects. Now Instantiate stuff at the position of those game objects.
And if that explanation was Greek to you, then you need to start even more basic by learning Unity in general. From your “trying to learn coding” intro I get the sense that you don’t know how to program in Unity, in which case I wouldn’t worry about your specific game idea at first and just focus on learning Unity in general. Do a couple tutorials in the Learn section, and maybe checkout my book, and soon enough it’ll become clear how to approach your arrow spawning game; that task isn’t massively different from spawning objects (eg. enemies) in any other game.
It’s far easier to learn it with a “How to set spawn points - set random spawns” tutorial, than to just read random tutorials that may eventually possibly at some point have what I need. And I already have watched a quantity of Unity and U4 tutorials.
Instantiating something is to duplicate it, right? Is that really the easiest way, shouldn’t there be a simple way of having 4 objects hidden from the player appear visible one after the other, second after the other, randomly, by then hiding the previous object again?
I mean seriously, I would learn far more (And be done with this_ by simply figuring out how to.
Spawn 1 of 4 objects, in 1 of 4 places, randomly, each second.
Give the player a key corresponding with each object, to hit it as they appear.
Normal people usually start to learn what coding is and how works and how the language works to then decide what they want to do, but I have a different situation, I can’t “speak” coding, but if someone can just explain how to “pronounce” these words, I can figure out the rest of the sentence then. (That’s how I learned video editing and photo editing, but seems difficult to find tutorials like that, everyone either wants to talk about how to open a menu for 8 minutes, or how to create “public variables being equal to an instantiation function’s return” shit, which quite does sound like Greek).
Yes, it may be that in this case you don’t actually need to spawn any objects at all; you can just show and hide them.
But this is a very unusual need, and you’re not going to find a tutorial that directly addresses it. And you don’t want to go into the uncomfortable “can somebody write this script for me” territory. So, if you’re going to do this yourself, I really do think you need to put aside your immediate goal for a month or two, and spend that time learning Unity and C# programming in general. Then you can come back to this project, and be equipped to solve it yourself.
Or, if that’s not an option, you could always hire someone to do it for you (by posting in the Job Offering forum).
Sorry, I was just responding to your word “spawn”; that word tends to mean to create something that isn’t already present. Simply hiding and showing objects would be simpler, sure.
But that really gets at the issue I was getting at (and JoeStrout seems to be saying the same thing, so I agree with him). For example, in my book chapter 5 talks about hiding and showing sprites when you click on them; that isn’t your exact game but is easily adapted to that. Nobody but you knows exactly what the design of your game is.