Ludum Dare 38- Hives Postmortem

So, with the compo entry complete last night and a few hours of sleep behind me. Now’s probably a good time to look at what is feel went well and not-so-well with the game during it’s short development cycle.

ld38-gameplay-1So, what went well?

Firstly I was happy with the theme of “a small world” I had an idea ready pretty quickly so could get stuck into the development of the game and it’s assets quite smoothly, despite the challenges associated with development on the classic gameboy (CPU, RAM, deciding whether to build with ROM banking in mind or not, etc.)

My homemade tools worked well (fairly well anyway).

Despite a couple of hiccups at the start with tile mapping (I had to fall back to manually doing this on a tile by tile basis) importing the graphics worked pretty reliably.

There is a FULL game loop, with side-fluff!

I (probably foolishly) worked on the non-gameplay parts for the first part of the game jam. Resulting in a fairly nice menu system with not much gameplay present, just basic player movement.

Despite my focus on different areas of the game initially, the resulting game (whilst simple and rather short) I feel is pretty nice. Not anything out there but challenging enough with multiple enemy types being added as you progress.

I accepted that the main game was pretty much done come the 2nd evening and spent most of the remaining 6 or so hours on adding more fluff including:

A proper high score table (with initials)

Fixing the levels on the SFX, adding more SFX and explosions when needed.

Adding fading transitions between the screens where appropriate

And, just becuase I was feeling particularly crazy ( and most older console games have this) a Demo mode.

The Demo player isn’t the cleverest as the fake joypad input is largely randomized, but with a little bit of logic to feel more authentic. It appears if you leave the title screen alone for 10 seconds and will play itself until you either press start or the beehives reach below a certain level of hit points.

Coding went well, the initial scope of the game was fairly small so it didn’t shrink that much compared to the original idea.


What Went Wrong.

Whilst I’m happy that the game is fairly complete, it is missing some elements which I’d like to add at some point in the future, including background music, power ups and more obvious gameplay progression as your score increases. (I mean, there’s more enemies and more types later on but it feels more Atari 2600 than it does Gameboy in parts)

The game length is okay for a game jam game but the action isn’t as exciting as it was in other gameboy games (which admittedly, I’ve spent more time on) such as, Infinitron or Formula Racing. I could fix this later with other elements being added, such as roughly targetted enemy shots and perhaps a boss-style enemy, ROM space permitting.


All in All

I’m fairly happy with the game made considering the time available. It fits the theme, is pretty much as complete as I could make this time around but I really, really need to learn or make a music tool that works well for me!

Just so I can implement the tracks in my ROMs with ease and not eat up much CPU (or ROM space) at the same time, expect bit-by-bit optimisation I guess!

Here’s to the next game jam ( and possibly some more tools to develop in the meanwhile)

Also, play the gameboy game yourself! Clicky Here!

Ludum Dare 38 Entry – Hives

Right, the Ludum Dare website seems to be in a bit of a usability pickle for me so I’ve uploaded the source code and Gameboy ROM here just in-case things have gone wrong somewhere, also, Pictures!

Brief Overview of the game also:

In Hives you take on the role of a bee who has been tasked to defend 3 hives in this side scrolling shooter.

Defend you hives from predators including wasps, bees and spiders, intent on destroy your hives with every contact they make.

Take them down with your Atomic Stinger fast to prevent further damage and repair hives with your personal shield.

Run into an enemy? No worries, another drone will soon be dispatched.

Record your progress on the high score board and hey, if you’re too shattered after Ludum Dare to even play the game, wait 10 seconds on the title screen for a quick demo.

ld38-title-1

ld38-gameplay-2 HIVEShIGHsCORESld38-gameplay-1

Cartridges! Coming Soon-ishly!

Yes! I’ve finally found some lovely people from 8-bit Evolution to team up with who publish retro games! They’ve taken a liking to a few of my games in-progress so far and now they really need to be brought home over the finish line.

This is one of those geeky dreams of mine that I had since being on the playground in the 90’s, to have a game of mine on a Nintendo console, on an actual cartridge, complete with box and instruction booklet, the whole shebang!

So, I really need to tighten up some code on Formula Racing to make it as optimal as I can (again) in GBDK, get the password system in-place, sort out that difficulty curve, add some endings, some sorta music and that game will be done and ready for perusal. Also, I need to make some awesome box art like I made for They Are Everywhere 😉

gameboypaknmgb-fixed

It’ll be one of my game developer “awesome things to accomplish” things marked off the list and I never was sure which way to achieve it so I’m very grateful for 8-bit Evolution to reach out to me on this one.

And there I was considering some Sega Master System development instead. Well, maybe again in the future eh 😉

Gearing up for 2 Players!

Gameboy Development has been really good fun over the last 14 months and in total I’ve made over 10 games which are all playable in one state or another, which is nice!

I’ve played with some gameboy colour stuff and feel like I have a good handle on MBC1 style bank switching. Audio is coming nicely along the way and will keep on evolving over the coming months until I’m happy with both editor, exporter and GBDK implmentation.

But, one of the things that was in a lot of gameboy games was the ability to link up to another system, allowing for two player games. Normally in a versus mode scenario.

I WANT TO DO THAT!

And I want other people to be able to to do that also!

So, there are decidated functions and variables inside GBDK for handling such functionality allowing for not just link cable but other accessories to be attached, such as the gameboy camera and printer! I’ll look into those at a later date but for the moment, the next goal is to make a 2 player game!

Space Splosions and More Gameboy Tools on the way!

