Posted October 02, 2020 by Khonsu Labs
#devtober
Untitled is not a real name, it’s because I’m still determining the exact focus of this game’s environment and lore. Even though I’ve been thinking of going in the direction of Sci-Fi, the reasons were all wrong. Without belaboring the point, I’m a fan of epic fantasy, and while I may still do some form of a space-based game because I love Space, my living-universe is going to be rooted in a fantasy setting.
For the Devtober month, my focus is going to be on creating a multiplayer procedural dungeon crawler. I’m hoping to carve out a feature set that will yield something playable at the end of the month, but there’s a lot to accomplish between now and then, so let’s review what I did today.
The video at the top serves at the starting point for Devtober, as I didn’t do much work this morning to make this work. Last night, I sent a gif to a few friends showing movement for one client, and when I woke up this morning, I realized I could randomize the ship color on the server, and everything should just work if I launched multiple clients.
So what exactly are you looking at? Well, there’s a lot of my code behind the scenes powering this, some of which I’m probably not going to use anymore this month due to the setting change. After all, I started off my saying how I’m making a fantasy game, but yet I show you movement between planets? Ah, the joys of having difficulties making up your mind as a solo developer.
The planets are generated using Magrathea, a pixel-art-esque planet generator I wrote. It’s fairly rudimentary, but it was a fun project, and I have a lot of ideas of where I want to take it. It’s fun enough I’m sure I’m going to keep working on it for some reason, but it probably won’t be part of Untitled within the next few days.
The client is written in Rust using my own custom engine, Kludgine. While I don’t think my engine is as fast as some of the engines written in Rust, I’ve been focusing on tuning my performance for low CPU usage and being able to run on incredibly low-end hardware.
I’m excited at the prospects of my User Interface framework, but it’s in its infancy right now. I suspect I will be making more progress on various aspects of it this month, including some basic Dialog/Modal support and probably a grid layout system of some sort.
std::file()
to assign a name to the migrations, and moving files around tricked my migration engine into trying to re-run all of my database migrations. Sigh. All fixed now though!My first goal is to create a demo where multiple players can connect, they’re assigned a random avatar, and can move around a multi-room dungeon. Beyond that, I’m not quite sure which features I’m going to prioritize first.
I’ll be back tomorrow with another update, although due to some real life obligations, I expect tomorrow will be less productive than today. Good luck to everyone else participating in Devtober!.