Work follows me home
Again, I'm having trouble dedicating the time I need for game development. So much for making resolutions. I come home earlier now, but work just manages to follow me home (damn VPN!).
Anyways, I have the basic design and gameplay down in scribbled notes. I'll put them together and post it up here later this week.
There is Help
I searched for resources on shoot'em up related development, and as I expected I found a dedicated community at http://www.shmup-dev.net. What is interesting is that they're holding a competition for doing exactly what I'm trying to do now -- a one level side scroller demo with a boss. This is good because this means there will be a number of other developers trying the same thing. I'll probably get a lot of help here.
The competition ends in 15 days, so I will likely not enter. But I am considering using Blender Publisher or GameMaker to prototype the gameplay. So it is a possibility. I just need the time. *sigh*
The Tools
I want to make this a 2D game with pseudo 3D effects. I'd like it to support animated sprites, 3 scrolling layers and pixel-accurate collision detection. The one thing I want most however is absolutely smooth scrolling, without flicker, tearing or stuttering.
While I haven't begun development on the actual project, I have been trying out the toolkits I want to try for this project:
OpenGL Quads
My work is all centred around OpenGL so why not use it? Just map sprites and backgrounds to GL_QUADS and take advantage of the underlying hardware. Plus I get hardware scaling, rotation and filtering for free.
I'll only use OpenGL if the current 2D APIs can't achieve the speed and flawless smooth scrolling I want.
Allegro
Its still around! Long ago, when I picked up game development the first time, DJGPP and Allegro was there. Its so nice to know that Allegro continues to provide a fast toolkit for making games.
The toolkit itself is great for games, but I'm not sure about AllegroGL. I tried Allegro with AllegroGL, but it doesn't compile without some help and it didn't run properly on my system. It hasn't been maintained since 2004 it seems.
Maybe Allegro is good enough by itself, without OpenGL. If it is, then I'll use this library exclusively.
SDL + OpenGL
Most popular for sure and I have used it before, but I'm not convinced of its 2D capabilities. It seems to be used mainly as a host for OpenGL, providing only input and sound. Once you use OpenGL you can't use SDL drawing routines. But SDL's OpenGL integration seems better supported than Allegro's.
GLFW + OpenGL + BASS/FMOD/OpenAL
I like GLFW. Its light and easier to setup for OpenGL than SDL. Its API flows well with OpenGL's API. If I find that 2D graphics using OpenGL is the only way to go, then I'll probably use GLFW. Since there isn't a built-in support for any sound system. BASS and FMOD are great sound systems from what I've heard. OpenAL's API would go well with GLFW and OpenGL, but I may have to add libOGG to the list for music.
Haaf's Game Engine + BASS
This could be an interesting choice. Haaf's game engine is a 2D game engine, accelerated by Direct 3D. HGE seems to provide exactly what I want for my game. HGE has built-in support for BASS, so I might as well use BASS for sound/music. HGE recently went LGPL.
This week
This week, I'll put together some gamedesign, or a basic blueprint for the game. Then I'll proceed to prototype the game in Blender or Gamemaker.