I am a hobbyist game, web and desktop application developer.
And I will show you how you can too!
I wanted to make something fairly simple, that required strategy and causes a bit of frustration. I came up with Hevel: a game where you are a ball, rolling around, rapidly running out of energy (or becoming smaller), and you need to collide with another ball to make a "soul-swap". The game measures the time you achieved: the longer the better.
I decided to go with Unity because...
I decided to go with C# because...
I used Unity's
Random.Range to generate 4000(!) X and Z values between 4000 and -4000.
Instantiate to clone the sphere, then I removed the player script from the clones.
The Timer was an easy one: when Update was called, I added
Time.deltaTime to a timer float, then outputted the new value on the Canvas.
The Player Script is mainly messing with
rigidbody.AddForce and making the sphere smaller, but I want to talk about the "soul-swap" here.
So the soul-swap code is basically...
This was the code that took me the longest time: basically messing with collisions, spheres colliding when they're 500X500Z away, bullshit like that.
The Camera Controller took care of following the sphere, and setting view height (keys E and Q).
new Vector3 to locate the camera where the ball is in X and Z, but not move the Y coordinate.
I made my game available for purchase via The Humble Bundle, by...
This took me about half an hour (without making gamepage video, etc.), it wasn't hard stuff, you just need to provide some personal info because of legal things, like passport number/government ID/driver license, TIN, etc.
I really want to keep this game alive, fix bugs, add new gamemodes, add multiplayer race, etc., but first I want to see if people want this game or not.
I have published a demo game page with no video or screenshots yet that you can see here, please support the game if you like it, it would help a lot.
Developing a game can be hard: but only if you come up with a complicated idea. Simple ideas are not bad, heck, even more people play simple games than complicated ones. What matters is...
...and many more depending on what type of game you are writing.
The only thing that matters is do you enjoy playing the game, AND programming it?