The Space Moth Dev Thread (LTTP)

A place for people with an interest in developing new shmups.
Post Reply
User avatar
dan76
Posts: 1330
Joined: Fri Jun 05, 2009 5:16 pm
Location: Casino - London

The Space Moth Dev Thread (LTTP)

Post by dan76 »

JDE and I have recently released Space Moth, and we thought it would be good to start a dev thread to show how we made the game. Hopefully it will be of interest to others who are making a shmup. You can check out our website at http://www.1ccgames.com to try a free demo.

Image

Originally we made a small Flash game as a joke, based around Casino Arcade, where the London shmup crowd used to meet once a week.

Image

We then thought we would try and make something good enough to play seriously. JDE did all the coding, writing the game engine. I handled the graphics, music and sound - we both pitched in on the design and system.

We made a list of different scoring systems, and we both agreed that we wanted a system that didn't involve anything that would screw your run if you died: we wanted a simple core mechanic that you could jump right back into regardless of where you were or how many lives you had. It may sound obvious, but the focus of the game had to be the fun of dodging bullets and destroying things. We also didn't want the game screen to be full of massive bonus point displays, or a score that went into the trillions, both things we find annoying to read and keep track of. Scanlines and Tate support were also high on the list.

There were a number of different concepts - a more traditional setting of space ships etc. - but we soon settled on "Bitter Moth": the premise was that you would play as an ugly moth that was bitter about his bad looks, and would "soul drain" the colour and life out of pretty butterflies and other insects, making them wither and die. Rapid shot would "soul drain" the enemies, switching to laser would finish them off for a bonus. That was the basic scoring, and it would have a visual representation of the system that wasn't just a large number.

Image

I quickly discovered that this would be a nightmare to animate as every enemy would not only have to have 4 or 5 different "states" of greyness, but each frame would also have to have a matching state. It would also take up too much memory and more importantly it didn't look good. Turning everything grey made the game look drab, so "soul drained" enemies were changed to neon instead. JDE got an engine running that could handle what we needed - that was lots of bullets and large scrolling backgrounds, each with multiple layers as we wanted ground based enemies to appear from under certain sections - this was a TON of work.

Image

Obviously we did things arse-backwards by me designing the backgrounds first, then JDE trying to get them to fit into the game. Once the backgrounds could scroll it was then a matter of how much we could load on top before the game crunched to a halt. As the engine got more optimised we were able to add quite a lot. I then had to go back and desaturate the backgrounds so as not to clash with bullets and enemies.

Image

Once we finally got the game engine running smoothly it was time to design the enemy placement in levels, some of which were largely determined by the backgrounds. We generally placed the ground enemies first, then the airborne ones. We'd both played a lot of shmups so had a good idea of the pacing that we wanted. We would meet once a week, work on one stage at a time until we had something playable, then progress onto the next stage until we could play through all stages, then go back to the beginning and repeat, repeat, repeat. On those play-throughs where we could go from beginning to end we could clearly see how the difficulty curve was going.

Image

Sometimes there were things we wanted to do but couldn't as we always had to think about memory and performance. We got into a routine of Skyping once a week, where we would playtest together on a video call, then I would make a ton of notes on what we thought should be changed. We pretty much agreed on most things, and getting all the notes done for the next call was a good deadline.

Image

As the game progressed we kept on adding ideas to the scoring system: we discovered that making a complicated scoring system is actually quite easy... just keep adding ideas! So for a while we had a small helper - the Broken Butterfly - that would follow you like an option. It did no damage but constantly "soul drained" enemies. We were also going to introduce mini chains, where if you "soul drained" two or three enemies and finished them off with one laser blast you would get a multiplier (we might still use this a some point).

There was going to be a bar that would gradually fill up every time an enemy was successfully "soul drained" - when full it would activate a super laser that multiplied the score. During the middle of the game's development we considered having bullet grazing, but didn't actually add it until much later. Eventually we decided to just have "soul draining" and grazing, with some hidden items to find to add variety. The other ideas are enjoyable by themselves, but when added together just made the game too complicated.

