I've been playing the first Jade Cocoon lately - I played that demo a lot when I was younger, but had never played the full game.

It's not the greatest game ever, but I had fun and it didn't overstay it's welcome (~15 hours. I don't have time for long RPGs anymore 😅). I would say it holds up pretty well, especially for a game with tank controls, and the fusion system still remains impressive.

However, I was extremely disappointed with the ending cinematic... It's a low-FPS (with obvious blending between frames) FMV with the in-game character models.

While usually I would be fine with it, this game starts with an incredible animated opening!

I was really expecting that there would be more of that. Although I wouldn't be surprised if that got cut for budget reasons.

It's not easy to show in side-by-side screenshots (as the animation quality makes a big difference) but man, what a downgrade.

Playing around a bit more with 3D, got a basic Z-Buffer and vertex colors (without perspective correction yet... affine z-buffer?).

This already lets me draw some quite complex scenes without having triangles popping up left and right, and it seems it might actually be faster than naively sorting the polygons.

Scene in question: https://poly.pizza/m/2twvfQfSlHB

Been playing around a bit with samply to fix some performance issues in Minart (especially polygon rasterization and convolutions).

Ended up making a bunch of things quite faster, so now my old 3D Stanford Bunny demo went from ~12 FPS to 20 FPS on my machine.

But, since I was able to also make convolutions faster, I can add two hackish depth of field passes while keeping the old performance numbers. 🔥

João Costa shared 30 days ago
João Costa shared a month ago

About 4 years ago (24th of June 2021, according to my old tweet: https://x.com/JD557/status/1408166583575449601) I got a KaiOS phone (Nokia 8000 4g) for emergency use.

It has proven to be pretty useful over the years.

Mostly as a WiFI hotspot when abroad (that way I don't have to buy a data plan for me and another for my girlfriend, and we save our smartphone battery a bit), but it's also pretty nice to have a phone with a long battery life that lets me do some normal modern day stuff (such as check ActivityPub).

Yesterday it also proved pretty useful. Due to the Iberian blackout, I was without power and comms during most of the day, so having a radio around was great to listen to the news without having to be in my car. 😄

I wouldn't recommend anyone to buy this particular mode though, as the keyboard is garbage.

João Costa shared 2 months ago
João Costa shared 2 months ago
João Costa shared 2 months ago

Recently, Lorenzo Gabriel released https://github.com/lolgab/scala-native-jdbc, a JDBC implementation for Scala Native, which allows libraries that rely on JDBC (such as Scala-SQL) to be used in a native environment.

I've been slowly playing around with adding DuckDB JDBC compliant connector to it, and it's looking pretty nice. I did have to use some trickery to avoid hitting issues with SQLite/DuckDB dialect mismatches, though. 😄

I plan to open source this eventually, but first I want to make some more tests and clean the code (there's quite a few manual memory management involved).

I also need to figure out how this should be distributed... On MacOS DuckDB is distributed via a dylib with an rpath, which is a bit annoying to use on Scala Native... TBD

Last Christmas my brother and I purchased a 3D Printer (Bambu Lab A1 mini).

Even though I haven't been an heavy user, it has already proven quite useful, especial for custom supports and organizers that one would have an hard time finding in a store.

It feels quite magic to be able to code something in OpenSCAD and have it appear in the real world. 🤯

Today I built a couple of supports for some Krakebs that I had lying around. I think they turned out pretty cool, so I uploaded the model to MakerWorld.

Not that I think that anyone will print that, but I should build the habit of sharing some models.😄

For some reason, Youtube has been recommending me a ton of wave function collapse videos, so I decided to play a bit with it for map generation.

I think my code still has some bugs, but I'm happy enough for now. Maybe I'll pick it up in the future if I decide to use it for an actual game or demo.

João Costa shared 3 months ago

I've been working on a collection of small minigames (inspired by 1x111) with simplistic graphics (inspired by He is Coming)

It still needs a bit more polish, and I want to add some more games before releasing it, but it's cool how easy it is to write simple games with some very basic primitives such as AABB collision. The code for some of the games is surprisingly short. 🙂

GIF
João Costa shared 4 months ago
João Costa shared 4 months ago
João Costa shared 5 months ago
João Costa shared 5 months ago
João Costa shared 5 months ago

Published a port of https://github.com/nayuki/QR-Code-generator to Scala, cross-compiled to JVM/JS/Native.

It's now easier than ever to generate QR codes in Scala. 🙂

Check it out at https://index.scala-lang.org/jd557/qrgen