Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Yes, it's  a graphical program that uses SDL3 and therefore OpenGL, Vulkan, Direct3D on Metal depending on the OS and environment. Sorry, it's not console based. The whole point of the project was to extend some of my console-based programs to be playable in graphical modes for people who aren't comfortable using console. (Though I engineered it in such a way that a console version  or telnet-able version is technically possible - it'd just take a lot of work.)

No apologies needed whatsoever! FWIW, SDL3 *can* be used in console mode; I'm using it to power DOSBox, for instance. (It has several non-X backends, like kmsdrm and fbcon; client applications _should_ not have to care how the user's running it, it's just about how the libraries were compiled and linked. So I can play ancient DOS games, like Commander Keen, in console mode; they look great!) If you ever want someone to assist with trying to get the code compiled and working in such an environment, I'd be delighted to help; that said, I'm sure you have a bunch of higher-priority stuff to muck with.

Oh I presumed you meant a text mode! You mean a graphical mode without X-Windows?

How does it do that? Is it still using OpenGL or the like, or something else?

(Apologies in advance: I am neither a kernel expert nor a graphics expert, so the following explanation is my understanding based on what I've learned so far; it may be lacking details or containing factual inaccuracies.)

So SDL has things called "render drivers," which are what causes the thing you want to display to go through the transformations needed to display it on screen (like OpenGL), and other things called "video drivers," which are what takes the thus-transformed data and puts it on a screen. This Reddit post has a bit more. I use the `fbcon` or `kmsdrm` video drivers and the `software` rendering driver. This works great for the uses to which I've put it so far (90s DOS games), because even tiny modern computers (like a RasPi5) have so many orders of magnitude more of speed, memory bandwidth, etc. that it Just Doesn't Matter :tm: how inefficient those bits of the pipeline are.

I presume that if I tried to convince a modern 3D game to run like this, it would either

a. Catch fire;

b. Refuse;

c. Call my mother and tell her I'm a bad person; or

d. All of the above, simultaneously.

But hey, it works great for what I'm doing at the moment!

Ahh. That's interesting! I note a few people are trying it on raspberry pis too, which makes sense.

I wonder if I can get this building on one of my many rpis... might be a good place to start as I can happily just throw a console only install of linux on an SD card with one.

Best of luck! If you'd like my build notes, please let me know.