Building a roguelike/tactics game in python and C++

I have been working on this as a side project for quite sometime and figured it may have grown large enough that it might be interesting. My plan is to build a turn based tactics game where you explore and attack spaceships and maybe open source the core engine when its done. Originally I was planning on building yet another fantasy roguelike or sandbox game like minecraft but there already a plethora of those games and space is awesome. Right now however it still uses dwarf fortress tiles and a dungeon generation algorithm.

A state of the art space dungeon complete with programmer UI

The stack

My current engine if you could call it as such is comprised of the following:

1. Cold paths written in python.

Most of the gameplay code, UI and other random buts are written in python. Python lets me use a number of interesting things such as a networked REPL (ipython) and live coding where code is reloaded as it is changes on disk. It is easy to unit test with and generally nice to write most algorithms in. It is also what I use for my day job which likely biased me :)

2. Hot paths implemented in C++ (for now).

I have the voxel storage written in C++. Python arrays are not too bad for this but having the voxels in C++ means I can also easily render things in C++ which does speed things up quite a bit. Once I figure out what I am doing with path finding and AI I may move those algorithms to this layer. At some point I may move all of this C++ code to rust-lang once that gets more mature but that is at least 6-8 months out I would imagine.

The future

Right now I am working on path finding. Next up will likely be visibility and then massaging my dungeon generation into something like looks like a ship so I can get minimal slice of combat working.