Preface
I decided to try out making a devblog on a game that me and cdymrtn are working on. It's a basic SNES-style shooter staring a dude with an automatic crossbow. The goal of the project are:
- To test the feasibility of game development in Vala.
- To learn Raylib more in-depth, so I can better work on the Gobject layer
- Create a game with a GTK UI.
- To create a fun game!
I'm hoping that a devblog helps me clear my mind and better focus on the game. Without further ado, here's the devblog.
Humble Beginnings
So far, there is not much to look at. Here's what I got:
Yeah, not much to look at, huh? But the underlying code is pretty interesting in my opinion.
The Game Pak
The heart of the game is a zip archive called a "game pak". Using libarchive it pre-loads all the assets into memory. So far it handles Sprites/Textures, Sounds and Music.
I eventually hope to add a cache functionality where textures are only loaded when needed, and kept in memory for the rest of the game, however it's not a concern for now as the game only uses 60mb (Most of that being the test music track.).
To put it simply, the game pak is the foundation for the whole application.
What's next?
- I'll probably move away from FLAC and towards Vorbis or Opus to save some memory, and speed up loading, but we'll have to see.
- Begin work on the Level Editor, obviously I don't want to write a level's XML file by hand as that would be absolutely painful.
Misc
- If you're wondering what the test track is, it's this.
- The source code is not public yet. It will be in the future though =) (Under AGPL-3.0+)
- The bow shot sound effect is the classic bow sound effect from the Minecraft Beta. It was actually a freely usable sound from here.
- The assets will probably remain proprietary (Aside from the programmer's art), or at least under a strict license, mainly to prevent resellers. (Though, it should be trivial to replace the assets with free ones if you decide to use the engine.)