• 2024 in review

    The end of 2024 is approaching rapidly and that’s a good moment to take a step back and look what I’ve done in 2024.

    Last year’s ambitions

    But first lets go back to the end of last year, where I actually wrote a blog post with possible projects for 2024.

    Game using OASE

    I can be short about this one, there is no game using the OASE engine, nor is there a game using any other engine. Those game projects still live somewhere in my mind…

    Elevating OASE VC to the Next Level

    The year started great for OASE VC with support for wav and MP3 playback and even radio stations. The model loading and rendering code also got a complete overhaul, sadly this triggerred unexplainable crashes that eventually drained my OASE energy. Maybe next year will be the year of OASE?

    Wake-Up Light

    The wake up light is a project where I did make progress.

    • Arduino hardware ✅
    • Arduino software ✅
    • Mobile app (Android & iOS) ✅

    That looks like a finished project doesn’t it? Sadly the last step isn’t done yet, actually putting the hardware inside a kid friendly case. I’ve been contemplating between buying an of the shelf light and designing / 3D printing something myself, currently leaning towards the latter to make it as personal as possible.

    III Era Modding YouTube Channel

    I still think this is a great idea, now if I would just put some effort into this…

    So, what did I end up doing in 2024?

    You never know what life will bring you. One thing I did notice was the lack of energy and time to work on my side projects, who thought having a second kid would have this impact?

    Even though most of the ideas I had for 2024 did not become reality, I still got some stuff done. Lets take a look.

    Chip-8 emulator for the N64

    In the past I’ve created a Kotlin multiplatform emulator for Chip-8, for some reason I thought it was a fun idea to build a Chip-8 emulator for N64. The basics are working, rom loading, opcode interpreter and even basic key binding.

    Shadow-MSP - gta3sc support

    The Intellij plugin that I wrote to create and compile missions scripts got support for gta3sc, an awesome open source compiler that is able to compile the original mission script sources to the well known main.scm file. The plugin adds syntax highlighting, refactoring and find usages support for .sc files. As a bonus I’ve also contributed MacOS support in gta3sc.

    Game development

    Godot engine has peaked my interest this year. It seems to be a very capable engine, is open source and has support for C# besides GDScript. I’ve created a little playground project and have been following some tutorials. Nothing interesting came out of this yet, but you never know what I might end up creating.

    Exploring Kotlin multiplatform for Web

    I’ve been playing around with Kotlin / Compose multiplatform, my personal website is now build using this tech. It has some downsides, but has potential for certain usecases. I should probably write a dedicated blog post about this.

    Final thoughts

    Looking back, 2024 was a good year. Even though I did not work on the projects I planned, some projects got some nice updates and I learned some new tricks that I can use for 2025!

  • Shadow-MSP gets gta3sc support

    I already mentioned it in my previous post, but I am tired of the Chip-8 on N64 project… I got distracted once again.

    This time by an old favorite of mine; Shadow-MSP. The Intellij plugin that I build to support GTA 3D mission scripting.

    A couple of years ago the original mission script sources got leaked (thanks Grovestreet games!) which helped understand the original SCM structure. TheLink2012 build an amazing toolchain and compiler called gta3sc. This can be used to compile the original sources to the main.scm as we know it.

    There is a plugin for VSCode, but nothing for Intellij. Luckily I already had a plugin lying around for exactly this purpose, mission script support in Intellij. So I started adding support for the original GTA 3D scripting languages using gta3sc as the compiler.

    Of course, we are not there yet; the plugin is very slow, and it’s missing some key features like compiling. Features I am working on as we speak. Expect more details soon!

  • Chip-8 64 Update

    I’ve found this amazing Chip-8 database that contains a huge set of rom info; this info includes common button mappings, color mappings and supported platforms. I am planning to use this database to provide pre-build button configs for all original Chip-8 roms in the database.

    If I am being honest, I am a little bit tired of this project. Chip-8 doesn’t interest me at all, the only part I enjoy is the emulation and N64 part. Still, I’m determined to push through and wrap something up this year.

  • Bad habit

    Oh man, it’s starting to become a bad habit that I post something at the end of the month. I need to step up my game; otherwise, I won’t accomplish those New Year’s resolutions.

    Anyway, I’ve spent some time improving my Chip-8 emulator. It now has basic program selection, and the input mapping is fully working, even if not very intuitive yet.

  • A slow month

    I am lucky this month has an extra day, I almost forgot to post something in February!

    Things have been a bit slow this month due to a nice skiing trip and life in general. Work kept me busy!

    But I did have a bit of time to work on a project. This time it wasn’t OASE but a Chip-8 Emulator for the N64. I’ve already written a Chip-8 emulator in Kotlin Multiplatform, but for the N64 I had to write it in C. Even though my C isn’t great it was a much nicer experience then the Kotlin version. Kotlin just isn’t nice to work with when dealing with unsigned types or binary operators, which are used a lot when dealing with file formats or emulation.

    Anyway the emulator is not fully done yet, currently working on input mapping support once I’ve got a fully working version I’ll put the emulator on my GitHub.