Blast2D - Where do we go now?

Posted on May 06, 2013

Okay, so school has been tough lately and I didn’t find much time to work on the game, but I sure had time for lots of ideas. In short, the game has taken a new direction and I think that, with all the new stuff, I will only be able to finish it during summer. Here’s a summary of all the new changes and upcoming features (I’m done thinking of all these concepts, and I’m done reflecting on their actual implementation, all I need to do know is to code the stuff, and as usual nothing will work as expected and it will take me lots of time to get everything working):

  • Change license to open-source
  • Elaborate a background story (done)
  • Change all the art (I have sketches)
  • Implement a GUI -> Learn Kivy
  • Make a website before public beta + forums, I think that a game like this one really needs an active community and player base to be successful (community events, community created maps, game modes, and servers), the open-source nature of the project will encourage people to extensively mod the game, to create art + sound skins (see below), etc
  • Add a debugger + journaling (you know, the stuff that pops up and asks if the user wants to send crash statistics for programmers to track down bugs) (don’t know how feasible this will be in my case, because I’m a noob programmer it’s fairly feasible)
  • Add different game modes (Team deathmatch, deathmatch, juggernaut, king of the hill, CTF, DoTA -> awww yeah, picture yourself DoTA in 2D)
  • Add abilities and further base stats customization
  • Finish networking: create a reliable UDP protocol and flow control Use Legume instead, create a master server to run on my RaspberryPi and on the family laptop (two is better than one), create a GUI for admins and hosts of servers for easy managing + add-ons like chat filter and auto afk kicker, in-game chat, add basic security to servers -> DTLS encryption + connection limits, create scoreboards and a point reward system
  • Make a GUI for map creation, the .txt method is too hardcore for the average user
  • Add support for art skins and sound skins (replacing the default art and sound, it will only impact the client’s perception of the game, but it’s a fun addition and part of the mod process)

All in all, I think that it will be a pretty solid game, while maybe not perfectly polished. It’ll look like an average 2D game, but it will have a soul and a distinctive feel. The game play and customization will offer lots of depth and will definitely be worthwhile to people who try it out or to those who want to learn about game programming. I will also release an open-source library of the reliable UDP  protocol with flow control that I will be using for Blast2D Just use Legume, as it is a pain to learn and implement for those who are trying to make an online game that requires fast packet rates, like shooters. I think that I’ve spent as much time learning PyGame, the game framework, as I have networking. Trust me, if there’s a working library somewhere out there, USE IT.