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: 559
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: 559
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: 559
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: 559
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: 640
  • 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: 75
  • 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: 559
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: 559
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: 559
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)
swimswimswim.gif

  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 13421
  • 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: 191
  • 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: 559
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: 519
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: 332
  • 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: 213
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: 559
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: 559
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
Reply to topic



Back to the top of this page

Back to SMS Power!