net_
Joined 4 years ago
Joined 4 years ago
I don't get why every language's community doesn't just do the same thing: roll an idiomatic UI lib on top of SDL. It was tough, but I was able to do it as a single person (who was also building an entire game engine at the same time) over the course of a couple years.
The thumb clusters are definitely a pain, I find myself only really using the 3 closest buttons one each side. Even then, the closest button on the upper row requires a stretch that gets uncomfortable after a while. It hasn't been bad enough for me to consider trying other keyboards though--the prices are too high for me to feel comfortable buying something I might not like.
To anyone that switches to a split keyboard, I strongly recommend also getting a trackball mouse (I use a Ploopy Adept). It lets you center the keyboard in front of you without needing to stretch too far while manipulating the mouse.
I don't mean to be reductive though, clearly a lot of work has gone into this architecture and they know their problems better than I do. Props to the devs for seeing it through and getting the game launched!
I've also been working on an engine for the past few years if you want some code examples: https://github.com/Net5F/AmalgamEngine
For example, developers often devise a system of generic water tiles that they can fit together to form any sort of river. But how do you algorithmically go from the text "I want a river that starts large, gets narrow, then turns East" to a valid map layout? The water tiles and the ways they fit together are specific to the world, so there's nowhere near enough data to train a model. You could hardcode procedural logic based on key phrases ("river" + "start large" + "get narrow" + "turn east"), but that's a lot of work for a very limited implementation.
The most promising idea I've come up with is a node-based intermediate representation. You could use general data on rivers to determine how they're shaped, then use that to translate the user's prompt into a series of nodes on a map. Then, you just need to hand-implement a system to iterate the nodes and place tiles based on whether the next node is straight ahead, turning, etc. This approach could generalize to other concepts like mountains. At that point, it's just about making the text-based stage sufficiently predictive of what the user wants instead of just being a Logo-like.
C++ is (I'm guessing) currently holding up an order of magnitude more applications than whatever you think is better than it. Clearly it has upsides, so it's baffling to me when people greet attempts to reduce the downsides with either "This doesn't make sense, just scrap it for something else" or endless nitpicks about the approach chosen.
A smart guy has decided to put his time towards improving a hugely influential language. That seems like an uncontroversial positive to me, and I welcome any useful results.
For example, compared to commercial worlds from 2005 (or text muds from 1995 for that matter), modern virtual worlds are largely the same or worse at helping players form meaningful relationships with eachother. The same goes for their proficiency at helping players connect to the world itself, or at moderating their playerbases.
These are all things that could be more rapidly iterated on in a healthy indy scene, producing new trends and patterns that would lead to more fulfilling interactions with virtual worlds.
Good point about the sprite editor. I've been struggling with finding interesting things to show in picture form since most of the work so far isn't graphical. The sprite editor and in-world build mode are things that I should show, though.