Mainly…that making a game by yourself is a really really stupid thing to do! The amount of work really is quite insane. I knew from the out set that it would be a challenge, but there are so many other ‘smaller’ things that branch off…things that you only realize once they are smacking you in the face.
So here are a few tips…
PLAN PLAN PLAN!
The main thing is planning. I cannot emphasize enough how important this is. For an adventure game, the advantage is that the gameplay mechanics are pretty simple. This really allows you to focus on the story, environments, characters, etc.
When planning Stasis, I think I may have gone a little backwards. I started with a cool idea for a room, that had old cracked ‘cryogenic pods’. From there came the entire world of an abandoned research facility, and the story about why the place was set up. I put a protagonist inside that world, and wrote the story from that perspective. Now while this has worked for me, I can see how starting with a protagonist and developing the story from his/her point of view of the world can be a pretty big advantage in a genre that so heavily relies on the main character being more than a mere avatar.
Once I had the main skeleton in place, I went to other games and really studied how the set up their stories, games plots are very very different to films, with games relying much more on the player having a direct path. Even ‘free form’ games like GTA or Fallout have to give the player prescribed goals, I bought a whole wack of game guides, from Bioshock to Doom III, and literally wrote down, point by point what the the players progression in the game was.
I then tried to match my games story points and beats as closely as I could to those games. Now I’m sure that this makes sense now, and is probably something that comes naturally to game developers, but it really was a learning curve for me.
Make sure it’s something AWESOME.
Ok, this one is pretty difficult. When you start with a game, something you must realize is that it’s something that you are going to be ‘stuck with’ for a very long time. Especially as a ‘one man army’. It has to be an idea that you get excited about every time you think about it.
The thing that people tend to forget when creating a game on their own is that there is a ton of really crap work you have to do before you get to the cool stuff. Every door in Stasis is individual. Each has a separate animation for opening, closing, and some even have animations that will only play the very first time they are activated. Each of theses doors has a trigger, and 2 or 3 values which are used to make sure that the doors are in the correct state. Some doors even have specific idling animations. Each door takes around 45 minutes to set up (rendering, comping, adding in details, getting it into the engine, setting up the trigger areas, set ti ng the events to ensure the triggers work, setting events to stop the player from breaking them, play testing, etc). And it is not a very eventful 45 minutes! Luckily the engine compiles the levels VERY quickly, so testing is literally a few seconds after a change has been made.
The result is a very detailed world, but a world that is extremely complex to set up.
Do what you are good at, and do it well.
If you are a talented musician, your game should have damned awesome music. If you do the most incredible pen and ink drawings, incorporate those drawings heavily into the game.
If you have a knack for writing amazing dialog, or creating rich fantasy worlds, you game should have amazing dialog, and rich fantasy worlds.
Primarily as an artist, one of my main focuses is to make sure that the game looks as good as possible.
A few people have said to me that it’s insane to try and do everything for a game. Coding, artwork, sound design, story development, dialog, music…and while I gotta admit that it is a little crazy, it is also incredibly satisfying. When I get bored/stuck on a certain part of the game, I just switch to something else. If the visual stuff is getting me down, I move to the audio. If I can’t get the music right, I move onto putting a puzzle in place. I’m also constantly learning. Before this project, I had no experience with music, game design of this type, or even figuring out the logistics to put something like this together.
Don’t be afraid to experiment.
As I said earlier, the advantage of doing an adventure game is that the basic gameplay mechanics are pretty straight forward. They are also mechanics that have been done thousands of times on previous games, so there are tons of examples of what works, and what doesn’t. Something I do try tho is to experiment with different ways of doing things. Here is an example of an idea I had to create ‘QuickTime events’ in the game. Ultimately I did a few tests, and while it didnt work (it didn’t flow as smoothly as I would have liked, and felt out of place), it was a good idea that I’m glad I tried out.
Certain things that are intrinsic to the game have come about as a result of this experimentation-so its definitely worth it!
I actually wrote a blog post about it, which after it failed I decided not to put it up. Here it is for prosperities sake….
Action in adventure games
I know that action and adventure games in the traditional sense of the game don’t really go hand in hand, but I have been looking at the world of stasis, and trying to add in as much excitement and danger as possible. Through some soul searching, writing notes, and playing quite a few games, I think that nothing gets the heart pumping like a bit of ‘just in the nick of time’ action. Who didn’t love Indiana jones sliding under a door and grabbing his hat?
But in a game that I’m trying to keep to a slick, streamlined, mouse driven interface this can be an extremely difficult thing to do effectively, without it feeling like it’s been ‘tacked on’. I want the interface to flow, and be as effective and uncluttered as possible, really letting the player just experience the game and the world, not worry about which keys are mapped to which actions.
Taking inspiration from the current trend of quick time events. Shock! Gasp! Don’t quite sharpen your pitchforks just yet…stasis isnt becoming a button smasher. Essentially the thing to take from QuickTime events is that you can perform very complex ‘tasks’ with very simple controls-something which is essentially what I’m trying to get done with the interface in stasis.
The way Im looking at solving the problem is to have the actions be context sensitive. Bear in mind that the parts of the game that wil require these ‘run, jump, and slide’ events will be few and far between. From and interface standpoint, when the QuickTime events (to be different I’ve called them adrenalin events in the game setup) are required, the cursor will change to something like this…
As you can see you have 2 basic commands. Run, and Action. These commands are run from your 2 mouse buttons. You click on the area you are running towards, and when there is an obstacle in the way, you need to time your action click to pass the obstacle, be it a jump, slide, vaults, etc.
When you have passed the event, or the timer has run out (the door has closed etc) or the game engine determines that the minimal amount of time to complete the event has passed, you will return to a normal interface to reset the puzzle.
Now this is mostly theoretical as I write this (I’m actually in an airplane) but I have a pretty good idea on how I’m actually going to a accomplish it. The major downside to this is really the amount of animation it requires, but I think it will be worth it. At the end of the day, it all comes down to fun though. I’m going to put together a test this weekend, and see if it not only works from a technical point of view, but also from a ‘shit that was awesome’ point of view. 🙂
Dont overcomplicate things.
I’ve written before about creating reusable systems, and keeping things in the game simple, but it’s something that I cannot over stress. Setting up really complex systems will only frustrate you. They are also things that can be easily broken by the player, so the play testing and ‘hole plugging’ needed is insane. Even small things like having a computer screen turn on when a character walks into a certain area, or keeping a door open in another room can be quite easily broken. If you don’t want your game to appear to be buggy as shit-design systems that are robust, and easy to change things on.
There are a ton more things that I could put there, but Ill save those for another post. If you guys have any questions, please don’t hesitate to ask. 😀