We forced members of the Casino Crew to play the game (at gun point) and be as honest as possible about what they thought of it. It was really valuable getting people together to play it. We spent ages polishing the game as best we could, altering enemy attack, damage, speed, placement, HP and more by the smallest amounts. Eventually we got to the point where we could no longer distinguish if we were just making the game different rather than better. So it was time to release - and change the title to Space Moth.

Image

All the graphics were done in Photoshop using a Bamboo Tablet - small gifs were made to check animations, and everything was made at a resolution of 320x240 then doubled in size before being added to the game. All the music was done in Garageband on an iPad, with a few overdubs using the Solina String Emu. The original game engine was first started in Flash, then moved to Stencyl and finally GameMaker: Studio.

You can see how it turned out on the website, http://www.1CCGames.com. I was working on Mac and playtesting using bootcamp, which ran the game pretty good. We will keep this thread updated with any changes etc.
Image
http://www.1ccgames.com
XBL: durango76uk
PSN: durangodan76
Cagar
Posts: 2234
Joined: Fri Nov 25, 2011 5:30 pm

Re: The Space Moth Dev Thread (LTTP)

Post by Cagar »

Sometimes there were things we wanted to do but couldn't as we always had to think about memory and performance.
Like what?
User avatar
Skykid
Posts: 17655
Joined: Sun Nov 18, 2007 2:16 pm
Location: Planet Dust Asia

Re: The Space Moth Dev Thread (LTTP)

Post by Skykid »

Interesting read Dan, always nice to see how creative collaborations came about.

I still have my copy of Casino Caravan Collection, now with nostalgia at peak since the arcade has gone - and plays on a Mac! Think I'll go back for another perfect score attempt.
Always outnumbered, never outgunned - No zuo no die

User avatar
JDE
Posts: 356
Joined: Tue Nov 09, 2010 3:39 pm
Location: Japan
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by JDE »

Skykid wrote:I still have my copy of Casino Caravan Collection... Think I'll go back for another perfect score attempt.
You should try getting a perfect score on Space Moth, too! :P
Cagar wrote:
Sometimes there were things we wanted to do but couldn't as we always had to think about memory and performance.
Like what?
Mainly special effects involving large amounts of alpha and additive blending, as seen in most recent Cave games. These are a performance hog in just about anything, and GameMaker: Studio is no exception.

This does help Space Moth to look nice and clear though, and I think Dan did a great job on all the sprites: if I had to do them myself the game would have turned out looking more like Rymdkapsel or Super Hexagon!
User avatar
S20-TBL
Posts: 440
Joined: Mon Jan 18, 2010 6:48 am
Location: Frying over a jungle and saving the nature
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by S20-TBL »

I have yet to get the demo for this. This looks very beautiful.

Some interesting concept drawings up there. Those levels certainly exude that Mushihime feel.

Also yes, managing blending modes in Game Maker is a major performance hog due to the engine having to render separate drawing planes when using sprites. You could use tiles if it's just special effects, but they don't encompass all drawing functions I believe.
--Papilio v0.9 Beta now on itch.io! (development thread)--
Xyga wrote:Blondest eyelashes ever.
User avatar
S20-TBL
Posts: 440
Joined: Mon Jan 18, 2010 6:48 am
Location: Frying over a jungle and saving the nature
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by S20-TBL »

I downloaded the demo and got to try it out. Very beautiful sprite work going on in the levels.

However I ran into a strange problem. For some reason the game stutters a lot during a level and it's very offputting when I'm trying to weave in between bullet patterns. It's not uniform either; it appears to be completely random. Sometimes I'll have a smooth run for about a second or two, other times it stutters every half second or less. Didn't stop me from beating the first boss but it was quite distracting.

It doesn't seem to be a hardware problem either, but I may be wrong. For reference I'm running on an i5 2.67GHz with 8GB RAM and an ATI Radeon HD 4770. Admittedly the GPU is a tad old but I haven't had too many problems with it so far. I'm not sure what's causing this. From reading the original thread in Shmups Chat, I'm led to believe it may be related to how this game uses surfaces in Game Maker.

Also, when I attempted to remap the keyboard controls, I got stuck at "Press New Laser Key". Took me a while before I realized the game was autodetecting my joystick, so I unplugged it and managed to remap the keyboard. However, the game then began to slow down by quite a bit, approximately 10fps or so. Plugging it back in again removed the slowdown. Judging by what I did and personal experience, it's from the use of joystick_exists() which is a very memory intensive function.

