Skip to main content


You know what? I think Oquonie is complete.

For the past two months @rek and I ported a game of ours for its 10th years anniversary since iOS updates broke it beyond repair.

It has been rewritten to target a virtual machine, which should(hopefully) help us keeping it playable. In the next few days I'll release a document that explains how to write an emulator to run the game.

get game: https://hundredrabbits.itch.io/oquonie
get emulator: https://100r.co/site/uxn.html
get source: https://git.sr.ht/~rabbits/oquonie

#finishit
in reply to Devine Lu Linvega

This entire project was inspired by the game Another World's VM, and the fantastic article documenting it.

https://fabiensanglard.net/another_world_polygons

This is a milestone for Uxn, partly because it's what it was designed to do, but until now I had only written projects too small to really test the idea of Uxn being even capable of driving games more complex than card games. I'm super happy to see that it delivered, but also I think it's the most fun I ever had programming a game.

http://wiki.xxiivv.com/site/devlog.html
in reply to Devine Lu Linvega

"Another World VM defines 256 variables, 64 threads, 29 opcodes, and four framebuffers. That's it. If you build a VM host capable of handling these, you can run the game. If you are able to make the VM fast enough to run at 20 frames per seconds, you can actually play the game. "
in reply to Devine Lu Linvega

what an amazing article! Another World has had a huge effect on me, but i didn't know it was implemented this way- how beautiful.
in reply to Devine Lu Linvega

i remember reading that article too and all the ideas and inspiration it ignited. I love your line of tools and use left every other day. Thanks to both of you for the inspiration you bring me and others.
in reply to Lukas Nystrand von Unge

@lukiss cheers for saying so! I'm trying to make little improvements to left every few days 😀

I wonder how many people's minds the article on Another World blew. With hindsight, after seeing other articles like it about virtual machines and similar topics, I think what's special about this one is that it's both visual and explained in simple terms so it's accessible to people like us sitting just outside of the edge of computer science
in reply to Devine Lu Linvega

@lukiss I remember being in awe watching the intro on my 286. And the sound through PC speaker was unlike any other game I had at the time.
in reply to Devine Lu Linvega

congrats on getting this out! I'm excited to play it once again.
in reply to Tekgo

🙌 we've tried to fine-tune the design a bit, I hope you enjoy it the second time around. Would you like a download code?
This entry was edited (1 year ago)
in reply to Devine Lu Linvega

No thanks! Already purchased it and got it running in the emu.
in reply to Tekgo

@Tekgo haha, nice I'm glad. F1 to upscale the SDL2 emulators.
in reply to Devine Lu Linvega

The discrepancy in file size between the uxn version and the other versions tells a whole story
in reply to 🚲

@dx It's oquonie redux, audio is so minimal now, it's basically chiptune(until I figure out how to write decent music on Uxn), and the assets are a 10th of the size of original version. But it has a charm of its own now 😀
@🚲
in reply to Devine Lu Linvega

congrats! I think I'm going to get through this game again.
And yeah, only two months? It feels like half a year since I saw your first post about porting progress. I guess I stretching my lifetime a bit lately.
in reply to vacuumbeef

At the end of january, I wrote this in my diary: Could I possibly port Oquonie, to Uxntal?

https://wiki.xxiivv.com/site/now.html

Thanks again for helping with the testing! I've fixed a couple of additional bugs since the last build.

I found out that you could transform into the bird character in the world with the shark, and get stuck there - So I had to add an extra warp. Taken pillars don't warp anymore.
This entry was edited (1 year ago)
in reply to Devine Lu Linvega

That document sounds super interesting. Just added your blog to my RSS reader. 👍🏾
in reply to Devine Lu Linvega

awesome and congrats!
I just started the game for the first time, with the UXN version.
Complètement happé par le rythme et le concept !
I really enjoyed following both of your progress these past few months.
in reply to Louis Merlin

@merlin merci bien! C'est aussi bien de commencer par la version uxn, comme ca t'es pas constant en train de faire des comparaisons. Enjoy! ✊
in reply to Devine Lu Linvega

Content warning: Oquonie spoilers

in reply to Louis Merlin

Content warning: Oquonie spoilers

in reply to Devine Lu Linvega

Content warning: re: Oquonie spoilers

in reply to Louis Merlin

Content warning: re: Oquonie spoilers

in reply to Devine Lu Linvega

Content warning: re: Oquonie spoilers

in reply to Louis Merlin

Content warning: re: Oquonie spoilers

in reply to Devine Lu Linvega

Content warning: re: Oquonie spoilers

in reply to Devine Lu Linvega

I love how the virtual machine is both open source and well documented. Very cool project for software preservation!
in reply to MiyaGrace

@miyagrace cheers 😀 We're working on make the docs even better now too
in reply to Devine Lu Linvega

Congratulation for the release, I’m really looking forward to discover the game as I never played the iOS version. The graphics are so delightful in the uxn version.
Unknown parent

Devine Lu Linvega
@flip oquonie is written in the bytecode of the uxn vm, the stack machine is the uxn layer.
Unknown parent

Devine Lu Linvega
@flip there's no way to emulate oquonie without also emulating uxn.
Unknown parent

Devine Lu Linvega
@flip Stack machines preceded that era by many years, so they must have known. But that approach is quite wasteful(slow) in terms of speed. The game Another World is a good example of a graphical game targeting a portable VM, but in the DOS era computers were much slower than today's, so the VM layer had to be pretty large to include almost any sort of CPU demanding logic and drawing pixels on the screen.

Uxn makes use of today's fast computers, but does pretty poorly on an actual 386.
Unknown parent

Devine Lu Linvega
@flip I think so too 😀 still learning about this stuff myself. We'll see if in 5 years we can still play the game, I'll let you know if it was a good idea or not ;)
in reply to Alexander Cobleigh

@cblgh not yet, still working on it, I think I have a week's work more and it'll be up 😀
in reply to Alexander Cobleigh

thanks 😀 You might have seen already, but @nf implemented uxn in Go, you might be able to read how it's done.
https://github.com/nf/nux
@nf
This entry was edited (1 year ago)
in reply to Devine Lu Linvega

@nf oh very cool! :> i was mostly generally curious, would love to read it :>
@nf
in reply to Devine Lu Linvega

Sea peoples, your approach, curiosity and determination inspired me since I met you, and you've had your foot on the sustain pedal ever since. 🤩

Congratulations on this release, it's an honor to orbit the ultraviolet sun :tealheart:

in reply to rezmason

@rezmason Thank you! 😀 We're glad we managed to do it, last fall it seemed like it might not be possible!

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.