SuperSakura is currently at version 0.88. For a rough description of how well each game is currently working, see the Screenshots page.
My goal is to have the most important three classic titles fully operational, enhancements and all, by version 1.00.
My current estimate suggests the remaining tasks will require about 150 evenings of work. A frightening two thirds of that would go into manual graphics touch-ups. If the work turns out easier than I estimate, or if I can get someone to help, I may finish sooner.
Assuming I work on SuperSakura about every other evening, 1.00 will be reached around the end of 2012. Hopefully I can work out a reasonable licensing agreement, then, for distributing the engine with the games themselves; if not, I will make the engine available freely and let the users worry about acquiring and converting the game resources.
Ad-hoc to-do list:
// ===== TO DO future tasks ===== // - Think about video hardware acceleration support... troublesome, since I // don't redraw the entire screen every frame. Most likely should use // OpenGL and textured rectangles. Might be able to use VSync then. // - Consider trimming FPC's System and Windows units to save space // - Audio (full FM/etc softsynth) // - For all games: // + Write intro and ending scripts, new title screens // + Make program icons and textboxes // + Touch up all graphics to eliminate artifacts // + Go over all scripts, add hacks in decomp to use cool new effects // + Implement clickable maps where appropriate // - Decomp: proper translation of the few remaining odd bytecodes // - Add a tilemap mode? for top-down jrpg adventures // - Add some scriptable customisation to the settings dialog? // - Allow using an engine-drawn mouse cursor // - Eye candy // + Add a pixelisation effect, dynamically slidable pixel size? // + Develop a proper Bunnyscaler // + Add nice wind for sakura petals and snowfall // - Add graphic scaling at run-time in scriptcode? for character portraits? // // ===== TO DO necessary for 1.00 ===== // Game resources // 1 + Make program icons for all three games // 4 + Go over all scripts, add hacks in decomp to use new effects // 1 + Add color to dialogue titles? // Graphics // 4 + Modularise Beautify into a stand-alone program, merge Detailer // (Decomp should call Beautify externally with an auto-process // switch; Beautify should also offer a graphical touch-up interface) // 3 + Dig through Beautify and improve the algorithm, clean the code // 1 + Replace current palette saturation adjustment with a variable curve // 30 + Touch up all Sakura graphics (112 sprites, 52 anims, 94 event // pictures, 90+ other pictures) // 22 + Touch up all 3sis graphics (40 sprites, 40 anims, 90 event // pictures, 30+ other pictures) // 16 + Touch up all Runaway graphics (22 sprites, 22 anims, 72 event // pictures, 50+ other pictures) // 4 + Touch up common pictures (about 16 from Xfer, 7 otherwise) // 25 + Touch up remaining other pictures (about 150...) // Eye candy effects // 2 + Reimplement precipitation using new foreground gobs // 3 + Add a sunlight effect // 2 + Add a rain effect // 2 + Add a horizontal blur effect (sakura CS704) // 1 + Make sideways-parting transition soft-edged // Audio // 10 + Rework Moonsynth into Bunnysynth, plain midi // System // 1 + Create a Settings dialog, video and audio config // 2 + Implement a basic save/load state command; // remember to save all array sizes in save file; even if constant, it // may be desirable to expand them in the future, and it's better to // save stuff dynamically anyway // 2 + Make a pretty save/load screen, accessing separate .Sxx files // 1 + Autosave between scripts? // // ===== TO DO current tasks ===== // 2 - Add intros for the prime three // 1 - Make textboxes for 3sis // 1 - Modularise buildboxbase box image stretching/tiling // 2 - Make transition visuals affect only stuff inside the viewport
Recent changes:
0.88 - Upgraded compiler to 2.6.0; Fixed a textbox garbage bug upon fullscreen switch; Fixed an embarrassing bitmap byte order inconsistency; Fixed several special effects bugs; Rewrote the bash effect to play nice with everything else; Added an always-topmost flag for gobs; Separated implicit and explicit gob coordinates for consistency and precision; Moved implicit waitkeys from SSakura into Decomp for streamlining and automatic double-waitkey elimination, which works surprisingly well; Made mouseoverable areas selectable by keyboard; Changed numeric expression handling to use powerful Reverse Polish Notation.
0.87 - Rewrote the gamma correction effect for efficiency and compatibility; Fixed gamma slide duration; Added global subscript call ability; Allowed indirect variable references in scriptcode; Added INC/DEC scriptcode commands as shorthand for equivalent LET; Implemented an event system (mouseover, timed, user interrupt); Made new title screens with clickable options for the prime three games.
0.86 - Changed output to 32bpp to avoid dib padding issues, had to painfully rewire all drawing interface functions; Separated text control codes from printing buffer for consistency; Improved textbox location precision and autofitting; Rewrote user choice handling for greater flexibility; Enhanced script code string handling; Fixed textbox alpha pre-multiplication; Made the text drop shadow use a proportional size; Added subtle sprite edge smoothing in Decomp-beautify; Reimplemented the credit roll effect; Wrote ending scripts for the three prime games.
0.85 - Big compatibility boost! Added translation of bytecodes 0B-04, 0B-37, 0B-46, 0B-49, 0B-4B, 0E-xx, 11-06, 11-09, and 09-xx-yyzz, a redundant runscript in Transfer Student; Added basic support for Maririn DX; Fixed a graphic object adoption bug; Rationalised case statements in script code.
0.84 - Fixed viewframe bugs, scripted viewframe logic for all supported games; made sleep after transitions explicit, for better effects control; wrote a Maki-chan Graphic reader for Angel Collection 1; enhanced and unified the bash effect; added sys.quit script command.
0.83 - Reimplemented gfx.getsequence, gfx.setsequence and gfx.setframe, for manual animation control; added gob movement effect, and gob alpha slide effect; fixed a bug in .SC5 Recomposer midi translation; hammered screen updates into a cleverer paradigm; improved animation loading logic during decompilation; fixed text alignment issues.
0.82 - Separated text strings from each script into a structure of their own; implemented persistent tracking of seen text and graphics; implemented "Skip seen messages" command; restructured graphic handling in Decomp, enhanced MCGloder; added hardcoded image compositing.
0.81 - Reimplemented vanilla image scaler, now runs 4 times as fast; fixed a graphics offset bug after fullscreen switch; fixed some textbox bugs; added emoticon glyph printing; implemented 2x supersampling for textbox contents, but it sucked, so removed it; added instant, fade, and left-to-right swipe textbox transitions.
| mimu@mooncore.eu | Return to mooncore.eu |