Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Sunny the Mermaid - development thread

Reply to topic
Author Message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Sunny the Mermaid - development thread
Post Posted: Fri May 15, 2020 10:27 am
Introduction

Back when I made my first SMS game Bruce Lee, I maintained a development thread in this forum, where I posted anytime I made significant progress. I really liked the feedback that I got from the community, so for my new game, Sunny the Mermaid, I’m going to do something similar and use this thread as a kind of development diary.

What I won’t do this time is posting playable demos of the unfinished game, as some of those ended up on dubious emulator websites back then. I will, however, happily share art, music and thoughts that go into gameplay decisions. I hope this will be of interest to at least some of you. If not, I’m going to do it anyway as I think documenting progress made will keep me motivated in the long run.

After finishing Flight of Pigarus I felt a little burnt out, as its development had been really taxing, especially towards the end. So for my next game I decided that I wanted to do something more relaxing with fewer technical challenges, just concentrate on giving the player a good experience and make the new game look and sound as nice as possible.

I considered doing another remake, like I did with Bruce, and thought of the old 8-bit homecomputer game Mermaid Madness. I vividly remembered fondly playing it on a friend’s C64. Only when I loaded it up to reacquaint myself with it, I found that my nostalgia goggles had deceived me and that it’s actually a terrible game with ropey gameplay, crude graphics, grating music and puzzles that make absolutely no sense. Worst of all, I couldn’t believe how outright mean it treated its protagonists.

Shocked and apalled, I immediately abandoned the idea of remaking this mess, and decided to just keep the game’s premise (chubby mermaid saves trapped diver) and build a whole new game upon it.
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
The title screen
Post Posted: Fri May 15, 2020 10:31 am
Last edited by Kagesan on Fri May 15, 2020 10:39 am; edited 1 time in total
The title screen

As you can tell from my previous games, I like plain, arcade-y title screens. I’m not a big fan of title screens with actual pictures on it, so a big bold logo will do. I settled on a sort of “pirate” look for it, then added a little playful element with the tip of the tail.

I like it when the title screen of the game changes according to the system’s region. I had the title screen switch to japanese in Bara Burū and Flight of Pigarus before, so I wanted to have that here as well, albeit in a very toned-down form. This time, instead of changing to a whole new screen, only a single small line of katakana spelling サニーザマーメイド (Sanī za Māmeido) appears above the logo when the game is played on a japanese system.

At the same time I created the font for the game. I gave it a friendly rounded appearance to reflect the personality of my main protagonist and the mood of the game in general, while making sure it remained readable.

Eventually I decided to add a little special effect. By using line interrupts to create a wave effect, I tried to make the screen more watery looking.
I had a whole elaborate system with different overlapping sine waves worked out. I implemented it and ...it looked like crap. The resolution was just too low for the more subtle changes to look like something other than graphical glitches. In the end I trashed the whole idea and went for a very simple system using LUTs to create swelling and waning waves with only a tiny bit of randomness added in to make it more interesting.

When composing the jingle for the title screen, the inability to reproduce the sound of a steeldrum with the PSG got me interested in FM sound, something I hadn’t touched so far. Apart from D.A.R.C., there was very limited work done on the SMS homebrew front yet, so I looked to the MSX community, where solid tools did exist. Using MoonBlaster, I was able to create a very satisfactory jingle, which, after porting over the MSX replayer, played perfectly on my Master System. I tried to give the jingle a bit of a vibe reminiscent of Under the Sea from The Little Mermaid, hopefully without plagiarizing it outright.
title.png (4.56 KB)
title screen - with katakana
title.png

  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
The intro
Post Posted: Fri May 15, 2020 10:34 am
Last edited by Kagesan on Fri May 15, 2020 10:42 am; edited 1 time in total
The intro

I’ve never had an intro in any of my games before, so this was another new thing I wanted to explore. I looked towards Ninja Gaiden (NES) for inspiration, but thought that the whole cinematic approach wouldn’t really fit my game, as its emphasis is more on exploration rather than action.

Instead I opted for a different approach and used comic-book-style panels to tell the story. I first scribbled them roughly on paper before drawing over them to create the actual pixel art. I used partial screen scrolling and varying palettes I could fade in and out seperately to achieve a nice and dynamic flow. To add to the playfulness of the game I decided to make the whole intro text rhyme, which was surprisingly hard to do.

