As of today, we have launched our campaign to fund Demon’s Hex. All the details are available at our Kickstarter Campaign Page. So check it out.
From this time forward, we will be posting regular updates over on the Kickstarter page and cross posting them here. We also have a handy widget over in the sidebar to allow you to quickly find the campaign and track it.
Please share our campaign and help fund Demon’s Hex.
Demon's Hex, Kickstarter
I am really surprised that I completed this one. It was looking like I would be stuck on a couple of really annoying bugs for a time there. But I managed to pull through though.
Alex’s Meadow RPG was a blast to make. This is my first ever RPG. While it is not an RPG proper, there are no leveling, stats or anything like that, it does have that RPG feel to it. There is a lot that would have to be added for this to resemble a real RPG.
But enough about that, let’s talk the game as it is. As you may know from earlier blog posts, this game was based off a level that my son designed. It was really fun watching how excited he was to create the level and then to actually see it turn into a game. Continue Reading
Alex's Meadow RPG, OneGameAMonth
This month I set out to create a Bomberman style game. I got the idea from two sources. One was a demo for grid based movement on the HaxeFlixel website. From that demo, I learned of a powerful map editing tool called Tiled Map Editor. Using these, I began work on something that I just was not able to complete.
I feel like I am a broken record on this, but I ran into a wall of time. May was the last month for my wife and I to move everything out of a failed business venture we had. So we were spending every night and weekend I had cleaning and moving things out. As such, I had extremely limited time to work on this game.
However, even though I did not complete my May One Game, I still learned a lot from this one.
The major thing I learned was about the Tiled Map Editor. Everything in this game, aside from the starting point of the player, was put into this game using the Map Editor. I could have even included the player position in this, but i chose not to as I was building the game.
This Map Editor is extremely powerful and has been added to my permanent set of tools I use for creating games. Every 2D game I make from now on will use this tool for its level creation capabilities. Check it out for yourself to see what I am talking about.
The second thing I learned was how to properly implement grid movement for a player character. Looking at the demo code for the feature it was pretty easy for me to parse out what I needed to do to get it working. This is another feature that will be included in future games and could actually be used to expand my March game Board Game Quest.
This is definitely a game idea I want to complete in the future. I think once fleshed out it could make a great multiplayer game. THe original Bomberman still remains one of the most fun games I have ever played.
So if I find myself able to revisit it, you will not be disappointed. But for now, I have other plns for the month of June.
April was not one of my best months. I had a very hard time getting to work on games this month due to a lot of other things going on. So when I actually had time to work on a game, and there was little of it to be sure, I went with something very basic.
Easter Egg Toss is about as basic a game as you can get. Colored eggs drop from the sky and you must catch them in the matching basket. Each correct catch gets you one point. But there are black eggs that you have to avoid.
I really can’t say I am “proud” of this game as it really isn’t up to my usual standards. It is a complete game and provides some kind of challenge, but could use a lot more effort and work to make it something viable. I feel like it was done merely because I obligated myself to making it.
As for what could be done to improve it, That is hard to say. I think completely changing the game mechanics would be in order if I wanted to make a truly fun game. The rearranging of baskets is cute and all, but just doesn’t present a lot of challenge.
On the technical side of things, it would be better if I had set it up to alter the z-index of the baskets based on their y position. I would want all baskets to appear behind the other baskets if they have a lower y value (closer to the top of the screen). This would add a layer of depth the game it is currently missing.
That is really all I have to say about this particular game. I am going to try to do what I can to make May’s game a lot more interesting, unique and fun.
Easter Egg Toss, OneGameAMonth
March was a fun month for me. After spending 2 and a half weeks just trying to come up with an idea for a game, I finally got around to making it.
Back in February, I wanted to make a board game but ended up doing something different. The game I wanted to make needed to be timely for a specific event but wasn’t going to be finished in time. So I put it off.
So in March, I decided to scratch my board game itch with a slightly different board game. And thus Board Game Quest was born.
I was inspired to make this particular game after the Lego Heroica line of board games. I own all but one set of that particular game and my son and I love to play them. I think it is a great game and very much would like to make something along those lines as a video game. So this is my first prototype to that end.
The game was a lot easier to make than I had originally expected. Designing the board wasn’t bad at all as it is a simple spiral to the center. I could easily add more to it by expanding the size of the board to be larger than the game resolution. The hardest part of the game board was trying to design board elements that meshed together well. I went through various iterations of walls and spaces until I reach the set you see above. It turned out to be a lot more “brown and grey” than I really wanted, but it was the best I could make.
The characters and monsters were mostly chosen at random. I had no preconceived ideas of what I would do with them once they were put in the game. I just wanted to add variety. But lucky for me, as development advanced, I was able to use the character sprites to add mechanics variety to the game as well.
Once I had the very basics of the game down, I wanted to explore adding abilities to the characters to make them more unique and make choosing them to be an actually thought out choice. So I took the 4 character types I had and the four main aspects of the gameplay and came up with their individual traits.
While these individual traits are not too amazing in a single player match of the game, as I expand the concept and introduce multiplayer, they will become far more important. In a multiplayer match, the goal would be to reach the end and beat the end boss before the others. Which character you choose would help toward that end.
There are a few things I really want to change as I go forward with this concept. The first being the spawning of monsters. Right now, they just appear at random and disappear whether you beat them or not. As I develop out the concept of the game, I would like to leave spawned monsters in place until one player defeats them.
As the game board increases in size, I would also like to add a bit of a random encounter element. So not every move results in a monster, but perhaps only a chance to run into one. As you reach nearer your goal, the greater the chance of one spawning in front of you.
Another aspect I will consider changing is the potions. Right now, it is a single potion, or two in the case of the priest. This is fine in a single player game, but I think it would not work very well for multiplayer. I think a better system would be to replace the potion with a “rest” mechanic. With this, the player can choose to rest instead of move for a turn. Doing so would allow them to recover 1hp. This would allow the player to decide if they want to try moving forward and gaining an advantage over the other players or to rest and live to fight another day. I would change the priest’s ability from 2 potions to recovering 2hp.
One other issue that I have not decided on a proper solution to is the Paladin’s ability. The problem isn’t the ability itself, but its interaction with the final fight of the game. If the player attacks the final boss but loses, they are typically sent back a space and then must roll to move then attack again. The Paladin doesn’t move however and it feels a bit annoying to have to make a movement roll then attack. I guess the same could be said of other characters as well as any roll from one space away is going to pit you against the boss. But that can be a problem for another day.
Overall, I found developing this game to be a fun challenge. It is unique from all other games I have made and has a whole lot of potential. It could be the start of a path that leads to a tactical RPG, something I have wanted to make for a long time.
One final lesson, I would like to share. I really need to begin work on these earlier in the month. I waste a lot of time in the first 2-3 weeks and it cuts into the time I could be using to make these changes I always write about. Had I started work on this a week or two before I did, It could be a full multiplayer board game right now. That would be awesome. However, now that I have this prototype together, that could still happen and it will be great.
Board Game Quest, OneGameAMonth
These updates were not too extremely necessary, but I felt like I should make them at some point. And the last few days have been that “some point”. So here is the rundown on Dragon Canyon‘s updates.
These were some updates that I wanted to put into the game since I created it. I didn’t think the game was right when it was first released and wanted to make a few changes.
The first one was just the size of the game window. It was way too wide. I needed to scale that back considerably. The game play just didn’t lend itself to such a wide area. If the game were to be released as a four player game, I could easily see a much wider game area to be a necessity.
The next update was a simple high score mechanism. The game now tracks your personal best score, in the current play session. If you refresh the browser window or close it, your score will be lost. But it will at least let you challenge yourself a bit better.
The final update is one that it badly needed, pixel perfect collision detection. The game originally just used hit boxes based on the size of the sprite. This led to a lot of transparent pixels overlapping transparent pixels causing a collision. This led to a lot of awful deaths and some seriously crazy shots. So now, the actual opaque portions have to overlap to count as a hit. Much better.
If I were to make this into a full fledged game, I would certainly add more. I would like it to be multiplayer. That would require more monsters and a larger play area. I also need scrolling backgrounds. Multiple levels with their own monsters and backgrounds. A greater variety of monsters with a greater variety of attack patterns would be awesome. This would also include monsters that shoot back. Boss monsters would add another bit of flair. Controller support would be great as playing multiplayer on a single keyboard just doesn’t work right. I would also add health and special attacks. This would make the game more interesting a varied. Of course I would also add animations, sound effects and music to the list too.
Come to think of it, this is pretty far from a “complete” game.
Dragon Canyon, OneGameAMonth
So Graveyard Defense has been online for only a day and it has already been exploited to build up a massive high score. Not that we are really tracking these scores. But that is not the point.
I let my daughter Deana play the game and she quickly found a way to exploit the game mechanics to beat my best score of 120 or so points. It isn’t a big deal, only a weakness in the way the game was designed. But it is still there.
As you may recall, the game is played by using the arrow keys to attack monsters as they come out of the graves. Eventually, the monsters come out so quickly and attack faster and you become overwhelmed and are defeated. The exploit lies in that basic interaction between the arrow keys and the monsters.
Because there is no penalty, other than a wasted attack, to hitting a wrong arrow, players can simply spam the arrow keys to rack up a high score. That is exactly what my daughter did. She used four fingers to mash the arrow keys repeatedly. So she was effectively attacking all four directions at once. At least for a while. She was still overwhelmed and she lost. But that isn’t the point. The fact is, the game has a weakness.
This isn’t really a big deal for a game made in under two days. It does show that extensive testing of a design concept is necessary for a successful game.
I don’t have any plans to fix the game at the moment. But I may revisit it and implement the change in gameplay I mentioned in the previous blog post at some point in the future.
So for now, have fun spamming those arrow keys and rack up the highest scores you can. I wish I had put in place a way to track those scores. It would be fun to watch.
Game Exploits, Graveyard Defense
This is not the game I wanted for February, but it is the game I needed. To steal and butcher a line from Batman. I wanted to do something a bit larger and more political for the month of February but time got away from me and I was not able to complete that game. But I did not give up on my goal of one game a month.
Instead, I made something simpler and just for fun. The game is called Graveyard Defense. The premise is simple. You stand in the center of a closed off graveyard. The undead begin to rise from the graves as you attempt to defend yourself from the wave upon wave of monsters. They keep coming and keep coming faster and faster. Eventually, you find yourself overpowered and you fail.
One of the neatest things about this game is the fact that it has sounds. This is my first game to include sound effects. They aren’t the best sound effects, but it is pretty good for a start. There are a total of five sounds for the game. One when the monster rises from the grave. One when the player kills the monster. One if the player misses. One when the player gets hit by a monster. And the final sound is when the player dies. These sounds were created using the great free tool SFXR.
The game is played using the arrow keys on the keyboard. When a monster rises, you press the arrow that points to the monster. If you hit it, you kill the monster and gain a point. If you miss, the monster is there waiting for its time to attack.
If you wait for too long to attack, the monster will attack you and you will lose a hit point. If you lose them all, you will die. Did I mention that the monsters attack faster and faster as teh game progresses? At that point, you have an opportunity to try again.
The graphics were mostly made by Willis. I made the animations for the paladin based on his forward facing idle pose. I also created the gravestones, the walls and the “pow” image.
The paladin’s attack poses were a bit trick as I am not too skilled at creating action poses. They could certainly be refined and if I decide to expand on this game idea, I will certainly ask Willis to redo them. I would also like to add animations for the monsters, but that would not have been possible in the time frame I had.
One potential update I could make to the game is to make it more like the game “Simon”. Right now, the monsters just pop out at random and you attack them. In this update, the game would build up a pattern of monsters that you would have to attack as they come. If you mess up, then you would lose a hit point. Fail too many times and you lose. This wouldn’t be too difficult of an update to make, but not something I felt like I could get right before the end of the month.
I created the game from start to finish in about 8-10 hours. That includes creating the various graphics, sounds and the coding. Not bad for something that is this fun. I will certainly try to get a bigger game out soon.
Graveyard Defense, OneGameAMonth
I have finally gotten back into my groove with Demon’s Hex. This is after a long while where I decided to take a quick breather and try out some other stuff. Unfortunately, I did not manage to get a game up and running on the Ouya like I had hoped. Many of the snags I hit there had a lot to do with my knowledge of HaxeFlixel. Not that it was anything bad about the technology, it is just that I have not quite figured it out enough to get where I need to be.
So I have taken up Demon’s Hex again and boy did I run into a wall. HaxeFlixel released its version 3 during this brief respite. And with that update came a whole lot of changes to some of the core functionality of Demon’s Hex. There were three big changes that tripped up Demon’s Hex.
The first was with the way to embed a custom font. Demon’s Hex uses a font called Solemnity which gives it that nice look. But with the new update, the ability to add a custom font was removed on accident. Thankfully the fine folks working on HaxeFlixel were able to quickly add that functionality back, although in a very different fashion. I still need to make some tweaks to the display of text as now everything is offset from where it needs to be.
The second problem was with animation. Previously, I was using a function called goToAndStop to run an animation to a specific frame and end the animation. However, the new version of HaxeFlixel uses a very different way of animating sprites and goToAndStop was decommissioned. I had to figure out a custom solution that duplicated the behavior. This is working as needed now.
The final problem was with the glow effect around the tokens when placed on the board. This one was the most difficult to figure out after the change. This was a highly different process from before. It required some extensive rewriting and experimentation to get functioning correctly. I spent many hours working on it. I just finished this up this morning and I am happy with the result.
Overall, I like the changes that were made to HaxeFlixel. The new organization of the class files should make developing games with the technology far easier in the future. I had just not been keeping up with the development of it like I should have been. Had I actually been watching these updates, I probably would have been able to anticipate and account for these changes earlier.
I am now moving one to working on the actual story mode of the game. I think for now the battle portion works as a very close approximation of the final game. So it is time to give other parts of the game the love they deserve.
Continuing with my experiments in Flixel and the Flixel Power Tools, I have put together Dragon Fire. It is simple shooter game. You play as a dragon protecting your nest from invading monsters. Don’t read too much into it. The game was just to help me play with a few more features of the Flixel Power Tools.
I am really enjoying this time exploring these great Actionscript libraries. The people who developed them are really talented and I hope to be able to provide similar tools for aspiring programmers in the future.
One thing I would like to mention about this game is the importance of balance. During development I spent a fair amount of time playing around with the number of fireballs, the time between firing, the number of enemies, and the speed of the enemies. Each of those played a key part in the overall balance of the game. Set one too lenient and the over all game was way too easy or set one to restrictive and the game was too hard.
For example, as I was working on the game, I had only a single enemy coming at any given time. No matter how few fireballs I allowed and how long between firing them, the game was way to easy. I couldn’t make a fun and challenging game with just one enemy at a time. So I added two and the whole game changed. Now it actually mattered how many fireballs I allowed. Now the rate of fire mattered.
I can only imagine the work that a much larger and more in depth game would require to properly balance it. As I look around at the vast number of shooters with their varying types of enemies, enemy behaviors, player power ups, life meters etc, I stand in awe at the time it takes to properly balance such a game. Even them, you could completely throw off the game by making one too powerful attack or one too powerful enemy.
That is just the beginning. Think of the tremendous balancing work that goes into an RPG like Final Fantasy or Torchlight. Or a card game like Magic: The Gathering or Pokemon. These games have far more intersecting elements that require a fine tooth comb when balancing. For example, Magic once had a card called the Black Lotus that made the game super easy for players of Black decks. The card had zero cost to play and could be tapped for three mana. This allowed the player of such a card to completely dominate the game early if he got it in play in the first hand or two. That was just one card out of thousands.
Anyway. I hope you enjoy this small game and the discussion i have found in making it.