GILDED LILLY - LILLY'S SAGA FOR MSX2
Pål Frogner Hansen:
Q. What got you interested in developing games for MSX?
Pål: I grew up during the eighties and while most of my friends had C64, I had an MSX. My access to new games was not that great, so I started to look into programming. Made some demos and such. Around 1992, I left the MSX in the attic and went on to get an education within computer science. After that, I worked 15 years in the gaming industry. Started off with programming but moved on to management and leadership. I don’t think I have done production code since 2003. Around 2019 I, by chance, discovered that there is something called the “retro scene” and that the MSX-retro scene was very much alive and thriving. It was fantastic to delve into the world of 8-bit again, after almost 30 years in exile.
Q. What games inspired Lilly’s Saga and its gameplay?
Too many of the games being made aren't fun. I chose the platform genre because it is my personal favourite and it comes with a good, well-known, easy-to-understand foundation to build fun gameplay on. Also, any smooth horizontal scrolling game would also be an inspiration, as this type of scroll can almost be considered rare on the MSX.
I think everyone who plays the game will first and foremost recognise the game style from Super Mario Bros. as well as Wonderboy. In my vision statements for the game, I stated this: “Classic - should use the classic arcade font. True to the classics. Honor/Tribute to Wonder Boy and other legendary platformers”. In the “Shoreline” theme I even use snails, octos and moving cloud platforms very similar to Wonderboy. The purpose is obviously to bring old memories back. I’ve also mixed in elements from other favourites of mine, like Legend of Zelda, Castlevania, Rainbow Islands, The Maze of Galious and many others.
Q. What are the difficulties of developing a platform game?
Making a game fun is always difficult, so that is one thing. Now, platformers have a basic formula that invites to having fun. Good start. The challenge on MSX and MSX2 is the smooth horizontal scrolling. Why are there so few games with this on this platform? And when you find them, the borders on the side are jerky. On MSX/MSX2 there is currently no good, standard way to do this. In Lilly's Saga, I have chosen a way which needs careful mixing of level/gameplay design and technology. The hardware has shortcomings which you need to hide in the level design as well as in your engine. On MSX2 there is hardware support for vertical scrolling. –So this is fast and effective, but there is no major feat implementing this. Horizontal on the other hand is a lot more work to get right. Unless you accept artefacts in your horizontal scroller, you will need to spend a lot more cycles on the effect during a frame compared to the vertical scroll. This, in turn, means a lot fewer cycles left for other activities on the screen, things like enemy action, visual effects, sound effects, music and general engine work.
Q. Did entering the MSXDEV competition give you any challenges or advantages for getting Lilly’s Saga finished?
MSXdev for me is a fantastic support to the community and a nice way to be able to reach out to players and retro enthusiasts. The deadline for MSXdev matched pretty well with the time envisioned for Lilly’s Saga’s release date anyway, so it wasn’t a huge difference in that sense. But it did give the release date a hard deadline though, which otherwise potentially could drag out without any (other) real consequences. As often is the case in homebrew projects.
Having a hard deadline also effectively stops endless feature creeps.
Q. How were the graphics and music developed?
All tiles, full-screen images and sprites were made in Photoshop using indexed colour and png as the format. As post-process steps, I made custom scripts in python to convert into various formats which my engine and the MSX system could understand. To test out how the different sprite frames looked, I used an online sprite tool called Piskel.
As for the 9-channel FM music, our composer used an MSX tracker called MoonBlaster which has been around forever. Due to performance reasons, I had chosen to play music in the game based on a variant of the VGM-format (Video Game Music). So, once the music was created, we played the music in MoonBlaster using the openmsx emulator and used this emulator to record the music and store it as VGM files. The VGM files were then post-processed to be reduced in size as well as corrected for jitter and furthermore encoded into a format that was optimal for the engine to stream and play.
Q. What was the development environment and were any particular tools used?
The setup was done on a windows 10 PC but could easily have been a Mac if I would have wanted to. The main tools were Visual Code for programming, MoonBlaster for music, ayFXEdit for PSG sound effects (which was a struggle, but that's another story), Tiled for level creation, Photoshop for graphics, Piskel for animations, Google Docs/Sheets/Slides for design documents, cmd (batch) for makefiles and buildscripts and GitHub for version control.
The openMSX debugger and emulator were instrumental to make this game a reality. It is incredibly powerful.
Furthermore, 10+ custom scripts were written in python to glue the whole development pipeline together.
The game is written in a mix of C and Z80 assembly. For C I used SDCC (Small Device C Compiler), which I’m very happy with. It is well maintained and is being constantly improved.
Lastly, I sketch and make notes all the time while developing, so I used a remarkable2 with great success for all this. remarkable2 is a digital notepad which feels like normal paper.
These are the headlines. Some other smaller tools were also used now and then.
Q. Were you pleased to win the competition?
I was very pleased, and so were the composer and the graphic artist. We won in every category, best in gameplay, best in graphics and best in sound. I’m not sure what we expected, but this combo was a surprise.
Q. What were your favourite entries?
My favourite entry was Diced, it has the right polish as well as several other brilliant aspects. The developers really work with, and around, limitations in the hardware which I think is a core part of the job in a contest like this.
I should also mention that Sales Discontinued impressed me in many ways. Point-and-click is not my cup of tea, but the developer brought several new technical things to the (MSX) table which helps to raise the bar in the contest.
Sacred Valley is also worth mentioning. It has potential.
Q. What are your plans for a physical release, and will there be anything added?
Yes, physical release is indeed planned for. We call it the “Premium Edition” as it will provide a greater value than just the downloadable version.
The free download version can be played in an emulator, but to play it on a real machine, the player needs to possess a so-called MegaFlashROM cartridge with 2MB capacity or more (or equivalent cartridge). The physical release comes in its own megarom cartridge and no extra hardware is needed. The cartridge will feature storage capabilities, so up to six save game slots are available.
The plans are to include a game manual with a long and detailed Making-of. Follow development from the inception and until the release 2.5 years later. Get in behind the scenes and read about how this game was made, which principles were used and who was involved. You will learn about the tricks that enabled things that shouldn’t be possible on MSX2. The reader will enjoy lots of previously unreleased visuals from the development phases, like sketches and insights into design documents.
In addition, there is a great bonus track composed for this edition only. It can be enjoyed on two of the levels.
And then we have multiple languages: The publisher will provide some of the written material in French as well, however, at the time of this writing, it is not decided which parts and how much that will be translated.
Q. Do you have any new projects in development?
I have plans for two new projects which both have the chance of “raising the bar” on the MSX2. Hope to push the hardware limits again and make something technically impressive, highly polished and fun. I’m pretty excited about both of them. But, are these in active development? No, just cautiously doing research on feasibility at the moment, as I have promised my wife a little break now. This Lilly journey has really been time-consuming.
WORTHY WINNERS
Five games that won recent competitions.
Tactus by Zeta0134
(NESDev2022)
An 8-bit take on Crypt of the NecroDancer, move and fight to the beat in this rhythm-action RPG.
NEONNoir by Steamknight
(Amiga Blitz Basic Jam)
Become a detective in this stylish cyberpunk point & click adventure, with dialogue options and a fantastic look.
Marble Boy by Roman Werner
(RESET Craptastic 2022)
Collect flags and avoid the gaps across four courses, crammed into just 4K of the C64’s memory.
Zolf by Ismael Rodriguez
(LowRezJam 2022)
Creators were limited to a (simulated) 64x64 resolution; this clever adventure uses a small alien “golf ball” to solve puzzles.
Castaway by The T Team
(CPCRetroDev 2022)
After problems with the new voting system, this winning survival adventure sees Tom escaping from a desert island.
NEWS BYTES
AMIGA AGA: Sonic Sloth Games released Turrican 2 AGA, ported from the MS-DOS version with new graphics and hidden secrets, also supporting the Amiga 500 Mini: https://sonicslothgames.itch.io/turrican2aga
AMSTRAD CPC: Inspired by the Locomalito game, 21 Bloques released Darkula64 - https://bit.ly/darkula64
APPLE IIGS: Check out Brutal Deluxe Software’s Karate: https://bit.ly/karate-gs
C16: Misfit’s latest is X-Massacre, as you shoot enemies and protect presents. https://misfit.itch.io/x-massacre
C64: Pre-orders for physical versions of Terrestrial (previewed in issue 241) are open at https://bit.ly/terrrestrial-c64 and the digital download is at https://psytronik.itch.io/terrestrial
MEGA DRIVE: Final Fight MD got a playable demo: https://bit.ly/ff-md-demo
MSX: The Retro Programmer is working on a conversion of the classic Deathchase, with a playable alpha available. https://bit.ly/deathchase-msx
PET: Jimbo flew to the rescue with PETLifter, a conversion of the classic Choplifter. https://jimbo.itch.io/petlifter
VIC-20: Snake Games Are The Best Games according to Hewco, with their unexpanded VIC game also available on cassette from The Future Was 8-Bit: https://bit.ly/snake-vic
ZX SPECTRUM: Celebrating 30 years of Turbo the Tortoise, Jarrod Bentley modified the game with a new loading screen and improved graphics: http://bit.ly/3IS6dLB
Become 2000AD character Sam Slade – Robo Hunter in this isometric game: https://bit.ly/samslade-zx
Retro Souls launched its latest impressive game, Ringo. https://zxonline.net/game/ringo/
VARIOUS: The latest Cross-Lib game from Fabrizio Caruso (see RG240) is the word game Verbix on multiple formats. https://bit.ly/crosslib-verbix
CHAMPION CODER
[Name] Andrea Baldiraghi (TheRoboZ)
[Info]
From: Italy, living in China
Website: https://theroboz.itch.io/
Format: PICO-8, Mega Drive
Previous games: Masters of the Universe, Prince of Persia, R-Type (all PICO-8)
Working on: R-Type (Mega Drive)
Q. What got you interested in programming homebrew?
I grew up playing videogames obviously and always dreamed of programming my own. I experimented with some game ideas in the past but what really ignited the fire was reading books and stories about the making of old video games and conversions for home computers/consoles (history of Sensible Software, Bitmap Brothers universe, racing the beam etc…) It was an experience I felt I missed out on and now there was a new chance at re-capturing it.
Q. How did you get started in PICO-8 development?
I had only programmed one full game before, to learn c# after a very long hiatus from programming anything at all. I had a game idea that required a tracker-style music system and, while searching online, I found pico-8 and its community and was captivated by the idea of an all-included, programmable system with modern language comfort but retro feel capabilities.
I ported my game to learn LUA and the experience was really enjoyable and joined a game jam to push myself to continue. It’s also a great first step to teaching kids about programming and it’s something I plan to do with my son now that he is almost 5 years old.
Q. Why did you choose R-Type to remake?
I was looking for a suitable game to support the next evolution of my shape drawing system. R-Type first stage is very symmetrical with lots of empty space and then a couple of massive objects so it was a very good test case. The first three levels are iconic in their style and variation and gameplay is modern enough without being overwhelming like a bullet-hell.
Q. How long did the PICO-8 remake take you, and what is it like developing for that format?
Work on R-Type for pico-8 started around January 20, 2021, in parallel with the evolving of the drawing system I used on my previous 3 games. The first single-stage demo was released on April 15 and final game on Oct 1st 2021 after a 2 month break due to health problems. Around 7 months total, working a couple hours a day 3,4 days a week on average.
Most of the time was spent on analysing the original game and guessing what was going on. This being the 4th game, coding on pico-8 was quite smooth even if sometimes fighting with tokens can be a little like coding while playing Tetris at the same time, but it’s part of its charm and keeps you focused.
Q. R-Type has a great soundtrack, how did you get YouryKiki on board?
While working on MoTU I was looking for a pico-8 musician and got 3 very good submissions that all ended up in the game, but YouryKiki ‘s style was almost exactly how I imagined the music in my head. We kept in touch and he was keen on doing the r-type one too (which turned out pretty amazing). I was hoping to include an in-game music player but there were no tokens left for it, the soundtrack is on his Soundcloud: https://soundcloud.com/youry-kiki
Q. What prompted the Mega Drive/Genesis conversion?
I was looking into different alternatives for a project without the self-imposed constraint of pico-8 for a change. At the same time, I stumbled upon Pigsy’s SoTN (https://www.youtube.com/@PigsysRetroGameDevTutorials ) videos that introduced me to SGDK and the possibility of programming for a real console. I learned from experience that porting a project is much easier than starting a new game so you can focus on the “how” of it instead of the “what”. R-type was never ported to the Mega Drive but it’s a very good fit for the system capabilities so I owed to my 16-year-old self to give it a go.
Q. What have been the biggest challenges in making the Mega Drive port?
Honestly my inexperience with the platform and the C language so far. But I must admit SGDK does a lot of heavy lifting and I am surprised by the performance I am getting from the old 68000, considering I am not using any particular optimization yet. There’s also the realization, coming from pico-8, that for all its self-imposed limitation, it is quite a powerful “machine”, especially its palette re-mapping capabilities which are probably the feature I miss the most on the Mega Drive.
Q. What is your development environment and are there any particular tools you use?
For Mega Drive coding I am using Visual Studio Code with the Genesis Code plugin by zerasul https://github.com/zerasul/genesis-code. As most Mega Drive projects, it is written in C and uses the amazing SGDK libraries by Stephane-D - https://github.com/Stephane-D/SGDK
For pico-8 I coded my first game inside the pico-8 editor and some final refinements in notepad++but since Masters of the Universe I switched to visual studio code with grumpydev’s plugin at first https://github.com/grumpydev/pico8vscodeeditor and now with Jan Bergeson’s language server https://github.com/japhib/pico8-ls (because I am getting old and my eyes are not as resilient as they used to be).
Q. When do you think it will be finished?
I was planning to release a 1 stage demo by year’s end and I am not far from reaching this goal, depending on things go these last few days I might have to postpone it a month at most. Then I’ll collect player’s feedback before continuing with the remaining levels.
Q. Could there ever be a physical release on cartridge?
While I don’t own a real Mega Drive anymore (I owned a European and a Japanese one when I was a teenager) and I am not that up-to-date with the scene, I got enough positive feedback from fans that I think it could be done with some help from them. I need to finish the game first though. I was considering getting a Mega Drive Mini and running the game on it as a personal celebration when the project will be complete.
Q. What other projects are you working on?
Right now, I have to complete the Prince of Persia port for Pico-8, which will resume as soon as R-Type Stage 1 is complete and available for testing. I was hoping to do them in parallel alternating work days but it’s a bit too confusing to switch from different systems/ languages and I feel I can be more productive doing only one at a time.
After this I still have 2 games planned for pico-8 and at a good stage (Cabal and my boxing game) and I would really like to do an original game on the Mega Drive, even collaborating with someone else.
Q. Mortal Cards is a fun twist on the deck builder, was it difficult to balance the characters?
The characters are only cosmetic variations, they all share the same cards/moves, randomized when dealt. This makes the game technically fair. I toyed with the idea of releasing an improved version with more features, including variation in characters' abilities, as the game as it is still the jam version done in 6 days.
Q. Klax is a great puzzle game on the Lynx, do you think it fits well on PICO-8?
I think it does and while probably the least successful of all the games so far it is the one that I am proudest of because it is a 100% complete conversion with nothing cut except some sound samples. I think lynx games are all good candidates for pico-8 ports due to the original resolution not being that far off and pico-8 sprite scaling capabilities. I would like to port some other game but my main obstacle is available time.
Q. Masters of the Universe is a remake of Barbarian with He-Man characters – were you worried about it being shut down because of copyright?
When I started the project, I found there was another much higher profile game based on MoTU which was using graphic from the tv-show so I guessed if they weren’t shut down, I would have probably been safe too. I got a bit more preoccupied at release because coincidentally the Netflix show was coming out and maybe the renewed attention to the property could be a double-edged sword but I credited Mattel and the game is free anyway, nobody complained so far.
Q. Were you pleased with how your Prince of Persia remake turned out?
I am quite pleased with how it is going so far. I have been able to include everything planned. And, in the end, the 32kb cart will have the whole game plus, possibly, a couple of things I still haven’t shown. It’s not complete yet, the combat is unfinished and will be done after R-Type.
DATABURST
Muddy Racers
Format: C64 cartridge
Credits: Monte Boyd for Protovision
Price: $6.99 digital / from €40 physical
[Score] 82%
Magic and Legend – Time Knights
Format: Game Boy Color
Credits: Legendary Monkey Magic for The Retro Room
Price: Digital TBC / physical from $42.99
[Score] 80%
Hyperdrive
Format: Amstrad CPC 464 (Dandanator/CPR cartridge images)
Credits: Juan J. Martinez
Price: Free download
[Score] 86%
PROCESSING - COLOCO DX (GENESIS / MEGA DRIVE)
Q. When was Tuxedo formed, and who is in the group currently?
A. Most of us meet at 1985Alternativo, one of the first homebrew groups in Spain (Oh Mummy Genesis being released in 2012). After 1985Alternativo disappeared, some of us regrouped to form Tuxedo.
Q. What drew you to homebrew development?
A. For most of us, we came back to retro gaming in our early thirties, and it was just a time when SGDK and other libraries were appearing. So we got sucked into the homebrew development world.
Q. What development systems and processes do you use for the various machines?
A. We mainly develop using the C language. Depending on the target machine we use one of several possible C compilers (SDCC, GCC or Z88DK). We use pre-existing libraries (at least in the games we’re working on now). So, we used “La Churrera” and “Pestecera” by Mojon Twins for Spectrum and Amstrad, SGDK by Stef for Megadrive and devkitSMS by Sverx for Master System.
For sound creation we use dedicated trackers (a music sequencer software) depending on the system we are working on. Some examples: Beepola for ZX Spectrum Beeper, WYZTracker or Arkos Tracker for CPC Spectrum and VGM Music Maker or Deflemask for the Megadrive.
Q. What inspired the original Coloco for ZX Spectrum?
A. Once we decided we were going to use the Mojon Twins’ MK1 engine (AKA La Churrera), there was a prominent element on it, the inertia. As we were searching for an original idea, we rescued an old HTML5 game concept, already called Coloco (Previously Project Swooosh!). It was inspired by the ZX Spectrum game Thrust II.
Q. How did you come up with Gotris for Master System?
A: Kusfo had the idea almost 15 years before the final incarnation. Originally it was a simple puzzle game done in Pygame. Later, he decided to convert it to Master System for the SMSPower Compo 2017.
Q. What games influenced Game Boy title Chain Break?
A. The game which inspired us the most was Metro Cross, the 1985 arcade classic from Namco. As it had a ZX Spectrum conversion, it seemed doable to do a similar game on a Game Boy.
We also had in mind the portable concept of a handheld console, so we worked over a game idea where the levels were short and quick, and you could pick it up, play a bit, and leave, like most modern smartphone games do.
Q. What made you start work on a Genesis version of Coloco?
A. The Sega Genesis has always been a fantastic console for homebrew development. Accessible, well documented, has great tools, and it sports great visual and audio capabilities. We always wanted to start programming for it, and porting Coloco seemed like a good starting point.
Q. How did you come up with including the Spectrum levels as a bonus?
A. The Spectrum levels were the first ones designed. We used them for building the engine. Initially, the idea was to make a 1:1 port from the original Spectrum game and stop it there… but soon we realized the potential for a bigger project (in terms of scale, visuals, audio and features), and that’s how Coloco DX was born.
We decided to keep the ZX Spectrum levels as a bonus, and we are considering adding the CPC graphics and music too into it sometime in the next future.
Q. Are you testing on real hardware?
A. We use both techniques to test, in the early stages of development we use the computer, it is easier to detect an error and sometimes you have to record a video to find out where or what is wrong, when the project is already advancing they go on to do the test in original hardware and in all the models that we have to see that it will not fail in any system.
Q. Will there be just a free download of the ROM, or are you planning a physical version of Coloco?
A. The plan is always to bring our games into a physical format. Apart from that we usually have them also released as a downloadable ROM:
Q. Are you working on anything else at the moment?
A. We’re just trying different small things at the moment, some of them may become games in the future.
Comments