home.social

#maug — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #maug, aggregated by home.social.

  1. I want to implement a kind of tree-based hashable for #maug, that goes through an arbitrary-sized byte array key, comparing if each byte is greater or lesser than the current node in the search tree, so that the engine can go through trees in O(... w/e faster than looping and comparing each key.

    But I'm stuck in viewport code cleanup for the main maug-based engine that would really benefit from that (for item and mobile GIDs)... 😩

  2. As an experiment I sat down and tried compiling a #maug program with SDCC. I fixed a couple minor syntax issues and used null APIs until I got to the point where it's telling me my function pointers accept too many arguments...

    I might finally want to make an alternative for 8-bit systems. Every time I've looked at it, tho, 8-bit has been a bit too limiting... but maybe there is value in that suffering. Somewhere. Maybe. Someday.

  3. Using mlisp for AI/game logic in #maug is getting to be a burden... old systems with tiny stacks are not meant to do the recursion required. But I want my engine to be moddable!

    Wondering if dynamic C libraries are a solution... they'd have to be hard-compiled in on consoles, and I'd have to figure out Watcom overlays in DOS, but... the performance couldn't be beat.

  4. One persistent issue I have with #maug is that most advice for optimizing seems to assume your CPU has things like a branch predictor and the ones I care about... don't. Or that you should use types like size_t for security and... I'd rather keep integers 16-bit if I don't *really* need them larger.

    I've waffled back and forth on this as I've learned and I really need to sit down with some static analysis tools and repair some of the damage this has caused...

  5. I had hoped to do something cool with sound with #maug this weekend, but I ended up playing tug of war with myself over the viewport again...

    I got it working by scrapping/redoing it, but oh man... it's still glitchy and... tbh, it makes me feel like a human ChatGPT? Like I have a tiny context window? My first engine, ProCIRCd, like, 15 years ago? Collapsed under the weight of it. I guess the fact that maug hasn't collapsed is a good sign?

    I wish other engines ran on cool platforms...

  6. Adaptive Tile Refresh seems like one of those things that's stupidly obvious and easy to implement, and yet now for the second time I'm banging my head against it and not getting anywhere.

    I don't want to settle for jerky tiles for my plane game but oh man... I feel like I'm vibe-coding and I'm writing all my code by hand... Change one thing, another breaks, then a third thing breaks, then it goes in a circle.

    I've had some close breakthroughs but they all go nowhere. I hate this. #maug

  7. I *really* gotta get some kinda sound going in #Maug . Rather than a thin abstraction that directly exposes MIDI and PCM with a common interface, maybe it would be better to implement a triangle/square-based synthesizer in software and route it through PCM on high-end systems and MIDI or beeps on low-end systems...

  8. Finally bit the bullet and split SDL 1.2 and SDL 2 support into different files in #maug ... took a moment to switch to 8-bit software surfaces and enable palette changing in the SDL 1.2 module, too. 😌

  9. Today I did some work in removing ifdefs inside of structs in #maug. I'm hoping to get a consistent object API and uniform set of mandatory and consistently-enabled features that projects can coexist with even if they don't use them so I can make a dynamic library. That'll be nice...

  10. Starting to use some of the neat window stuff I built into #maug now that I reworked it to not eat all the VRAM on the PSX... This is the SDL port, tho. But now I can have my little #goblin give the tutorial. Also added proper fields that react to the sprayer... but I still need to add a sprite for when the sprayer is on... and smooth out all of the scrolling glitches and fix the field corners and add actual mechanics and and...

    But... it's progress on an actual game! Not just engine work! 😌

  11. I think a lot of my #maug projects won't work on PlayStation unless I implement the lock image -> draw image -> release image, triggering copy to work RAM and recompress to 16-color, somehow? pattern. 😩

  12. Today's #maug task will be predrawing the soft font into 8x8 sprites in VRAM. I stopped doing this for most platforms but maybe I should start again because the letter drawing seems to be what's killing the framerate. Maybe.

    When I feel like it.

  13. #maug can now read files off of the CD-ROM and (very crudely) blit bitmaps onto the screen on #PlayStation. At a reasonable speed, even! Even when I tested on real hardware! 😌

    Now I just gotta figure out transparency and work out some of these glitches... The AI plane isn't moving (but it is trying to turn?) so maybe the lisp interpreter is ballsed up...

    But reading the CD and allocating VRAM is not trivially simple on the PSX! So... So far, so good!

  14. I put a little effort into starting to setup the psn00b SDK to work with #maug today. I can compile but everything is still stubs. Here's hoping to have something running off of a memory card or something soon. And then maybe the serial port. And then maybe a CD.

  15. Started implementing a minimap in my 3D engine as a first step to hopefully getting back into the #maug groove via implementing view-frustum culling. Let's try to bump up those frames on the Pentium 60!

  16. Apparently I did a lot of #maug posting this year, and I got quite a bit of development done, but once it got colder I stopped. I guess I was also pretty discouraged by the sporadic untraceable stack issues with the mlisp interpreter on 16-bit platforms.

    Hopefully next year is more productive!

  17. #maug has gotten pretty useful... I went from "hey what if I made Picross" to "hey I made a minimum viable Picross" with pretty little development time!

    ifdydemos.nfshost.com/mpicro/m

    Needs polish and whatnot but... I finally more or less figured how it works by making it! So that's nice!

  18. At least I kinda got something #maug -related done today...

    mPiCro is short for eMpire of Pie Crows btw pls Nintendo do not sue. 🥧 🐦‍⬛

  19. I ended up spending a lot of time this weekend shoring up vectors and string pools and hash tables in #maug and serialization routines for those things (and arrays thereof) and moving mlisp to work on top of them... I ended up polishing off the old libcheck-based unit tests for the data structures and they were pretty helpful! I'm pretty close to being able to save and load in #numoon! Probably!

  20. I'm making progress with my Color QuickDraw port in #maug... I've gone from blank off-screen bitmaps to offscreen bitmaps with lots of garbage on them.

    Hopefully I can make it the rest of the way and from there to Carbon and OS X! What about OS X without Carbon? Not a real OS, going by the universal definition: "OS that I can cross-compile C to from Linux."

  21. My lisp dialect, mlisp (#maug), is surely the most cursed lisp. If Steve Lisp were still with us he would be spinning in his grave. But at least now the NPCs in #numoon can ask questions and set/read global variables and go off on infinite loops.

    Except in the WASM build. That's hyper wonky for some reason. Gotta figure that out tomorrow.

  22. So... I've posted some screenshots of #maug #mbard before, but I finally got around to putting it on Codeberg: codeberg.org/indigoparadox/mba

    It's only of a proof-of-concept at this stage!

    I also managed to setup CI builds, including a WASM build on NFS (link from Codeberg, tho the performance is awful; optimization is an issue right now!)

    I took advantage of the fact that @kenney packages his assets as pngs *and* objs to make map editing easy with Tiled.

    It even runs on NT4/Pentium! Poorly!

  23. Finally got this working last night, but I gave it the wrong deploy key before I went to bed... but I fixed it this morning and so now: automatic beans: codeberg.org/indigoparadox/mbe

    More platforms and projects to come, but at least I got the basic process working so that's nice.

    #Windows3 #maug #RetroDev

  24. Finally got this working last night, but I gave it the wrong deploy key before I went to bed... but I fixed it this morning and so now: automatic beans: codeberg.org/indigoparadox/mbe

    More platforms and projects to come, but at least I got the basic process working so that's nice.

    #Windows3 #maug #RetroDev

  25. Finally got this working last night, but I gave it the wrong deploy key before I went to bed... but I fixed it this morning and so now: automatic beans: codeberg.org/indigoparadox/mbe

    More platforms and projects to come, but at least I got the basic process working so that's nice.

    #Windows3 #maug #RetroDev

  26. Finally got this working last night, but I gave it the wrong deploy key before I went to bed... but I fixed it this morning and so now: automatic beans: codeberg.org/indigoparadox/mbe

    More platforms and projects to come, but at least I got the basic process working so that's nice.

    #Windows3 #maug #RetroDev

  27. Finally got this working last night, but I gave it the wrong deploy key before I went to bed... but I fixed it this morning and so now: automatic beans: codeberg.org/indigoparadox/mbe

    More platforms and projects to come, but at least I got the basic process working so that's nice.

    #Windows3 #maug #RetroDev

  28. Chuffed to bits! Managed to figure out WASM Javascript async stuff, so now #maug programs can use the same file API they use to fetch local files on e.g. SDL, DOS, or Mac System 6, to fetch remote files at relative URLs in WASM in the browser! Featured in the latest #numoon demo: ifdydemos.nfshost.com/numoon/n

  29. It might be my bad habit to toss stuff out before it's ready, but my port of #dsekai to #maug is progressing... I got the animation engine running again!

    It crashes when you go to plant a crop and there's no PalmOS port, yet, but, like... I'm working on it, OK?

    codeberg.org/indigoparadox/num

  30. I've started a new effort to port #dsekai to #maug by just copying over a limited subset of purely "game" logic to a new project and... Even this is a bigger PITA than I realized. Even the items and crops, which weren't *super* developed, had a lot of extra layers because of indirection that came from their ability to persist when the room that created them was no longer loaded...

    I'm basically doing that thing where gamers go "it's just a compiler flag!" to devs to myself at this point. 😩

  31. I managed to squeeze out a drop of late-night creativity: github.com/indigoparadox/maug/

    I started implementing the <img> tag in my HTML engine... I hate to toot my own horn but it was surprisingly easy to figure out what was going on in that codebase. 😌

    Happy 666 commits to #maug! 🤘