Then Life Hits...
It's obviously been another large span of time without any activity. It's incredibly difficult to even think about writing code after coming home from and 8 hour day at work, writing code. That's my excuse. What have I been up to? I built a new PC, and here are the specs:
- MSI GTX 970 TI GPU
- Intel Skylake i5-6600k 3.5ghz processor
- 32gb Corsair Vengeance RAM
- 120gb SSD, 1/2 Windows 10, 1/2 Ubuntu 15.10
- 1tb Ubuntu /home
- 2tb Windows+Ubuntu shared
Having this new machine will (hopefully) motivate me to do more work. I am used to the large monitors I have at work, so the next step is going to be buying nice monitors.
I have renamed Horizon to Galavant. This is for two reasons. One, a new game called Horizon was released recently, and two, Galavant won't use any code written specifically for Horizon. It's essentially a complete restart.
"So, Galavant, how is that going?"
Well, I haven't made any progress really, although several ideas have been stewing. I think I have figured out Galavant's file I/O and procedural generation system architecture. I've never worked on multithreaded code, but I plan on making Galavant multithreaded. There will be a main render/high priority simulation thread, a low priority simulation thread (to handle those thousand AIs being simulated miles away from you), and a Generation/File IO thread (to handle all I/O, whether from a network, file on disk, sqlite3 database, or mathematical space). I think this is a fairly clean architecture that will allow me to use the parallel power to make Galavant a reality.
The Object-Component system is probably going to need a rework - both because of this new architecture, and because it is currently not very good. It was the first code I wrote for Galavant, and I've already buggered it up.
Screenshot from Delver, available on Steam. Similar visual style to what I might want Galavant to have.
I've once again got locked up on the problem of how to visually represent Galavant's worlds. For initial development, I plan on using very basic 2D topdown tile-based graphics, but once I get the low-level structure implemented, the decision will have to be made on whether or not I'm going to stay 2d, go 2d parallel, or full 3d (likely with similar style to DOOM - billboarded sprites in a mostly flat world). This is important both because of game design as well as production (how will I make art?).
Anyways, that's the update. Thanks for reading my rambling.