Accompanying the intro sequence is what I believe to be the very first 9-channel FM tune ever to grace the SMS. I think I made it sufficiently dramatic and foreboding, so it sets the mood perfectly.
sunny.jpg (62.24 KB)
Sunny (scribble)
sunny.jpg
ben.jpg (65.9 KB)
Ben (scribble)
ben.jpg

  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Ingame music
Post Posted: Fri May 15, 2020 10:40 am
Ingame music

Now that the intro is finished, I’m starting to prepare the assets for the game proper. The first thing I finished is the ingame tune.

I think it turned out nicely and it’s interesting enough to listen to repeatedly during lengthy gaming sessions. I struggled a bit with MoonBlaster, as its weird arbitrary limitation of 76 patterns max caused some headscratching before I was able to fit the whole tune in.

Additionally, the YM2413’s drum sounds are clearly not meant for slower songs. Generally, they sound too dry. The bass drum has a really aggressive kick to it that’s great for fast, action-packed tunes, but less fitting for slower ones. It also defaults to too high a pitch, but tuning it down makes it lose a lot of its punch. The rest of the drums and the cymbals are okay, though, even if the tom drums tend to sound a bit like hitting a yoghurt cup.

Here’s a preview vgm of the FM version. I’m working on a PSG version next.
stm_ingame_fm.vgz (3.58 KB)
ingame music (FM version)

  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 656
  • Location: Spain
Reply with quote
Post Posted: Fri May 15, 2020 11:41 am
Great idea! It's nice to see a journal of all de creative process involved in creating such a process! :-D
  View user's profile Send private message
  • Joined: 02 Mar 2011
  • Posts: 102
  • Location: Valencia,Spain.
Reply with quote
Post Posted: Fri May 15, 2020 9:04 pm
Hi Kagesan, thank you for sharing your creative process. I hope you will get the energy to work in your game without feeling tired.

Adding brand new games to the sms library it is awesome. Your work will remain forever.
  View user's profile Send private message
  • Joined: 12 Feb 2013
  • Posts: 80
Reply with quote
Post Posted: Sat May 16, 2020 11:42 am
Yes, thanks, this is a great idea. It's interesting to see the development process.
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Ingame music
Post Posted: Mon May 25, 2020 4:35 pm
Ingame music

Here is the PSG version of the ingame tune. Compared to the FM one, it loses some of its dream-like quality and unexpectedly gains a kind of stomping grittiness. I can't decide which version I like more. I guess that's a good sign.

Making a slow song for the PSG is even harder than making one for the FM chip. Long, drawn-out notes have a tendency to sound piercing, so must be balanced carefully. Making the FM version first, then stripping it down to its very basics for the PSG seems to yield more interesting results than doing it the other way around. In this case, I knew I had two melody lines I wanted to preserve, so sacrificing a tone channel for better drum sounds was out of the question. I used noise for drums almost exclusively, but decided to use the tone channel for proper tom drums, as those only appear briefly.
stm_ingame_psg.vgz (5.94 KB)

  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Sun Jun 07, 2020 7:38 am
I started working on some animations. As most people would, I'll start with the main protagonist, as that's the sprite the player is looking at all the time, so it makes sense to make animations look as smooth and appealing as possible.

Usually, the first thing I'd do would be a basic walking cycle. As a rule of thumb, it would have 8 frames of animation, but on systems with lower resolution like the SMS, you can get away with less. Bara Burū had a walking cyle with only 4 frames, and that looked fine. Bruce Lee had 6, and that was already super-smooth. I'm going to stick with 6 for Sunny, too, even though she's a few pixels taller than Bruce.

Of course, since the game is set underwater, there's no walking, hence no walking cycle either. What we need instead is a swimming cycle. Now here's something I've never animated before. Instead of just moving the arms and legs, it has to be more about moving the whole body, especially shoulders and hips. I don't like depictions of mermaids in which they look like they have knees, as that makes them look like humans wearing a mermaid costume. Instead, I want the tail to move in a snake-like fashion.

I'm sure an experienced animator could draw such a cycle rightaway, but unfortunately, I'm not an experienced animator. So I had to find a way to easily visualize the moving main parts of the body and settled on a bunch of coloured blobs I can easily move around until the motion looks fluid enough. They represent the head, shoulders, chest, midriff, hips and tail. (I leave out the arms for now, as their position will depend on the item used.) I now have a kind of skeleton I can draw the actual frames over.
swimming.gif (1.79 KB)
swimming animation test
swimming.gif

  View user's profile Send private message
  • Joined: 12 Feb 2013
  • Posts: 80
