UPDATE: Being the first game that I coded in Java, Baneforge's main class has over 14,000 lines of code using just the base LWJGL libary. This made further development slow to a grinding halt, as it takes me more time to find specific lines than it does to actually type the code. Though I loved the idea of Baneforge, I am now developing a sequel to vampirism called Sands of Osiris.

Post news Report RSS Devlog for Baneforge

A recent update of all the updates that I have added to the game.

Posted by on

Originally in Baneforge, abilities were defined by me with a bunch of if/then/else statements baked into the code. This was very redundant and messy, and it took up a ton of lines. I decided that it would be easier to make a more limited but parameterized system so I could define an ability with a class that had about 20 variables in it. This class decides if an ability...


  • Requires Targetting
  • Has an energy cost, amount
  • Cooldown, amount
  • Range, amount
  • checks for collision at endpoint to reject a cast
  • (and about 10 other things)

And it also allows me to specify up to 10 Effects to occur at certain places based on where the ability was targetted. The effect class is extremely open ended and can even calculate collision between the start and end coordinates of a casted ability. My favorite parameter for effects is the 'shape' parameter, allowing effects to flower out into an AOE! Every effect can be completely different, and many different onces can be linked to an ability. Here are the Effect Types (any of them can be AoE besides 'move unit' and 'play sound')

  • Move Unit
  • Edit Unit Stat
  • Apply Condition (on unit or on tile)
  • Draw Projectile (from A to B)
  • Play Sound
  • Draw Overlay Graphic

In this way, I can create a HUGE variety of awesome abilities, by ONLY defining about 30-40 booleans and ints. Once I realized this, I decided to make an "Asset Editor" which just allows anyone to use a GUI to define these booleans and ints. This GUI exports a raw text file which can be loaded into the game by a host, just like a map from the map editor (but totally separate!) I just added that in last night, and it totally loads and works perfectly! The next step was to allow for the asset editor to edit items, and I am facilitating that now. Once that is done, I will make the host upload the 'Asset Book' to all of the clients during the split second after the host uploads the map data to them. This will be relatively easy, since the map upload code is already there to 'copy pasta' from.

This all makes me so excited... There will finally be an extremely customizable LAN game to play with my friends. It will be like the days of when games had simpler Map Editors and Asset Editors that weren't so darn confusing. Except, in Baneforge, there is no triggering in the map editor. This is because the host will manipulate objects, delete/spawn items for heroes, and move NPCs based on their interactions with the world. This truly is my dream game.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: