Category Archives: GameDev

GrayVity – A (Challenging) Platformer

Making a platformer was my first goal after joining #onegameamonth and coming up with ideas. “Another Platformer?” you ask. Well yeah, of course there are a lot of them around, but I wanted to learn more about the genre that influenced almost a decade of game releases. I also believe that the simplicity of the controls and the resulting ease of access makes the genre perfect for a short amount of fast and simple fun.

My aim was to make a rather polished game, so I wanted to make two simple games first in order to have the rest of the time until the deadline for my platformer project. I succeeded with this initial goal and created Undead Stones and Crash Racer in Java and haXe NME respectively. These games  turned out OK in my opinion. I had some negligible struggle with both of them mostly because I was getting used to the language/framework.
Despite the minor problems I expect having while getting used to a new language/framework and the first approach probably being subpar I wanted to learn something new for this platformer. I enjoyed working with haXe a lot so I decided to play around with a framework that seems to be very popular for flash games: FlashPunk. In my case more precisely: HaxePunk.

Initially I was reluctant to use HaxePunk. You know: I like doing things myself and want to be as little limited/dependent by the work of others as possible. I tried it nevertheless, implemented a simple platformer “prototype” and it was two things for me: Fun and Simple. I really appreciate the aspect that somebody else already did a lot of work for me and it was a delight to concentrate more on the actual game than the code around it. I decided to stick with HaxePunk for this game and it’s coming along nicely, I feel confident that this new game will be “my best/most fun game yet”, but It will be challenging as well, so brush up your jumping skills 😀

CrashRacer – Progress & ToDo list

I’ve been working on CrashRacer the last couple of days. I added a few features and some content with every commit, and slowly the game advances to its final form. I’ve been taking development easy (hey, I still have february 😉 ), but these small steps brought me pretty far and close to completion. I aimed to make smaller games (UndeadStones and CrashRacer) the first few month to have more time for games I want to make, but are outside of my prior experience and comfort zone. But I’m gonna leave this to the future.

My ToDo list for CrashRacer:

– rudimentary menu
– graphics for background and walls
– balancing (!)
– add wave information to HUD
– some kind of game over screen

All in all I am very happy with this project. I learned how to use haXe (I’m certain there’s a lot of room for improvement) and was able to implement most of my ideas. The next question will be: “Is this game any fun?!, but I will leave the answer to the players.

Update :
– rudimentary menu: code CHECK, still need graphics
– add wave information to HUD — CHECK
-added gameOver screen and restart option
-TextFields use a custome font
– fixed some minor bugs

Indirect Competitive Games

I grew up with a N64, so besides the standard singleplayer blockbusters (Ocarina of Time, Majora’s Mask, Mario64) and some minor, but also enjoyable games(BLUB), there were 2 multiplayer games that really stood out for me. Of course the first would be Mario Kart 64. I played this game a lot, especially with my family. It’s the kind of game that appeals to almost every person, gamer or not. The problem for my family was, that I would win almost every round, I would somehow manage to win even if against the odds, but hey: I was the one with training 😀

The other game was Super Smash Bros. Opposed to the racer mentioned above my family did not really enjoy this game, but my friends did for sure! The game just had every character or item we loved from other games, and our heroes could fight each other? That had to be awesome! Unfortunately the game was not my own and I could only borrow it for short amounts of time. The time it was in my possesion was filled with many, many afternoons batteling my friends.
So a few years later I picked up a gamecube and no I did not get Luigi’s Mansion as my first game, but: Super Smash Bros Melee. And we played it like madmen, we trained, we battled against each other for hours and hours, we played many 99 lives matches, and overall we had very balanced skill. It was the game we could play anytime, in any condition.

Later on, at the time a wii found the way to our home, Super Smash Brothers Brawl took over it’s ancestors legacy.

Both of these games have some sort of direct competition. The outcome was not only relative to the skill and mindset of the participants that faced each other at a specific time (and of course also luck), but as well es recognizing each others strategy and adapting the play styles that were most suited. And it was awesome!

Things have changed in the last few years: there are a lot of reason why I cannot meet up with friends as often as in school years. Online gaming is also often a problem, because everyone has to be available at the exact same time, which happens not as often as everyone would like it to. Another aspect is that if you are not in the same room as your friends, you cannot shout/curse at each other; a huge factor why I enjoy mutliplayer games so much.
If I meet with friends, it’s also easier to just play a coop game (they are awesome as well), because skill differences do not matter as much and everyone is able to spend some fun hours. Trine/Trine2 and Dungeon Defenders may be good examples.

Eventually I found an alternative for myself. A great way of having an exciting head-to-head competition, even if not at the same place or even the same time, is playing another kind of game, the kind with highscores. Everyone can play like/when/where he/she chooses, but there is still the aspect of comparision, and integral part of every competition.
This may be the reason why the games I created so far (and also the two featured on this site) have highscores and are kinda arcadey. I want my friends to duel. I want to duel my friends. I want to shout/hear “Maaan, you are THE WORST! It’s harder to beat a baby!” when we meet the next time.
And that simple fact may be the reason why I (among other genres) enjoy arcade games so much.

CrashRacer – Very(!) early Prototype