Reply with quote
Post Posted: Mon Jun 08, 2020 11:50 pm
Very smooth swimming animation. Looks good!
  View user's profile Send private message
  • Joined: 18 Mar 2020
  • Posts: 24
Reply with quote
Post Posted: Sun Jun 21, 2020 9:57 pm
Very interesting devlog for a very promising game! Thanks for the loads of details shared so far.

I really love the swimming animation, it have a quite "smooth" feeling.
I'm looking forward to see how it will look on the final player character!
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Tue Nov 03, 2020 6:39 pm
Usually, when coding, you try to divide the work into little chunks. These are much easier to debug, and there's less room for being stupid. Sometimes, though, you have to tackle larger pieces of code, where you only know if they work once you've finished the whole of them, and this more often than not results in nerve-wrecking bug-squashing sessions. So one of the most satisfying things that can happen during development is writing a large, complex piece of code, and see it working as expected on your first try. This is what has happened to me this week. (Yay!)

I decided to tackle two aspects of the game at once, namely player movement and player animation.

For movement, I decided to implement inertia for the first time ever. My previous games all had super-responsive, immediate controls, but since the new one is set underwater, there needed to be some kind of feedback to make you feel it. After only a bit of experimentation, I hit a sweet spot between the controls feeling weighty but not floaty. In fact, even without any additional game elements, just controling the player sprite is already fun.

For animation, I used Tilificator to cut my sprite sheet into as few sprites as possible. It needed some manual data arrangement, but it worked flawlessly.

I'm very happy with what I achieved this week. It's not much yet, but a promising start nonetheless.

Here's a little gif of how things are looking right now. Isn't she cute?
swimswimswim.gif (209 KB)

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13547
  • Location: London
Reply with quote
Post Posted: Tue Nov 03, 2020 8:16 pm
I remember that for Ono when I implemented inertia - constant acceleration and deceleration, computing as 8.8 fixed point, translating into velocity and position - it was surprising how nice it felt with minimal tweaking of the parameters. Of course, my graphics were a lot more simplistic :) Does the animation reflect the movement state or is it constant?
  View user's profile Send private message Visit poster's website
  • Joined: 09 Dec 2013
  • Posts: 199
  • Location: detroit
Reply with quote
Post Posted: Wed Nov 04, 2020 4:04 am
Super cute sprite anim, nice work!
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Wed Nov 04, 2020 8:34 am
Maxim wrote
Does the animation reflect the movement state or is it constant?


Not in the way that it acknowledges the direction the player moves (apart from the obvious facing left/right), but it does accelerate and decelerate along with the movement speed.
  View user's profile Send private message
  • Joined: 26 Jan 2014
  • Posts: 610
Reply with quote
Post Posted: Wed Nov 04, 2020 10:15 am
It's stange to see a mermaid with tiny boobs.
  View user's profile Send private message Visit poster's website
  • Joined: 04 Jul 2010
  • Posts: 346
  • Location: Angers, France
Reply with quote
Post Posted: Wed Nov 04, 2020 10:46 am
He will add a konami code for this ! LOL

@Kagesan, very nice animation & cute character !
  View user's profile Send private message
  • Joined: 21 Oct 2015
  • Posts: 238
Reply with quote
Post Posted: Wed Nov 04, 2020 5:46 pm
Revo wrote
It's stange to see a mermaid with tiny boobs.


Due sprite limits XD
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Thu Nov 05, 2020 9:49 am
LOL. I promise I'll make sure to up the boobage in the 16-bit sequel.
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Sun Nov 22, 2020 5:10 pm
Doodling some marine life, mostly to get a feel for which colors I want in my sprite palette. I don't know yet if any of these will actually end up in the game.

(Click to see the animation.)
fish.gif (3.14 KB)
fish.gif
jellyfish.gif (1.68 KB)
jellyfish.gif
anemone.gif (5.43 KB)
anemone.gif

  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Sat Feb 06, 2021 11:11 am
I haven't done any actual coding lately, but I did some conceptual work and thought more about the future structure of the game. (A longer post about that is coming soon.)

