Glory to the god Exxos! 😈

One of my favorite video game company logos ❤️

#Exxos #EreInformatique #CryoInteractive #RetroGaming #PixelArt

Time flies…

I listened to some of Stéphane Picq's compositions today, including Kult and Extase, which are definitely among my favorites along with Dune.

➡️ Extase OST: https://youtube.com/watch?v=fPpJV6fofJY&list=PLItzNsWwxWKc9Z5DwtDqFqsmsWzdgpqby

What are yours? 🙂

🧵 2/

#StéphanePicq #Dune #Extase #Kult #CryoInteractive #Exxos #EreInformatique #RetroGaming

A thought for Stéphane Picq, who passed away one year ago today 🙏

#StéphanePicq #Dune #LostEden #Kult #Atlantis #Megarace #Exxos #CryoInteractive

I pushed the code online. Hopefully it’s more readable than Cryo’s assembly code :-)

The repo also implements Dune’s HSQ decompression, palettes and sprite sheets, sprite blitting, fonts, video rendering, room rendering, most of the lip sync code, the night attack particle system, and of course globe and map rendering, with wasm toys for many of them.

I think I’m going to need a different game to work on soon…

https://github.com/madmoose/dune-rust/blob/main/crates/dune/src/map_renderer.rs

#ReverseEngineering #Dune #CryoInteractive

The Dune map renderer is complete!

You can navigate around the map here: https://thomas.fach-pedersen.net/dune/map/

Click the arrow icons or use the arrow keys on your keyboard.

If you want the globe view, you'll have to navigate to https://thomas.fach-pedersen.net/dune/globe/, I haven't put them into one app yet :)

#ReverseEngineering #Dune #CryoInteractive

I think the map renderer might be complete!

I still want to do a complete verification against the original.

So now we have both a globe renderer and a zoomed map renderer for Dune, time to integrate them in a wasm app and try to draw the sietches and palaces in their proper places!

#ReverseEngineering #Dune #CryoInteractive

And if you've ever wanted to see the writes that the original Dune engine does to its internal buffer when drawing a map view, well, do I have a 79003 frame video for you!

#ReverseEngineering #Dune #CryoInteractive

Here's a video of the internal scaling process, you might want to open this on a big screen.

#ReverseEngineering #Dune #CryoInteractive

Before finishing it, I decided I needed to extract the end result from the original engine.

I hacked my emulator to loop over the part of the engine that generates a 4 pixel high band of map output 186 times and write the result to an image.

Here’s all 186 bands that the engine would show at longitude 0 stacked on top of each other.

If you look closely you might event spot a couple of bugs in the original engine ;-)

#ReverseEngineering #Dune #CryoInteractive

I’m almost done implementing the last major graphics algorithm in Cryo's Dune, the zoomed in map view.

The map generated as a 4 by 4 scaling of the map resource. Basically, two sequential bands of latitude are scaled horizontally in an internal buffer with three blank lines between them, and then the engine interpolates vertically between them. But add rotation and error correction on top of that :)

Here's the map resource unpacked.

#ReverseEngineering #Dune #CryoInteractive