I started working on (or playing around with) a new game today: CrashRacer.

The game idea came to me after some progress and it seemed like a good first haXe game project. I toyed around a bit and had somthing that resembled a moving car. I decided to use this an build the game on top of this “functionality”. The premise is simple: A car, that cannot slow down (for some reason) drives through a desert and has to avoid various obstacles. It will be a reaction kind of game. Development is not too advanced, but it will get there.

HaXe NME for game development

I never even touched the subject of flash games or AS3. It’s just something about flash I always disliked, it just seemed more “mature” to program desktop applications, maybe also, because flash never seemed professional (at least to me). There are thousands of flashgames, many of them created by hobby gamedevs. Maybe it was just that: flash is used almost exclusively (as far as I know) for videos/games. So is it something one could take serious? “I’m a AS3 coder.” – “Ah, you create these annoying games for schoolkids with no money, ey?”. Or maybe just the prospect that “flash is a dying technology” – a opinion that is well represented in the internet.

I created a few games (most of them I never truly completed) and used Python/PyGame, Java or even HTML5 for them. I also followed each ld48 compo in the last 2 years or so. And while browsing the entries I noticed that there were quite a few games written in haXe. So i checked haXe and it seemed interesting, but I abandoned the notion of trying it, because of its obvious flash/AS roots.
Another obvious thing I realised is that one could reach far more people with games that run in the browser, but I did not yet make the connection: haXe -> flash -> browser ;).

After I completed my first #1GAM game I realised that I could handle Java and other similar (“serious”) OOP languages quite fine, so why limit myself? Why not try that one technology that seems perfect for the medium games in the internet: flash.
Of course I like to learn new stuff, so the #onegameamonth challenge seems like a good chance to do just that. And it prompted me to look into haXe once more. More specifically haXe and nme which seems awesome enough. At first it seemed like pure haXe nme would offer to little to really be used for games, so I looked into Haxe Flixel and HaxePunk (flash game frameworks ported to haXe). They seem fine to create games fast (and I will definitely use HaxePunk for a game at least once), but I don’t like to be limited/dependent by/on certain frameworks.

After exploring pure HaXe NME I realised that it offered more than enough for me to create games, the only one problem I have so far is that I’m really not used to the “flashy” stuff (structure and similarity to AS3 code). How do I handle collision the best? How do I implement character/enemy classes? That’s the stuff I have to figure out now. Judging from what I learned until now I feel that I will really like it, but sure enough it will be some work to get familiar with the language. BUT: If I succeed it will be AWESOME!

First #1GAM entry submitted

So, I completed my first game for the challenge.
I’ll write a full “post-mortem” later on, but for now I will just note some impressions.
(Edit: I think this will suffice as a full “post-mortem” after all)

Development of the game started Wednesday, so about 4 days after I chose to join onegameamonth.
The idea that I used for my game was actually the first one I came up with. When I try to come up with ideas I think of small, realistic ones. I don’t want to start a behemoth of a project I know I cannot complete in the next few months (or more realistically: never). I want to see results and I want to be able to have fun with games as fast as possible.
So I look for small, dense, but complete gameideas, so it’s all about gameplay and an an arcade feeling (Maybe I will release older games later on, but they are very unpolished).

After Christmas I started fooling around with Slick2D, I “stole” a Link sprite and gave him animation/movement. I already had onegameamonth bookmarked, but I wasn’t too sure if I could handle it. I’m not (yet) too good with graphics and frankly do not want to use too much time for them. But stealing sprites from other games was also not possible, so my enthusiasm was not the greatest.

Suddenly, in the last days of 2012 I came across a post on reddit, which referenced a site called I was psyched! There it was, a resource I could get graphics from and legally(!!!) use them in my games!? Awesome!

So I started development on Wednesday evening. I didn’t accomplish too much, it took way more time than I’d imagined to just get the sprites in the game. So I stopped until the next day. My motivation wasn’t the greatest on Thursday either and I had stuff to do anyway, so I didn’t really do anything.

The next day, Friday, I started coding and …I… was…. hooked! Programming was smooth, I started out slow, but I got “better and better”, just a few bugs, but I could get rid of them in less than 30 mins each. (A whole day concentrating 100% on working on a game, how awesome is that?) And by the time evening came, I wanted to stop, I realised that I managed to do more than I had hoped to, but I couldn’t just quit. So I continued, and suddenly it became very clear: I’m almost finished?! I was perplexed, because, although everything, every small feature seemed to take forever to implement I was almost done. It was similar to my programming learning experience, I just thought “maaaan, when will I be able to code” so often, I overlooked the fact that I could already code.
So in the evening I chose to use the tileset, featured for january #1GAM and I was surprised how easy it was to put it into the game!

The next day, I polished the game a little, implemented a score and health system, but nothing huge. I saw that the code got messier and messier the previous day, but I did (and still do) not care. Sure everyone can look at it and critisize, but hey: The game works! It’s my first complete Java/Slick2D game so I do not care what others may say about the code, but I sure know that I learned a lot for future games. And that is what I want to do: learn as much as possible. Atleast for this month, I succeeded in this epic quest.
All that’s left to say: Thank You @McFunkyPants for #onegameamonth!

The Core Gameplay was almost finished