I also worked on a few effects, like these watery explosions.
explosion_big.gif (4.35 KB)
explosion_big.gif
explosion.gif (1.63 KB)
explosion.gif

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13547
  • Location: London
Reply with quote
Post Posted: Sat Feb 06, 2021 11:41 am
Deleting thumbnails makes the gifs animate in the page :)
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Sat Feb 06, 2021 12:29 pm
I was not aware of that. Thank you.
  View user's profile Send private message
  • Joined: 05 Jan 2006
  • Posts: 333
  • Location: USA
Reply with quote
Post Posted: Sun Feb 07, 2021 10:43 am
This is looking great! And I love aquatic themed games. wonderful sketches too!
maybe, just maybe...you could add an ecco cameo? :)

lmk if you want any additional art help ( I'm a visual artist as well) I can make some doodles if ya need more character brainstorming (free time permitting, heh).

I also made sprite gifs wayy back in the day.

p.s. I support video game sprites that have a boob size which is not 3x the characters head size (*cough* blaze *cough*) :)
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Sun Feb 07, 2021 11:33 am
Thank you. And thanks for the offer for help, but making everything (including graphics, and sound) all by myself is what I like most about developing for the Master Sytem.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1211
  • Location: italy
Reply with quote
Post Posted: Sun Feb 07, 2021 1:42 pm
Does that mean that you're going to write the Italian translation yourself this time? :U

Just kidding, you know you can contact me when the time comes, I look forward to play yet another fantastic game made by you :)
  View user's profile Send private message Visit poster's website
  • Joined: 05 Jan 2006
  • Posts: 333
  • Location: USA
Reply with quote
Post Posted: Sun Feb 07, 2021 2:14 pm
Kagesan wrote
making everything (including graphics, and sound) all by myself is what I like most about developing for the Master Sytem.


Master of the Master System :O

Master^2 System :O :O
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 2859
Reply with quote
Post Posted: Sun Feb 07, 2021 9:29 pm
Tom wrote
Does that mean that you're going to write the Italian translation yourself this time?


Kagesan can code asm, provide art and create and compose music himself. I guess it wouldn't impress me much more if he starts to write all the 5 languages booklet :D
  View user's profile Send private message Visit poster's website
  • Joined: 05 Jan 2006
  • Posts: 333
  • Location: USA
Reply with quote
Post Posted: Tue Feb 09, 2021 6:43 am
sverx wrote
Tom wrote
Does that mean that you're going to write the Italian translation yourself this time?


Kagesan can code asm, provide art and create and compose music himself. I guess it wouldn't impress me much more if he starts to write all the 5 languages booklet :D


After they're done with that, they'll design a new FPGA incorporating the FM module and write a seperate upgraded OST which theyll make firmware upgradeable via GG TV Tuner over-the-air data transfer :D
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Tue Feb 09, 2021 8:40 am
LOL. I think you guys might be overestimating my skills. Just a tad. :D
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2859
Reply with quote
Post Posted: Wed Feb 10, 2021 2:37 pm
segasonicfan wrote
After they're done with that, they'll design a new FPGA incorporating the FM module and write a seperate upgraded OST which theyll make firmware upgradeable via GG TV Tuner over-the-air data transfer :D


For those desiring the physical cartridge instead, he will parachute on your back lawn from a fighter jet he piloted himself, knock down your mother-in-law with a kung-fu move if she's on the path, and hand the box directly into your hands.

:D

