Monday, January 23, 2012

Only When Done Will I Know

Game development has proven itself time and time again to be a dreadful leech of motivation. In the beginning of the process one is excited. Ideas whiz about in the mind and the soul gets giddy at the potential. These feelings combine to make the designer feel that the game they are about to make is going to be one of the greatest every. This is fine. All creative types need to experience this initial momentum. However, it is at this point, from my personal experience, that one's emotions regarding their project can go one of two ways. Either the ecstasy inflates the ideas to a point where the vision is impossible to realize or the rationality and cynicism downplays the ambition so that what the designer is working on becomes uninteresting.

To succeed, a balance must be found between these two to keep the game designer motivated until the very end.

Recently, I have been keeping this balance by challenging myself to add new elements into my game that require me to go out of the way to learn something new. Whether it is using trigonometry to write more complex drawing algorithms or experimenting with art styles and animation, challenging myself keeps my mind busy enough that I do not worry about the current, incomplete state of my game. Overcoming these problems provides me with enough satisfaction and confidence that I keep the will to push onward. Only until the game is done will one know if their vision has been fully realized. Prototyping helps to give a taste of this, but it is only that; a taste. Visions fade and the mind starts to doubt the game's potential. This is dangerous for the game designer!

These pitfalls I describe are particularly starting to inflict me hard on my current project. This is not to whine; I am just trying to keep myself self aware and accountable. With this game, much of the experience relies on everything tying together to form one, large cohesive whole. Unfortunately, I need to build this experience with small, individual parts. This process is long and awkward.

I have been continuing work on the prototype. There has been so much added since I last posted: stage headers, balloons, new clocks, etc. I probably should have kept a list of revisions, but I am an amateur who is working alone, so I think I can let that pass on this project.

An image, to delight and inform:

Wednesday, January 18, 2012

I Am a Terrible Artist, But I Must Create Graphics for My Games

I have been composing some backgrounds and tiles, just to see what I can get away with visually. Here is an example:

I am currently not in the mood to create large chunks of text to describe what I am doing, but I will apologize briefly for my horrid abuse of gradients.

Saturday, January 14, 2012

Raising Up Systems and Some Thoughts On Combat

Most of the current work on the game recently has been focused on raising up and implementing some of the more fundamental and abstract parts of the game's systems. This includes several important things to making the game work. First, I have added a time limit, which plays a role in the actual game design. Second, I have built a primitive, but good base, for player death. So, if the player jumps onto spikes, falls off the screen, or runs out of time, they will die and the room restarts. This game is not going to have a lives system. Instead, the penalty for death is a subtraction from the score, as for the score is the most important element of the game that the player must worry about. If this breaks the system in some way, I will need to experiment and see.

I have also added room transitions. The player can walk up to a doorway and enter it, leading to next room in the game. Thankfully, since the progression through the levels in this game is (mostly) linear I can use a rather simple room transition system that allows me to use really only one door object for most transitions.

Also added into the game code are nine other types jewels. Sound effect wise, I really like what I have down with the aural experience of collecting a crystal. For collecting every one the sound is same, except, based upon how many points the jewel delivers, the sound effect has a higher pitch. It can almost at times become musical in nature and is quite lovely. Somewhere in there are also clocks that provide the player with more time when collected.

I have been thinking about removing combat entirely from the game. It fits into the fiction I currently have comfortably if every enemy is portrayed as some wild beast. However, I am starting to doubt how much it adds to the gameplay, and how much it makes sense from the perspective of what it contributes to the rest of the systems. If a player can shoot enemies and kill them, they get points. This works. If the player is attacked by an enemy, one of two things could happen: the player is knocked back and has their score decreased or they are just killed and have to redo the room. However, I am currently feeling more interested in focusing on a more pure platforming feel for the overall gameplay where the whole environment is a large obstacle course. Combat is usually boring in 3D platformers and potentially great in 2D ones. This is why some of the best platformers are very heavily focused on environmental traversal, and either have no combat or a basic combat system that has little depth. I have a feeling that this game should be more about environmental challenges. In particular, I am thinking of Super Meat Boy and how it succeeds because it ignores combat entirely, and right now this approach is feeling right to me. But, it is a feeling, and feelings can't be trusted, regardless of the fact that they potentially can be more right than any amount of reason can ever be. I am going to move forward without combat as I create a 20 level prototype and really start to get a feel for where this game can go.

Sunday, January 8, 2012

Moving Platforms are Incredibly Discourging But Progress Pushes Forward Pleasingly

I have spent the past days adjusting to school again and solving the most sinister problem I have yet to face on my current project; moving platforms. These are infuriating little critters. After hours of playing around with different systems and variables, they are still incredibly broken. And this is not even my solution I am trying to get to work; this moving platform code is from the engine I am using. However, there is an issue stopping them from working in my code that is not present in the original engine. Something is quite clearly wrong and it is probably obvious. In situations like this I tend to over think, which is both fortune and misfortune.

Reasonably, I have moved on for now and have worked on implementing other systems. This has been an incredibly smooth experience so far, for which I am thankful. Most of the work between now and my last post was accomplished today. I am going to go through all the changes in bullet point form to please my incredibly lazy soul.

  • The art style has been changed. Instead of rendering sprites that are 8x8 pixels, I have realized that this project is going to require less sprite work than I was originally anticipating, and thus I have moved on to 32x32 sprites. The added fidelity is both a blessing and curse. It allows for more detail and more visual opportunities but makes sprite creation a longer process and makes animation even more hell-ish.
  • With the change of art style, I have removed the previous character sprites and replaced them with a placeholder mask for the time being. I am considering creating a non-human for the main playable character. Preferably something that is easy to animate.
  • Those collectable diamonds are new and play a major role in the overall game design. They are extremely polished already too; collecting one is an incredible visual and aural experience.
  • The '0' at the top is the current score and is the beginning of the hud I am going to implement. That score is the most important element of the entire game.
I also tried to add some combat in there, but it was a pretty awful and lazy attempt. The next thing I am going to do is give this another try. With the combat squared away, I will then start to focus on setting up the rest of the important game systems and after that, guess what, it is time to start creating a crap ton of content.