Wednesday, February 24, 2016

Level Designs

In an effort to make a good and enjoyable level, I have done a lot of research on level design. In this post I will talk about the different elements of making a good level that I wish to include in my own game. A good level should function almost like a course in school. Certain parts of a level are designed to teach the player about new mechanics in a controlled environment. For example, one element I wish to include in my level are conveyer belts, which will move the player while on top of them. First, I would want to introduce the concept with little to no consequences for failing, so I might make it so you have to jump on a couple of conveyer belts to get to a certain room. If you fall off the conveyer belt there will be solid ground and all you have to do is jump back up to where you were to continue. Next, I will put some conveyer belts in a more dangerous place, where you might fall into a pit and die. Then I might introduce a different mechanic like a mini-boss that the player will have to fight. This will teach the player what the enemy is capable of and how to deal with them. Afterwards, I would want to throw in a "quiz" on the two "lessons," the conveyer belt and the mini-boss. In the quiz, I would want to combine the two elements. You might have to fight the mini-boss while jumping from conveyer belt to conveyer belt. This might prove to be a bit of a challenge, but because I have introduced both concepts individually and in controlled environments, the player should know exactly what to do and should not get too frustrated.
Conveyor Belt moving to the right

Conveyor Belt moving to the left

Mini-Boss Idle

Mini-Boss Firing Gumballs

Monday, February 22, 2016

Creating Animations for the Game

In the past I have talked about the different characters and animations I have done in Piskel. I have not really talked about my process for creating sprites, so today, I wanted to talk you through my way of creating the sprites I need for my game. First, I brainstorm ideas on what I want to create. In this example I want to create a basic enemy for my candy-themed level, so I thought to create a piñata that will attack the player. I start with a basic outline:
Next, I start to add color and a personality to my creation:
I know that I want it to resemble a piñata, so I add lots of flamboyant colors that change between each other suddenly at different layers to give it this effect. Finally, I add a few minor details, like shading:



I know that these sprites may not look the best, but I am very proud of how most of these turn out because I am no where near being an artist and the fact that these even just resemble what I want them to be is enough for me.

Friday, February 12, 2016

Changing Concepts

I wanted to take this week's blog entry to talk about some many idea phases my project went through.  The concept of my game went through several different phases. At first I considered making a sci-fi themed game in which you play as a crash-landed astronaut on a foreign planet. The game play and visuals would have been an homage to the Nintendo game, Metroid. Another idea was for a 2-D stealth game, in which the player assumes the role of a secret agent, ninja, or something to that effect, trying to infiltrate an enemy base. Eventually, I settled on the idea of making a superhero themed game reminiscent of Megaman. Unfortunately, there are many aspects to this idea that will not be fully realized by the end of this school year. I will most likely only have one completed level to serve as a playable demo, but I will try to flesh it out as much as I can. This is actually not so bad, as game design is a rather lengthy process. Some games take over a year just to conceptualize the concept of a game.
I didn't really have a picture that related to what I talked about, so here's an animation for my medieval-themed villain that probably will not be used in the demo for the end of the year presentation. His name is Night Knight.

Wednesday, February 3, 2016

Coding in C#

One of the most difficult aspects of this project so far has been the coding. I had no prior knowledge on how to do it, so I have been watching tutorials and reading instructions on how to do what I want to achieve with my game. It is a very strange process and it seems almost like speaking a different language because you need to know what the terminology and phrases mean and do. So far, I have only really worked on one script, which is basically the programming for one aspect, which is the character controller. This allows the player to input buttons to make characters move and what not. Honestly, doing this by far is my least favorite aspect of the project. I have all of these ideas and goals for the game, but coding is such a long, tedious process and it is difficult to know what to type in to get the results that I want. I will continue to work hard in order to hone my coding skills.
My character script