Lastly, I shot a pretzel. Just sayin'...
--Papilio v0.9 Beta now on itch.io! (development thread)--
Xyga wrote:Blondest eyelashes ever.
User avatar
JDE
Posts: 356
Joined: Tue Nov 09, 2010 3:39 pm
Location: Japan
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by JDE »

I'm glad you liked Space Moth's sprite work S20-TBL! Your own game Papilio looks really nice as well, I'll download the demo later and give it a try.

As for the stuttering issues you were having, I think your GPU is probably the cause: the Radeon HD 4770 has 512 MB of VRAM and Space Moth needs at least 1GB to run well. The rest of your hardware setup is more than good enough though. As for the "joystick_exists()" function, the game does use it periodically while running to detect if controllers have been added/removed, which does lower overall performance a little but shouldn't cause stuttering.
User avatar
Dave_K.
Posts: 4570
Joined: Wed Jan 26, 2005 5:43 am
Location: SF Bay Area
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by Dave_K. »

Is the flash version still available to be played somewhere?
User avatar
dan76
Posts: 1330
Joined: Fri Jun 05, 2009 5:16 pm
Location: Casino - London

Re: The Space Moth Dev Thread (LTTP)

Post by dan76 »

Dave_K. wrote:Is the flash version still available to be played somewhere?
No, unfortunately not. Once we got the background layers scrolling there wasn't much juice left for the rest of the game. We had one stage where you could move and shoot, with a few slow moving enemies doing the same but that was about it.
Image
http://www.1ccgames.com
XBL: durango76uk
PSN: durangodan76
Kolba
Posts: 6
Joined: Sun Oct 19, 2014 9:37 pm
Location: UK

Re: The Space Moth Dev Thread (LTTP)

Post by Kolba »

Can I ask how you scale the pixel art for full screen mode and get it too look good without any blurring and such?
User avatar
tiaoferreira
Posts: 252
Joined: Fri Aug 21, 2009 9:29 pm
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by tiaoferreira »

Incredible usage of colors, man! Hypnotic!

Unfortunatelly, the download of your demo game is not available. When we click on download button, the page changes and a message "LOADING" with a coloured ball stay on screen... ETERNALLY :(
User avatar
JDE
Posts: 356
Joined: Tue Nov 09, 2010 3:39 pm
Location: Japan
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by JDE »

Kolba wrote:Can I ask how you scale the pixel art for full screen mode and get it too look good without any blurring and such?
It's actually just an option in GameMaker: Studio - no fancy coding required! Go to "Global Game Settings > Windows > Graphics > Interpolate Colors Between Pixels" and make sure that's turned off.
tiaoferreira wrote:The download of your demo game is not available.
I just checked the demo download and it seems to be fine now: I think the problems you had were probably because of Google Drive, which we're using to host the file. Please try again and hopefully it'll work OK. :)
JustinGameDesign
Posts: 5
Joined: Mon Jul 21, 2014 12:01 am
Location: USA
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by JustinGameDesign »

Love seeing the sketches and the design progress. Thanks for sharing.
ImageVisit my Tumblr for my pixel art and indie game dev.
User avatar
tiaoferreira
Posts: 252
Joined: Fri Aug 21, 2009 9:29 pm
Contact:

Re: The Space Moth Dev Thread (LTTP)

Post by tiaoferreira »

Thanks, man! I've tried again, it works, download fast.
User avatar
spadgy
Posts: 6675
Joined: Tue Nov 06, 2007 5:26 pm
Location: Casino Arcade (RIP), UK.

Re: The Space Moth Dev Thread (LTTP)

Post by spadgy »

Obviously I'm biased as I'm friends with JDE and dan76 - used to hang out at Casino Arcade London together...

But sincerely, Space moth is ace. It certainly looks superb and is great fun, but – for me at least – equally importantly its hugely compelling on the scoring front. Hard to put down, and great at coaxing you back of 'just one more go'.

And Casino Caravan Collection has been named in public!? :D I thought that was forever to exist solely in the shadows! A great homage to Casino.
Post Reply