Archive for the ‘software design’ tag
Seeing is Believing: Why Prototyping is Worth the Time
This week I was joined by a former colleague who previously helped work on a story-based course similar to the one we are trying to design. The previous course had no game elements and was targeted at the general university student rather than at the middle school level, but the design of the art and story could be similar for these two projects. While we had a few ideas for the story and individual game segments prior to his arrival, bringing him in really jump-started the project and helped flesh out many ideas for the story and gameplay. More important than the help of another person, though, was seeing prototypes for ideas that we had previously only talked about.
The first example of this came when my colleague decided to mock-up a martian landscape. We had been discussing using a martian landscape with a space station as the main setting for weeks. Seeing the basic landscape allowed me to consider the finer details of the scene instead of just the big picture. It also assured that the picture in everyone’s mind for this space station was nearly identical, rather than the unlimited possibilities we leave open by simply discussing it and not having any visual representation.
The second major breakthrough came when I was able to convince my boss that having controllable 3D characters was a perfectly reasonable possibility for this game. At one point, we were debating having much of the story happen through comic strip-like interludes with text possibly supplemented by movies. But with Unity, I found it was not much of a challenge to put together a control and camera scheme for any 3D model that we have. I thought perhaps my boss was simply more fond of the movies/comic idea than having controllable characters until I showed her a demo with a controllable character having a discussion with an NPC (non-playable character). She then informed me that she previously was concerned that controllable characters would have taken more time than we would be able to allocate.
Giving visual representation to ideas can serve two purposes in software design (games or otherwise):
1. It gives your team a unified representation of the visual object you are discussing.
2. It proves that the idea can be put into action.
In creating the dialogue between the playable character and the NPC, I presented a basic paragraph about Mars (borrowed from the wiki entry), then presented the user with a question and the ability to offer 3 answers, each with its own response from the NPC. While the code for this would be quite inefficient for a larger dialogue, I have proven that dialogue between characters can be done in a short time. While I’ll need to tackle the dialogue problem in the near future, this prototype demonstrated to my boss that player controllable characters can be used to do nearly anything we require in order to convey the story. With only a few hours of work, I was able to settle a debate we had been having for months. Even if this wasn’t what we wanted, having this decided for only a few hours of work is certainly worth the small investment.