FREM Sprite32! in Early Access


Hi!

I've been working on a simulator/sandbox/programming/retro-computer-y thing the past handful of months, and wanted to share it with the world! Right now, you can play around with the Sandbox and learn all about the language that powers the machine: FREMScript. The language is a high-level interpreted programming language, designed to be easy to learn, and to feel like a language that might have appeared sometime during the 1980s home computer era. Likewise, the Sprite32! system (that exclamation point really complicates sentences) was created to capture the feel of machines like the C64, Apple II, and other popular machines from that time period. 

Current Features

  • Write programs using the high-level FREMScript interpreted programming language
  • Read the in-game manual to learn the language, discover system settings, and copy code examples to run in the editor.
  • Display text and get keyboard input from the user as the program runs.
  • Get feedback in the status window for current system state, including program errors and highlighting.
  • Play with sprites, pixels, the color grid, and 3-channel waveform audio generation.
  • Save and load files, even swap out the default boot program with your own!
  • Download additional FREMScript examples using the GitHub repository.

What's Next?

  • Scenarios: Go deeper into FREMScript with challenges and goals
  • More Documentation and examples
  • General improvements and UI polish

Roadmap/Timeline

In the immediate term, the main focus will be to address any reported bugs or issues. This is the first game I've released to other than a handful of friends, so I have to get a feel for what that's like. Drop some feedback in the comments or hit me up at the email provided on the game launcher.

I'm in the early stages of adding some kind of story elements, which I'm tentatively calling "Scenarios". I like the feel of the sandbox environment, as that's what I'm usually looking for in other programming games. This is why I've chosen to release the game in its current state, as the sandbox works pretty well and is generally feature complete. That being said, there's not much else there for anyone looking to be engaged with specific tasks to complete. I don't have any objectives, win conditions, etc. It's just a sandbox for you to do things with FREMScript. I have a bunch of rough storyboard ideas that I came up with in the preliminary inspiration stages, and there are several unfinished examples in the GitHub repo that derive from those. The plan is to take some of these ideas and turn them into scenarios for the player to complete. I'm not exactly sure where I'll land with those, but before calling this game "finished", the intention is to add some gameplay elements.

I guess that's about it for now.

Thanks for reading!

-- John 

Negative(-11) Games Division

Files

0.1.0.1-alpha.zip 16 MB
May 11, 2022
0.2.0.1-alpha.zip 17 MB
May 19, 2022

Get FREM Sprite32! Programming Sandbox

Buy Now$5.99 USD or more

Comments

Log in with itch.io to leave a comment.

(+1)

This is very cool, great work! Are there any plans to make the files/programs you make exportable as binaries? 

(+1)

Thanks for checking it out! Exportable binaries is an interesting idea. Right now, FREMScript is tokenized, parsed, and evaluated on the fly using the underlying Godot game engine and its native GDScript language. So, in that sense, the machine code is really just a bunch of GDScript objects. I suppose if we think of the Sprite32! as a Virtual Machine for FREMScript, then to support exporting complete projects, there would need to be some low level "bytecode" representation, possibly serialized exports of the GDScript objects that could be deserialized and run by any Sprite32! system later. I like this approach, and early builds had the notion of ROM cartridges that could be loaded from files. Those early versions were just FREMScript saved to a file with .rom extension, and since this wasn't unique to other files saved with .frem extension, I ultimately simplified it down to just the latter file format.

Another approach, and possibly the one you may be thinking, would to be support complete executables that could be run standalone from the game itself, probably everything presented in the screen area. That approach is likely out of scope for this project, but I think it could be done by generating the equivalent GDScript code from a FREMScript program and putting that through the Godot build tools to generate a full executable.

A third idea comes to mind as I write this response and is a mix of the two previous ideas: a FREMScript runner VM application that is just the screen and input support, with all the extraneous game elements removed. Exported "bytecode" could be loaded into that virtual machine and run. The VM could open source/free and distributed with binaries that users of the Sprite32! write. I kind of like this idea, and thematically it fits into the FREM corporation's roadmap of releasing a consumer game console system based on a stripped down version of the Sprite32! I could definitely see them presenting that at COMDEX '87.

I'll definitely add a sticky to the dev board and noodle this some more for future versions of the project. Thanks for the feedback!

(+1)

Thanks for taking the time to respond and for sharing your ideas. The third one sounds great. I look forward to future releases from FREM corp and am excited to hear what may be announced at the coming COMDEX '87. 

Oh and a Sprite32! game console is right up my alley would be an insta-buy for me :). 


Cheers!