Tower is a not-quite-isometric 2D turn-based RPG I’ve been developing over the last few years. You can see an example of what it looks like here:

Here’s a quick rundown on the project.

What Is It About?

It’s a 2D turn-based RPG with a heavy focus on gameplay (particularly combat) and puzzle elements. It’s heavily inspired by Divine Divinity, Divinity: Original Sin 2, the Baldur’s Gate series, Alundra and Diablo 1.

What Is Your Role In It?

I’m the sole developer actively working on the project. I’ve developed the vast majority of the code and tools used in the project. Most of the graphics assets were created by Jesse from Pioneer Valley Games.

What Is It Developed In?

It’s written in the RPG Maker MV engine, which is essentially Javascript code running locally as a stand-alone application inside NWjs, using PixiJS as a rendering library built on top of WebGL, a web-focused API that implements most of the OpenGL ES 2.0 standard. All of the code ran by the game is Javascript. The Javascript code sample shown here is taken directly from the game’s current codebase.

What About Additional Tools and Libraries?

I use a set of PowerShell scripts to process assets as part of the game’s art pipeline, in conjunction with ImageMagick, TexturePacker and Crunch.

The game’s data is stored via CastleDB and used via a custom importer I’ve written, which is publicly available here.

When I need to edit art assets manually, I mostly use Photoshop, and I use Visual Studio Code as my IDE.

Internally I use a variety of Javascript libraries to make my life easier. I use the NodeJS File System and Klaw for file operations, TweenMax for UI animations and the pixi-compressed-textures extension for DXT5 compression support.