DinoMage on Twitter RSS Feed

goodio has been updated to v1.1!  I added a FileReader class that makes all your problems with ifstream go away (output will come eventually), as well as ioExplode() for help with parsing certain things, and little improvements like changing things such as ioStripDir to ioStripToDir (to make what it does clearer).  I also found a way to get the program’s executable path in Linux, so I’ve replaced the ugly argv stuff with that and the equivalent code for Windows.  So now you can use ioGetProgramPath() with ioSetCWD() to make sure that your relative file names work even if your program is called from a weird place (like /usr/bin).  Comments?  Suggestions?  Let me know!

With Knight of the Cave Dragon, I finally added sound to a Ludum Dare game.  I was really surprised by how easy it was, so I’ve polished the library that I used.  Here’s the first official release of MixBox, a C++ library that wraps and extends SDL_mixer.  You can download it from the SDL page and read the quick usage guide to get more details and to get started.

31
Aug

Knight of the Cave Dragon

   Posted by: in Dev, Games

Ludum Dare 15 is over!  That makes another game on this site. In “Knight of the Cave Dragon”, you play Sir Camus, a knight on a quest to slay a dragon.  If that’s not original enough, then consider this:  The dragon lives in a cave!  Anyhow, it has some fun elements having to do with light and darkness.  No full page yet, so you can grab the LD version as linked from the LD page, or get the latest version here.

When I was writing Frank the Dinosaur, I ran into a question:  How should I handle game events?  Of course, since I was on a bit of a time crunch, I just did it the naive way.  I checked each condition once every frame.  I knew this was a bad way, since some events were time-based and hence would not be triggered out of order.  Yesterday, I wrote up the first bit of a library that will deal with this problem.  JEL Event Library holds both time-based and action-based events.  The action events are stored for quick access in a vector.  The time events are stored in a sorted tree.  In this way, many time conditions can be skipped altogether, meaning fewer checks and a more efficient system.  Borrowing from the GRO_gui codebase, JEL events trigger Signals, which are typesafe wrappers for function pointers (i.e. events call the functions you give them).  With Ludum Dare 15 starting this coming weekend, I’ve uploaded the initial implementation here.  There are pieces missing, but the basic functionality is there.  Future plans include a conditional system that automatically checks variables that you provide and triggers events as their conditions are met.

StickyInput is a C++ library that makes it very easy to put joystick support into your games.

21
Apr

Slugs v Salt

   Posted by: in Dev, Games

Hey, another Ludum Dare over the weekend.  The theme was Advancing Wall of Doom…  48 hours and here’s my game (Slugs v Salt).

I’m happy with what I accomplished. It is a fine start to what could be a very good game in the future.

I just wrote a little C++ wrapper for some standard (and some pseudo-standard) C IO libraries.  goodio lets you do simple things without having to touch those ugly C functions like stat() and his friends.  You can check if a file exists, check if something
is a file or a directory, easily append/prepend text to files, change/check file permissions, create and delete files and directories, copy and rename files, and even get a list of all the files in a directory.  Let me know if you like it!

9
Mar

code.bluedinosaurs.com

   Posted by: in Dev

Welcome to the new domain for this site!  The name suggests a new theme, so you can expect that and some new content in the next couple of weeks!

Edit: Ha ha, more like TWO YEARS!  Um… bad joke.  Not totally my fault…

I participated in the Mini Ludum Dare (#7) competition over the weekend.  The theme was Cryptozoology.  Check out my game (Frank the Dinosaur)!  It’s a great demonstration of both Sprig and NFont hard at work!

6
Feb

SPriG on Google Code

   Posted by: in Dev, Libraries

I’ve started a project for Sprig to make it easier for anyone to contribute.

<link>