The year of the dragon

by Niels Brouwers 30. January 2012 06:36

'The year of the dragon'. Say that out loud a couple of times, it just sounds like a great (sub)title for a game or movie or something like that! I like dragons, never met one though, but I like them. Unfortunately I am a tiger according to chinese astrology and the tiger and the dragon....well...they don't seem to get along very well. I don't know if or how this will influence my plans for releasing the Carter Jones adventures this year, but I really want to get the game out there so I am putting quite a lot of effort into it!

In my next post I will get into some animation updates I have been doing / will be doing over the couple of days. Should be fun, animating anything is usually a lot of work: for each movement of a baddy in the game all the individual frames need to be drawn and although I try to cut corners here and there (using procedural animation / rendering stuff in 3D) it usually works out best if I drawn the core animations by hand.

I did make good progress last weeks. I refactored the entire background collission code which is now pretty much generalised and working great, to prove it worked I used the routines on the critter baddy and so refactored that code as well. In the process I managed to stumble upon a rare bug and fixed that as well.

 

Happy chinese new year!

Rewriting code: tile-player collision code

by Niels Brouwers 16. January 2012 04:19

A lot of time on the Carter Jones Adventures game is spent on rewriting pieces of code. Visually you probably wouldn't notice any difference if I would show the game before or after a rewrite but in terms of performance, memory leaks, bugs and maintenance of the code there can be a huge difference.

The Carter Jones Adventures is a full-directional sidescrolling game, this means that the player can roam around freely depending on how I layout the level and where I place the platforms. I do the laying out of the levels in my custom level-editor (there are some screenshots of that in previous posts). A level is built up out of graphics that are packed together in one or more large images, by copying tiles out of the larger image into the level, a level is constructed.

Tiles are 32x32 pixels in my game. And previously I defined a heightvalue ranging from 0 to 32 for each tile. This allowed for having a unique height value for each position. Height locations between adjacent tiles were extrapolated. This system of 32 different heights and extrapolating the heights between tiles was causing some problems: occasionally the player could jump 'between' tiles and get stuck on a platform for example.

So, today I set out to rewrite that code. The new approach would define a 'rectangle' of outer tiles that represent the player. These tiles are investigated, they can be either solid or fallthrough and the new algorithm detects where the solid tiles are (if any). Depending on the current state (e.g. walking to the right) and the measured rectangle (e.g. solid tiles under the player, fallthrough on the right,top and left) I can now determine the possible actions such as moving to the right. I can now use this algorithm everywhere in each object class, not just the player's (using exactly the same algorithm from several states is one of the basics of programming - which I did not obey: due to the explorative nature of the code I copied it over instead of generalizing). Anyway, the occasional errors are now gone, the code is much cleaner and therefore much easier to read and I will use this code in all future objects thus preventing myself of creating new errors. All in all it was a sunday morning well spent!

 

Visually representing the rectangle of tiles around the player helped a lot with developing this piece of code. The FPS and milliseconds of time spent in drawing (D) and game-loop updates (U) are always displayed since Dream Build Play 2011 happened.

The ways we work

by Niels Brouwers 11. December 2011 00:00

The way I work is like this: I get an idea, start drawing, make screenshots and when it looks nice and I am starting to wonder how it would look and feel when it is moving/animating, only then I start programming. Also, I tend to switch to coding when I am unable to draw something (lack of inspiration / artists block), I am always able to write some decent code - it's second nature, my first talent or whatever you want to call it.  

Sometimes however, I run into troubles with my code that I did not expect. In that case, learning how others solved these problems, revisiting and rethinking my concepts are the usual approach. Occasionally I post a question on a forum and when I get answer I used to take that serious. Not anymore, I have learned I should carefully weigh the answers given by anyone. I shall be very cautious when a seemingly uber-guru on the subject gives me some advice. These people look at things differently and may well put you on the wrong track. Trust me, been there, done that!

Anyway, here's one of those ideas that turn into a screenshot of some sorts.  I do not know where it is going but I like the looks of this (yeah I know it's just rocks with my previous drawing copied onto it, but you should see this moving...hint.!)!  

 

Tags:

Drawings | Games

New level in progress

by Niels Brouwers 17. October 2011 03:15

Hopefully you didn't notice that I upgraded this website to a newer version of blogengine, it did happen however and actually it was pretty easy. The only thing that didn't work out of the box was the twitter feed, but I fixed that.

I have started on the third level graphics for Carter Jones, I still need to do the entire level 2 graphics but I am expecting those graphics to be a little easier to draw (level 2 takes place inside ...err... something - it's supposed to be a surprise). Level 3 is a real interesting level to draw, it takes Carter through the jungle to the temple where he will find what he was hired to look for. He will also find a lot more, here's a quick concept sketch I did today which will also satisfy all the halloween enthousiasts out there:

 

Excuse me sir, where can I find the toilet? Oh, right there huh? Thanks!

Ofcourse, when trying to post this entry I stumbled upon a blogengine.net error... fixed it, but it did catch me by surprise!

The value of good Level Design and the Tools for it

by Niels Brouwers 18. September 2011 03:36

Because I am enjoying myself so much whilst making Carter Jones, I decided to expand the animation tool with a level editor. This will enable me to quickly move around stuff (the background, but also the baddies etc.) in a level. Previously I was doing all that in the game itself, with a built in level-editor (and I was placing baddies through a manually edited xml file). That was not ideal, now it is just an easy to develop windows forms application so if I need some special function (like the roll that you see on the screenshot) then I can build it really easy.

This tool will grow in functionality and will greatly reducde the time to 'design' the levels. Designing levels is probably the hardest part in a game, if you mess up the design then the player will notice immediately and reject the game because it is no fun (it is probably just annoying or boring or somewhere lacking). So by enabling the design process outside of the game I hope to increase the quality and also the quantity of the levels. Level editing was kind of a chore before, now it is actually fun!

 

Follow me on Twitter

13. February 22:07
RT @MasterBlud: Hey want to help #XBLIG? Well sign this petition! https://t.co/mUeWTMwe RT and pass it along. Be the best Indie Community!

13. February 21:25
@JasonADoucette yup, cool tools indeed. I am a big fan of their comparetool as well!

13. February 21:24
@CreatureBox yay, new book! That's good news, when can I order? :-)

13. February 21:20
@GHarrisonSounds nice! These chiptunes bring back memories from long time ago!

7. February 22:10
I nearly finished removing all artifacts for level 1 today. That means the background gfx are nearing completion! #xblig

www.twitter.com/nielsbrouwers