Yay! Space Splosionator 2086 was completed last Wednesday for the Workshop Wednesday challenge over at the lovely socoder forums and whilst it didn’t get as much time as I’d hoped to spend on it, plays pretty well, albeit in a tough as nails way.

The theme for the Jam was Hashtag so the game takes place in side a hashtag…in SPAAACCCEEE!
Space Splosionator 2086 spacesplosionatortitle
I know, awesome right? XD

What’s there in the game worked really well, there’s a starfield, lasers, targetting reticule and enemies that zoom into the screen and attack you, all complete with screen shaking effects!

It does essentially boil down to whack-a-mole, but it’s good fun for a few minutes 🙂

You can playit online via the gamejolt emulator orr, for a much better experience, use the BGB emulator and download the ROM instead!

http://gamejolt.com/games/space-splosionator-2086/186987

 

In other news I’ve made myself a tool to convert 8bit 8000Hz audio into 4bit 8000Hz audio for including wave sounds into gameboy games via sound channel 3.

I’ve shyed away from this channel before as I didn’t really get how it worked but now I’m playing with wave forms including triangle and sine waves to get more sound variety out from the gameboy!

I’d love to see if it’s possible to stream a low frequency sound whilst a game is playing. It’d be really low in quality (60Hz) but could be suitable for some applications, probably not vocals though. We’ll see!

More News on Formula Racing and other Gameboy Development stuff

Right, a few more changes have been going on under the hood of Formula Racing, including an overhaul of the A.I. which was a lot more predictable than in the current version, the A.I. can now branch into different paths depending on the track layout and is a lot less likely to crash into things as a result. So you really need to plan your overtakes now!

This has called for a redesign of some of the older tracks to handle this variant of the A.I. which has turned out to be a great blessing, with a lot of optimisation in the code now present to reduce CPU usage I’ve also weeded out some unneccessary lines of code and removed the speed overflow bugs that were present.

These bugs caused boost pads to stop the car and crashes to occsionally accelerate the car instantly to it’s top speed!

While this is all good, it’s resulted in the game becoming much tougher than before, unpredictable A.I. really puts things into a twist.

There have been some graphical changes to each course group also, billboards, trees and other elements being locked to each group help to give each track a slightly different feel, which is pretty nice!

The password system is almost there for Grand Prix mode and I’m working on a custom sound editor in the background just for the hell of it.

GBDK and sound can be a pain in the arse, there’s lots of ASM based solutions but GBDK could do with something, however basic it comes out initially. Unobfuscating the process could result in more games with soundtracks in, which would be nice!

There’s a couple of little A.I. bugs to sort out still but they should fit in nicely with the ~500byes remaining. I’m hoping to add a car explosion effect also in the remaining space!

Oh my gosh. it’s 1am, time to sleep, will post again soon!

Coding A Gameboy Game – In An Hour?!

UnSeen Gamescreen Just another Saturday night and I noticed the one hour game jam was on in a minute or two. So, time to roll up those coding sleeves and bosh out a game based on the theme “Stealth”

One hour really isn’t much time to make a game in so I had to use some fairly ugly hacks to get the game working, it’s a simple affair, guide the shadowy character to the “WIN!” text and you win. that’s it. Whilst security beams are switched on and off, with animation, audio cues and walking sound effects. The only collision routine used is that with the background layer. There’s so little time to get anything working that my collision routine is a little iffy, resulting in sliding along walls.

onehouroneNevertheless, I’m glad I managed to make something “slightly” more substantial than my previous one hour game jam attempt under the theme “Everything is dangerous” again, simple enough, avoid the spikes, walls, etc. Just under an hour.

Even though these games aren’t much, it’s nice to try an intense burst of game coding every now ‘n’ then!

Download Links for the ROMs below:

ION – A gameboy action puzzle game in GBDK in development

Despite not having many hour last weekend for Ludum Dare, I started to put together the pieces for another lil Gameboy Game called ION. Where you take the role of a charged particle that needs to attain certain levels of charge to proceed to further levels and boost the players score.

It’s a fairly simple game in essence and uses ice physics for motion control with state-based A.I. charges that vary between seeking and fleeing routines to keep the player on their toes.

Here’s a quick 20 second video with some of the game in action.

There’s still a way to go, but I’m planning on adding obstacles, slow and charge wells to help mix the gameplay up.

Gameboy GBDK Tutorial ROM Code!

Yes, it’s finally here, with comments and everything! Below is the code for the C file and I’ve included all the files with a readme.txt file for your perusal here. I hope this helps you to get started on your gameboy development journeys!

gbdkdemo .zip file, 6kb

 

 

The doubts of homebrew development

I really love Gameboy development. It’s been the only game platform I’ve made things for since November 2015. But there’s that niggling part in me that reminds me occasionally that I could be working on finishing a more commercial game off when I’m coding up something very niche indeed.

There were different niggles going on with me when regarding indie development though. Mainly focusing around hopes that this game would appeal to people enough to purchase it or play a free version which could generate some revenue in another way. Kinda like a really long approach to purchasing a lottery ticket, particularly with the mobile market nowadays it would appear.

That’s not to say I’m not going to make another game with intentions of selling it though, but despite the differing niggles with Gameboy homebrew. I think I prefer them to the ones which seem more saturated than ever before.

Maybe that’s partly due to the different challenges involved between languages / IDEs. Unity is great fun to play around with and you can easily do a lot with it quickly. You’re a lot more limited with the Gameboy in every which way but those limitations, much like the time limitations in game jams, tend to make me produce something I wouldn’t otherwise.

I dunno. I kinda like it here in Gameboy Development land, just not to the exclusion of modern game dev. At least, not yet.