Yeah, interesting game. Some puzzles are hard. I am interested in the programming of it.
How are the crystals made translucent like that? They almost feel alive. Is this shaders or just assets?
The game looks top down, but is 2.5 dimensional. How is this made? Is it just the assets or something more complicated is done in terms of programming.
It's built as a full 3D game, and has extensive use of nice shaders for transparency effects like the crystals, water effects, particle effects, and more. This is all pretty standard game development stuff, you'd be able to do this pretty quickly with an off the shelf engine like Godot, Unity, or Unreal. Godot is a good place to start if you want to learn some of this stuff!
However Order of the Sinking Star is also made in a custom programming language and custom engine. This is not at all normal for game development. There also doesn't appear to be a scripting system. Normally you have an engine built in C++ or something fast, and then a scripting system where you write a higher level language to script how the game runs. Engine development is more separate from scripting development. With Order of the Sinking Star, the game engine appears to be much more just like a library, and the same codebase runs the engine and game logic, with no scripting layer, as far as I can figure out from public hints.
Yeah, Blow has a generally unfavorable opinion of scripting in game engines. Jai (the language) gets around that by being very fast to compile debug builds, about 150 kloc/s, which he says he intends to optimize up to 1 mloc/s. Order of the sinking star compiles in about 2 seconds for a clean build, so iteration can be basically as fast as what you'd expect from scripting.
I am a little curious if there any interplays between Global Illumination, rastering and shaders that they are exploiting on account of having complete engine control. Techniques that something special about their engine might be allowing.
I only wonder because I recall the reason they built an engine from scratch for The Witness was to achieve certain lighting goals, and that specific feel and style I have never encountered quite like that in any other game.
A lot of that is down to art and direction, but there's a raw quality of the lighting that just feels different to any game I have played. You can often feel a game's engine out if it's one of the big ones, through the feeling of its lighting. I suspect since all engines have certain default approaches and settings in their lighting setups and devs only move the knobs as far as they need to meet their artistic goals, leaving much alone.
I am pretty certain it was Global Illumination issues with their large always loaded world and the different indoor/outdoor transitions. They wouldn't have been using Unity or Unreal so it was probably trading off between one code only game library or writing their own, and yeah they probably just wanted to rather than fix the library.
He had help from another developer specifically for that issue.
Yeah, writing the engine was the point I think. They could have created a GI plugin or modified an existing engine’s renderer. He also created a whole new programming language to write the engine in, which is certainly the displacement activity.
He has said after the game. They wanted to get the game launched, early bugfixes, etc, and then follow it up soon with the language/engine, initially closed source, but eventually open source.
Just a guess based on the way he's spoken about it, but I'd expect an open beta in December-February. I'm not expecting that to be open source though (maybe the engine will be but not the language, unclear).
It’ll be a few months further down the line. The developer has said their first obligation is to fix any bugs found by the people who bought the game, so they wanted to leave space for that process.
For how much Blow complains about modern software performance and bloat I was disappointed to hear a lot of reports that the performance is apparently bad, even for a type of game popular in the 8-bit era
I mean, Blow writes single-user software that doesn't have to interop with anything else, persist any meaningful state, or be modified after release.
He has a very limited view of what is required of software.
The problem is that he's not entirely wrong. The JavaScript-ification of everything is kind of a problem. Electron apps everywhere is an issue.
But a lot of issues are also just trying to deal with bad actors. Doing authentication or authorization wrong can have real consequences. And it is incredibly difficult. Because security is in opposition to access. And trying to make security invisible is even more difficult.
Or maybe a better way of putting it... a corrupted save annoys one user who has already paid you the $30 they're ever going to pay.
Compared to if you run a cloud storage company, a corrupted file might annoy a user that pays $1m every month, to store data that they themselves make money on, etc.
How did he program the [redacted]s to be so... adorable? They way they flail their little feetsies and tails. The animations. Or the animations of characters becoming uh, immobilized.
OP here - I went with Vosk because it's pretty trivial to lock input down to a set vocabulary (in this case numbers) and from my testing works relatively well on most browsers. (webkit, firefox, etc)
this is such a poor model, I've tried it before. Try yapsnap it has better word error rate and runs super fast on CPU. https://github.com/kouhxp/yapsnap/
Thanks for the suggestion - I've been looking yadsnap over but it seems like the ONNX model for english is significantly larger than the one used by vosk (30mb versus 150mb) so that would be my only hesitation to use it.
Maybe there's a way to shrink it down given I only need to support a limited vocabulary domain...
It’s a forum for low end providers. You’re dealing with largely unheard of providers often with seemingly impossibly low prices, so you have to wonder if quoted specs are real (yeah before anyone tells me, the “reputable” flat rate providers are also oversubscribed), whether they’ll disappear on moment’s notice or without notice, whether you can trust your data with them, etc.
lowendtalk is shady in its own right (long story). lowendspirit is sort of a fork of it and is much better. hostballs.com is another one of those, still around but much slower.
LLMs made it easy to skip the BS. Once you know programmingh you don't need hours and hours of content. Just the mental model for and you're good to go.
If it weren't for the job losses I'd never want to go back to 2015 or so to go back and forth on SO questions and answers and spend days on a boilerplate issue.
Eh, combing the internet for ideas, perusing revision history, and finally discovering the cause of a problem was kind of fun. It was a challenge. It was slow, and I understand why business was frustrated by that, but on a personal level I enjoyed it. It had the same rewards as any other game or puzzle.
reply