Train Heist is a 12 hour project, it was my first solo unity 3d project, and overall I see it as a success. The goal of the game is to make it to the train engine. Alive. This is quite easy as none of the enemies shoot back, but the idea is there. The main focus on the game was to introduce an interesting reload mechanic like that seen in Wolfire’s game Receiver. Due to the time restraints, my game is, by far, a lot simpler, but I feel that I captured the overall feeling.
This was a great short project that pushed me to keep it simple. This was due to the one week timeframe what I decided was about 12 hours, so I kept the project to that. The success of this project demonstrates that my current skill level is enough to successfully complete very small short projects. However, I hope that as I continue to make games that I will be able to work just as functionally on longer projects as I was able to with this one.
There were several obstacles that I faced during this project and I have outlined and analysed two below:
The feeling of speed.
How to get the player to feel like they are on the back of a moving train? Simple! Make everything but the train move! Unfortunately this was not my first approach. Initially, I tried to use physics joints and forward movement to get the train to actually move forward but this ended up with the train flicking around like a whip. Now this was an interesting thing but nowhere near what I needed. The answer to the problem was to make the environment move around the stationary train, and to add a small shuffling motion to the carriages to simulate real movement. This was quite a good thing for me to discover on my own and it reminded me that games are made up of tricks and cheats, and that the most straightforward answer to a question is not always the most functional or successful answer. This is a really important lesson for me to take into future projects.
Sweet, sweet noclip.
The largest problem that I encountered in this project was that when Unity’s Standard Assets first person controller is standing on a moving platform it can, and often will, ignore collision. Part of the problem is that a lot of the time when you have one collision object rotating into another collision object they will not collide. This can, obviously, be a huge problem if you are expecting to be able to stand on a rotating object. To manage these problems I feel you just have to be aware of their existence, so that you can assess what the response should be for the object resting against the rotating one, so that you can decide how that interaction should play out. That may involve making the resting object a child of the rotating one, or having the mesh rotate independently of the collision. Ultimately, I have learned that some research and planning should go into every project. So that simple issues that may arise will already been known and easily mitigated.
Drury, Ben. “Train Heist”. itch.io. N.p., 2016. Web. 16 Dec. 2016.
Unity Technologies,. “Unity – Manual: Colliders”. Docs.unity3d.com. N.p., 2016. Web. 16 Dec. 2016.
Unity,. “Unity – Game Engine”. Unity. N.p., 2016. Web. 16 Dec. 2016.
Wolfire Games,. “Receiver – Wolfire Games”. Wolfire.com. N.p., 2016. Web. 16 Dec. 2016.