loading...

I published my first game

skiilaa profile image skiilaa ・2 min read

And I will show you how you can too!

Starting Out

The Idea

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.

The Engine

I decided to go with Unity because...

  1. It's the one I know better
  2. Pricing is alright
  3. Multiplatform

The Language

I decided to go with C# because...

  1. UnityJS sucks
  2. I don't know Boo
  3. I know C# well

Making the game

Random Ball Generator

I used Unity's Random.Range to generate 4000(!) X and Z values between 4000 and -4000.

I used Instantiate to clone the sphere, then I removed the player script from the clones.

Timer

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

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...

  1. Check it's not colliding with the floor
  2. Pass PlayerScript on collided object
  3. Turn "dead" sphere red.
  4. Remove PlayerScript from dead sphere.

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

The Camera Controller took care of following the sphere, and setting view height (keys E and Q).

I used new Vector3 to locate the camera where the ball is in X and Z, but not move the Y coordinate.

Publishing

I made my game available for purchase via The Humble Bundle, by...

  1. Creating Humble Bundle Company
  2. Setting Payment Info
  3. Creating Gamepage
  4. Publishing game

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.

The Future

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.

Conclusion

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...

  1. Is the game fun?
  2. Is it addictive?
  3. Is the story good?

...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?

Posted on Mar 27 '18 by:

Discussion

markdown guide
 

Good write up :)
This is a category of posts I'd like to see more of. Might try to contribute something myself.

Thanks for the post :)

 

Thanks :) I might make posts 'bout fixing bugs in this maybe? IDK.