Frustration and Polish
Posted by Ed on 2012-02-15 09:18:11
Experiments in creating props and items aside, the reality of constructing them into something that could be described as a coherent level was a different challenge altogether. We chose to make the first “level” in a first person perspective (saving me from having to create an animated character model) and create a simple set of challenges.
This level was constructed for us to experiment with inventory systems, character controllers, physics props, trigger systems and level design. But the capacity to freely look and move proved to be a big challenge, the least of which was my foolish notion to create a larger exterior area.
I now know how I would construct that external section and the next time I come to create this area it will hopefully look very different.
With my work in Architecture I have almost no experience with playtesting, and that was certainly a unique experience. The first person to play it immediately jumped out of the level at one of the two points I hadn't yet prevented them from doing so. Not only that, but I realised that they rarely look where you might desire and any timed element they will probably miss.
I guess when you design a building in real life you just don’t expect someone to jump over a handrail into a pit for no reason other than they can.
When we started this project we looked at a number options and it quickly became apparent that there were a variety of tools and engines for putting such a lofty concept into the hands of small studios and guys just working out of their proverbial garage. Rather than re-invent the wheel we decided that the Unity Engine was a great place to start.
Obviously my experience is primarily in the visual department but I had played with YoYo Games’ GameMaker a good deal when I was young. With the addition of Detox Studios’ uScript (an add-on for Unity) I was able to use a visual scripting language in Unity. This was great because I could take some of the coding work off Scott for many of the triggering systems and general level structure. The experience in Game Maker was a real asset, not because there were a great deal of similarities but because my brain was just used to solving those kinds of problems.
While this was not a particularly good or groundbreaking piece of design it was interesting. There are some details that I am very eager to keep. The way the megaphone worked was something I was very pleased with. The interesting component was to create a random deformation to work while it was playing a sound file. I created a simple program that would interpolate between its current and desired position and created a field for the size and speed of the deformations. I found this to be an acceptable animation to accompany any voice acting. The Megaphone may be replaced with a speaker in future versions as I think it would work better visually.
Other elements included the office workers. While I was not entirely pleased with the animations or ball jointed structure they had a neat trick to using them in the external areas. Using a combination of a Level of Detail script and a Mesh combiner script we were able to significantly reduce the number of draw calls and poly counts required. I’ve since done a re-modelling of the office worker to a skinned mesh that is probably more appropriate for later levels.
Problems and Polish
As of writing this post there are still a variety of problems that need to be fixed and two areas that need to be completed and finalised. The components behind using items and switching them in and out of an inventory system are still being fixed but other problems have less urgency. The components we designed are working and were successful. We can now take these and move to work on another component.
I have to admit the first “level” makes me cringe (partially because it is corny, contains too much poor voice acting and there are a variety of design flaws in the visual presentation). But once we add the instructional components the level is clear and interesting enough to keep someone engaged till the end (I hope). But more importantly it accomplished its stated goal, we learnt a great deal from the experience and our work on it up until this point gave us the skill to move quickly while developing Cargo Chaos.
The best outcome from this first experiment is that I gained the knowledge, some assets and renewed energy to attack the next experiment.
It’s gonna be fun!