( @Kagesan - we're just kidding )
  View user's profile Send private message Visit poster's website
  • Joined: 01 Feb 2014
  • Posts: 601
Reply with quote
Post Posted: Wed Feb 10, 2021 3:32 pm
I'm aware. :D
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1211
  • Location: italy
Reply with quote
Post Posted: Wed Feb 10, 2021 4:33 pm
Lies, Kagesan's new project will be a Master System version of Doom which:
  • runs at 120fps instead of 60fps;
  • checks if it's being run in a Mega Drive with a PBC, and uses the YM2612 accordingly; of course, the audio will be 5.1 thanks to some clever multiplexing;
  • uses an actual Game Gear instead of the standard joypad (with a custom connection cable of course), and displays Doomguy's facial expression on the Game Gear screen rather than on a bar on the main game screen.

Seriously though, the Dreamcast had that VMU thing which could display things on the joypads, so now I actually have to wonder, would it even be possible at all to write a Master System software that expects a Game Gear to be used as a joypad and displays things on it? If so, the answer should be probably split from this topic, but still, I just randomly had this crazy idea and I thought to share it with you.

Also can you use the Mega Drive's YM2612 while in Master System mode? I just realised that two of my random ideas might actually make sense, go me 😁
  View user's profile Send private message Visit poster's website
  • Joined: 08 Sep 2018
  • Posts: 253
Reply with quote
Post Posted: Wed Feb 10, 2021 8:03 pm
Last edited by IllusionOfMana on Wed Feb 10, 2021 8:46 pm; edited 1 time in total
Tom wrote
Lies, Kagesan's new project will be a Master System version of Doom which:
  • runs at 120fps instead of 60fps;
  • checks if it's being run in a Mega Drive with a PBC, and uses the YM2612 accordingly; of course, the audio will be 5.1 thanks to some clever multiplexing;
  • uses an actual Game Gear instead of the standard joypad (with a custom connection cable of course), and displays Doomguy's facial expression on the Game Gear screen rather than on a bar on the main game screen.

Seriously though, the Dreamcast had that VMU thing which could display things on the joypads, so now I actually have to wonder, would it even be possible at all to write a Master System software that expects a Game Gear to be used as a joypad and displays things on it? If so, the answer should be probably split from this topic, but still, I just randomly had this crazy idea and I thought to share it with you.

Also can you use the Mega Drive's YM2612 while in Master System mode? I just realised that two of my random ideas might actually make sense, go me 😁


Ive given thought about the game gear thing myself. It would require a separate cart for the GG. For the YM2612 thing, read into MegaDrive Mode 5 for SMS programs. That might answer some things? or leave you more in wonder on the subject than you already are.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13547
  • Location: London
Reply with quote
Post Posted: Wed Feb 10, 2021 8:38 pm
Doom originally ram at 35fps.

The Gear to Gear cable could be repurposed as a general communication port to a Master System control port, so it could work.
  View user's profile Send private message Visit poster's website
  • Joined: 13 Apr 2005
  • Posts: 239
  • Location: Aracruz - ES, Brazil
Reply with quote
Post Posted: Thu Feb 11, 2021 3:17 am
Well... Seeing how Kagesan works, I think a DOOM port will be very possible in his hands. You know what they says: If it has a screen, you can probably see DOOM on it. XD

Jokes apart, I would love to see Kagesan's next work (in this case, the game of this topic).





Tom wrote
Lies, Kagesan's new project will be a Master System version of Doom which:
  • runs at 120fps instead of 60fps;
  • checks if it's being run in a Mega Drive with a PBC, and uses the YM2612 accordingly; of course, the audio will be 5.1 thanks to some clever multiplexing;
  • uses an actual Game Gear instead of the standard joypad (with a custom connection cable of course), and displays Doomguy's facial expression on the Game Gear screen rather than on a bar on the main game screen.

Seriously though, the Dreamcast had that VMU thing which could display things on the joypads, so now I actually have to wonder, would it even be possible at all to write a Master System software that expects a Game Gear to be used as a joypad and displays things on it? If so, the answer should be probably split from this topic, but still, I just randomly had this crazy idea and I thought to share it with you.

Also can you use the Mega Drive's YM2612 while in Master System mode? I just realised that two of my random ideas might actually make sense, go me 😁


Now you said it, I must ask: Is it possible, for real, to make a SMS game who can take detect if the game is running on a Mega Drive or a Game Gear, and make use of some of some feature of those systems, like make use of the Mega Drive's YM2612 sound chip, or the Game Gear's Stereo output audio?
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 2859
Reply with quote
Post Posted: Thu Feb 11, 2021 3:45 pm
We should really split this topic, we're derailing Kagesan's development thread

rouken wrote
Is it possible, for real, to make a SMS game who can take detect if the game is running on a Mega Drive or a Game Gear, and make use of some of some feature of those systems, like make use of the Mega Drive's YM2612 sound chip, or the Game Gear's Stereo output audio?


sure you can detect on which hardware you're running (see SMS Test Suite), but what you can do it depends. You might be able to use Game Gear stereo output from SMS mode but I think it's not confirmed. I don't think you can talk to the YM2612 in a MD but I'm no way knowledgeable in this topic.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!