Revisiting SiFuture with Kof

In 2006, I started developing SiFuture, a space shooter game for mobile phones using Java ME (J2ME). At the time, I was studying Computer Science and had just started learning how to program. To build the game, I learned Java directly from Sun's official documentation. It was my only source for learning the language.
It was in that documentation that I discovered Java's famous promise: "Write once, run anywhere."
As a beginner, I took that promise literally. When I finished the game in August 2007, I was disappointed. It worked on mobile phones, but to run it on a computer, I needed an emulator. And running it in a browser? Forget it!
Almost 20 years later, I decided to revisit this project using Kof, a programming language I've been exploring and studying.
My intention is to preserve the essence of SiFuture, its rules, and its visual identity while exploring the possibility of running it in different environments.
The game features meteors, weapon upgrades, special attacks, a miniboss, and a final boss. One of its mechanics came from something that always bothered me about space shooter games: losing all your accumulated power-ups when you die. In SiFuture, your ship only loses one weapon upgrade or one special charge, when available.
The browser version is already available, and you can play using either the keyboard or the on-screen controls.
There's still work to be done. Some features are still pending, such as support for the original MIDI files, improvements to the mobile experience, and validation in other environments.
For now, I'm enjoying the process of learning Kof, understanding its possibilities, and trying to fulfill that expectation I had when I first started learning Java back in 2006.
For anyone curious, I'll share the repository and the game in the comments so you can give it a try. 😃
#kofathon
For anyone who wants to explore the project or try the game:
🕹️ Play SiFuture in your browser:
https://renanfranca.github.io/kof-sifuture/
💻 SiFuture repository:
https://github.com/renanfranca/kof-sifuture
For anyone interested in learning about the Kof programming language:
🌐 Official website:
https://koflang.github.io/
💻 Language repository:
https://github.com/KofLang/Kof4j
Comments on this blog