haroldoop Posted September 23, 2022 Share Posted September 23, 2022 Hello; This is a ChoiceScript clone that generates Sega Genesis ROMs. If can be used for visual novels or simple multimedia presentations. It takes a bunch of scripts and images and, from that, it generates SGDK-compatible .c and .res files. Those are then compiled into a Sega Genesis compatible ROM, which can be run on an emulator or even on real hardware. The syntax of the scripts is somewhat based on ChoiceScript, but it is not exactly the same. Please note that this is an early work and progress, and it is not as stable or user-friendly as it is planned to become. Page on itch.io: https://haroldo-ok.itch.io/choice4genesis Github repo: https://github.com/haroldo-ok/choice4genesis Transpiler for version 0.3.0: https://github.com/haroldo-ok/choice4genesis/releases/download/v0.3.0/choice4genesis.-.v0.3.0.-.transpiler.7z Example ROM for version 0.3.0: https://github.com/haroldo-ok/choice4genesis/releases/download/v0.3.0/choice4genesis.-.v0.3.0.-.small.example.bin Video for version 0.1.0: Example script: * font "damieng.com - Hourglass font.png" * background "Blue Hedgehog.png" * create intVar, 1 * create boolVar, true * temp localInt, 2 * set intVar, 3 * set localInt, intVar + 3 * create playingMusic, false * choice * if playingMusic # Stop the music * stop music, sound OK, music is stopped. * set playingMusic, false * elseif FALSE This should not appear This should not play * music "Actraiser - Fillmore.vgm" * else # Play some music * music "Actraiser - Fillmore.vgm" OK, playing Fillmore, from Actraiser. * set playingMusic, true # Play a voice * sound "ready.wav" OK, playing a digital voice. # Show a smiley * image "Smiley.png", at(30, 3) OK... showing a smiley! # Fourth choice You chose the last one * choice # Yet another choice You chose this. # One more choice You chose that. This is a test. Second line. Third line. Quote Commands implemented so far font Loads a .png file containing the 8x8 font. Note that the image must be paletized, with 16 colors. Future versions of this tool will probably convert the image automagically. background Loads a .png file as a background image. Note that the image must be paletized, with 16 colors. Future versions of this tool will probably convert the image automagically. choice Presents a menu to the user, allowing to choose between multiple options. music Starts playing a .vgm/.xgm music in the background. sound Plays a digitized sound. stop Stops the music and/or sound. image Allows drawing a small image in .png format somewhere in the background. Note that the image must be paletized, with 16 colors. Future versions of this tool will probably convert the image automagically. wait Waits for a few seconds. create Creates a global variable. temp Creates a local variable. temp variables are only visible inside the scene file that created them. set Changes the current value of an existing variable. if/elseif/else Allows a certain block of code to only be executed on a given condition. goto_scene Jumps to a different scene. The scene files are located on the script directory, and have the .choice extension. Planned commands The tool accepts those commands, but, at the moment, they don't do anything. label Will allow to mark a place where the goto command can jump to. goto Will jump to a given label from anywhere on the same scene. scene_list Will configure the default sequence in which the scenes will be played. finish Will jump to the next scene in the game. window Will allow to configure the region of the screen that will be used for the text popups and menus. clear Will allow to clear regions of the screen. video Will play a full screen video. 1 1 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.