I started creating the game engine several hours ago, here’s the first in-game shot:

This shows a foreground non-scrolling scorebar, a scrolling background, and a single sprite.

I’m amazed at how easy PVSnesLib has been to use. I’m so used to having to write everything.

The next step is to organize the code and start working on game play; the enemies are after that.

Being that it’s been 9 years since my first Ludum Dare (this is my third), I figured I would compare the experiences.

Social experiences are big on the internet, but it still has a ways to go. The first Ludum Dare, I used Rhapsody as a music service. For this Ludum Dare, I have Spotify. I tried out the Ludum Dare Sound Drop music list. It’s interesting, but listening to a shared music list with a bunch of strangers isn’t the ‘killer app’ of social.

The first Ludum Dare, I used IRC to communication with the group. I got into IRC more during my second Ludum Dare. It’s pretty much the same for this one, except twitter provides short summaries of what’s going on.

Coding wise, I was using Visual Studio 6 and DirectDraw for my first one, and for this one I’m using a C compiler for the SNES. If I was targeting Windows, I would most likely use SDL and Hekkus Sound System with Visual Studio 2010. The available platforms has greatly increased, and many of the platforms are more accessible. Cross platform tools have also exploded. Tools like HaXE/NME, AGK, and Unity allow a single program to be deployed across various platforms with almost no concern for the platform being targeted. Anyone wanting to develop a game only has to invest a little time into learning the tools.

Graphically, I’m still using Photoshop 6. I’ve gained a few additional tools, and developed support tools for a few of the tools that I used to have. My selection of tools would be different if I wasn’t targeting the graphically limited SNES.

I decided to attempt Ludum Dare this time around; it’s been 8.5 to 9 years since I did the last one. I’m working on a game for the SNES using PVSnesLib. The theme is evolution. I chose to base my games on the evolution of a BLT sandwich; and develop a vertical scrolling shooter where you attempt to evolve from bacon strips to a full BLT sandwich utilizing power ups.

I’ve got a decent start on some tiles and the main character sprite (Scaled 2x):

I am currently in the process of porting my Worm Warrior game to the Didj:

Worm Warrior screenshot

Worm Warrior for the Game Gadget

Once it’s finished it will run on an unmodified Didj.

I had to change from SDL 1.2 to an early version of SDL 1.3 to get it to start up on the Didj. It was probably linking to a missing SDL library on the Didj, I still have to fix the input and hook up the Hekkus Sound System (HSS). I developed a SDL 1.2 backend for HSS, which I hope will work with 1.3, and that the Didj SDL_Audio is hooked up.

Developing on an unmodified Didj is a bit of a challenge, since there is no serial port to display debug messages. I got around that by creating a log file at /Didj/Data. The log file will survive a reboot; which the Didj does when exiting a program.

Here’s a little code dump from my logging routine:

bool	g_bCreated;
void logString(const char* _szFormat, ...)
    va_list sArgs;
    char szString[256];
    va_start(sArgs, _szFormat);
    vsprintf(szString, _szFormat, sArgs);
    FILE* pHandle = NULL;
    if (false == g_bCreated)
        g_bCreated = true;
        pHandle = fopen("/Didj/Data/Log.txt", "w");
        pHandle = fopen("/Didj/Data/Log.txt", "a");
    if (pHandle != NULL)
        fprintf(pHandle, "%s\n", szString);

Welcome to the RasterSoft Retro Ramblings Blog. This will contain an insight into the RasterSoft game creation process and interesting tidbits discovered along the way. RasterSoft intends to release games for retro game systems, retro and current phone, tablets, and PDAs, and many operating systems.