After a stint at trying out my idea for a remake of Golden Axe II and making a pretty playable demo I decided to have a bash at making my own fully original game. I had previously written a song for an unfinished acoustic project which told the tale of an anthropomorphic Samurai fox who materialises in the middle of a fox hunt and slaughters the troop of hunters. Pretty cool so I thought that was a good concept to expand on for a platform type game.
'The Legend Of Kitsune Mifune' started to become a reality shortly after with Kitsune (KIT-SOO-NEE) being the Japanese word for fox and Mifune (MI-FOO-NEE) being named after legendary Japanese actor and star of many amazing Samurai films Toshiro Mifune. When on a trip abroad in 2014 I started working on sprites in the evenings on my laptop to pass the time and started to construct code routines before taking a long six month break due to frustration but I picked it up on my return home and here's how I went about stuff.
Graphics
I had done some work on sprites way back in my Amiga days days on Deluxe Paint IV, just for shits and giggles really. I had no concept or even desire to program back then, especially not in 68k assembly code that was used back then to make Amiga and Megadrive games but I did the art side of it anyway and it became a good basis for what I was about to attempt.
To start me off I downloaded a few sprite sheets from some of my favourite games and simply began tracing outlines in Paint Shop Pro and after adding my own style of look, shading and detail they started to look pretty damn good. After a day or two I discarded the sprite sheets and started drawing on my own which was much more creative as long as I had a size reference. A few of the old sprite sheet traces still remain but I started getting inventive with things and the attack moves like some of the kicks were actually taken from photographs and videos which I took of myself which I then ported the frames into the art program and traced. A few of the enemies like the farmer were sprites taken from other games and tweaked for the sake of speed (sprite drawing is extremely tedious) but others like the hunter were 100% my own (and it probably shows). The Boss sprite of the demo however, called 'Suterusu Gaiden' was lifted directly from the arcade game Shadow Warriors or Ninja Gaiden. The character was heavily tweaked by adding many new moves but still is recognisable and was meant as a small Easter egg for retro gamers. The name of the character reflects this by using the word Gaiden and is maybe a long lost brother or something. (Even though Gaiden means tale or story in Japanese.)
Sound
Being somewhat of a career for me, the sound for the game came pretty easy. All the music was composed in my DAW of choice which is Cubase and with game music being one of my major influences anyway it didn't take long for me to come up with some tunes. In fact I came up with about 15 of them before the first stage of the demo was even done so there was no heat there. The music's style was a strange mish mash that I had to be a bit careful with though. I allowed modern based samples of instruments to be used but I also wanted it to have a retro 'Megadrivey' feel so tringy leads and lighter, thinner drum sounds were used as well as any heavy distorted guitar sounds being obviously synthesised.
The sound effects were mostly hand ripped from films and two lifted from the game Final Fight but mixed with some of my own for a little more low end. The kick and sweep sound effects were taken directly from the Jackie Chan Film 'Wheels on Meals' and a plethora of other effects appear from films like Zu Warriors, Revenge Of The Pink Panther and some freeware firework and metal clash sounds that I found, pitch shifted and manipulated to give the desired effect.
Code
Programming doesn't come easy to someone like me as being somewhat of an arty idiot I respond best to shapes, colours and sounds. I'm crap at maths and I glaze easily reading text of any sort so to have to try to imagine movement, feeling and atmosphere while looking at a screen full of letters and numbers was pulling my brain in exactly the opposite direction it likes to go in.
GML is a pretty cool language though. The learning curve is very nice, it's not very complicated at all and you can do some amazing things with it but compared to other languages it's pretty much Mickey Mouse code. In saying that though it can still get incredibly complicated, and advanced GML can be phenomenally mathematical tumour inducing stuff, of which I haven't even attempted to go near.
After my break I decided to pick up where I left off with Kitsune Mifune. The code was getting a little easier to process and using variables and 'if' statements was becoming a bit clearer. Discovering the use of case statements and finite state machines was a huge step as it drastically cut down the amount of code that was needed and almost eliminated the use of multiple variables to control things.
The game engine is now in it's 4th re-write using new techniques (and also adding about 80 years on to me!). The latest of which is a brand new custom gravity, movement and collision system which completely obliterates the use of game maker's own variables which I was using occasionally in previous versions. The initial code was taken from YouTuber Shaun Spalding's 'Basic platform tutorial' video and then heavily tweaked to accommodate my own code, moves and states. Shaun does an excellent channel but I wouldn't say his methods or code are for beginners. Even now after doing this for a couple of years I find it rather tricky to adapt his code, particularly finding where to place animation changes that don't conflict with other ones. This is not a criticism of Shaun's but rather my pretty poor coding ability and although it's not that apparently flexible it is incredibly efficient and that's what I was after.
All this may seem a bit boring and quite frankly it is but it's also a necessity to get your game running smoothly and although it does seem to get in the way of the creative process it's still very much a part of it.
Make no mistake though, programming can be an absolute bastard! The worst part of it and making a game in general is probably the ENDLESS compiling and re-compiling that has to be done. When you playtest a game and see something wrong you can't just change the code and then see it change in real time. You have to quit the game, alter the code then re-compile the whole thing in order to see the changes you have made. Even if you only want to check that something has moved one pixel to the left or right on the screen it still has to be compiled, checked, quit then recompiled. Granted the compiling only takes about 30 seconds or so but it's an extremely bumpy road to travel if you just want to get on with shit.
Finding something wrong in your game and looking over the code only to find absolutely nothing wrong is also absolute killing spree material. Literally days can be spent on one small 3 line block of code which just doesn't work but you can't see why which really does make you one step away from taking a knife onto the streets and just start cutting into people for a bit of fun. Polishing code can be horrible too. You will get the game to work quite well then change something to make it run better but then the code won't work but when you change the it back the code still doesn't work!
Game Maker is a great construction tool but make no mistake it does NOT treat you with kid gloves. The drag and drop tools simulate various simple lines of code as a visual aid really just to get you started but after two weeks you'll find they are far too limited and ditch them for the code window. It's then that you will find yourself completely on your own in a barren cyber wasteland stinking of pish and with no pals.
There are no presets, there are no templates and everything (and I mean everything) that you see on screen within the game that has any kind of movement, scroll or even position has to be plotted and coded entirely by hand and from absolute scratch. There are no nice buttons for pre made fade ins or outs, there are no 'tap what key you want to move right or left'. It all starts from absolutely ziltch and you have to tell the game how to do it by using cold hard code and even the shit you don't think needs code needs code.......and lots of it!
Of course when things work or even better work first time you just want to flood the world with beer and kittens.....but it's a rare occurrence.
Gameplay
The Legend Of Ktsune Mifune is basically a standard platformer affair with the initial influence being on of my all time favourite game franchises Shinobi.
Shinobi is a fantastic series but instead of making a clone I wanted to do something a bit different and add in more of a beat'em up element to the gameplay. Magazines back in the day always refereed to Revenge Of Shinobi as a beat 'em up which rather annoyed me as while there were traces of that genre in the game it was first and foremost an out and out platformer.
Unlike Shinobi instead of having a projectile weapon as a main offensive and occasional close range hand to hand combat attacks Kitsune Mifune flips it on it's head and the main offensives are close range martial arts style kick and sword combos (a feature taken from scrolling beat 'em ups such as Final Fight or Streets of Rage) and occasional projectile weapons such as throwing knives which are potentially used to get past more tricky situations that requite a longer reach. This immediately gave the game a significant difference and also expanded on another influence which was from the old Irem one plane beat 'em ups such as Kung-Fu Master and Vigilante.
So far the recently released beta demo for the game plays pretty standard with quite linear and boring level design but I do plan on making some more complex platform based action that requires a bit of thought and incorporate elements from another amazing influence- Ninja Gaiden on the Nintendo NES.
Game Over?
So what exactly do I plan on doing with this game, future games and Game Maker in general?
Well, nothing really. This is a hobby, albeit a great one. I can honestly say that I have never found such a complete use for my creative skills in one package. I'm writing a story, I'm drawing art, I'm composing music and I'm making it all come alive using code.
The benefits of learning code are many too. My problem solving ability has improved tenfold as have my dire mathematical skills which is something I thought I'd never say and patience has also been tested, stretched and adapted to. So, the next time someone tells you that game making or computer games in general are a waste of time then you can tell them that it is 100% untrue (and they're a cunt!)
I don't think I could do this as a career though. Not on my own anyway as although it's phenomenal fun it can also be a little toxic. Sitting in the same position for up to 18 hours a day (sometimes even more) isn't healthy and time passes SO quickly when you are continually re-compiling just to get that one bit of code to work perfectly. Life get ignored too. You forget to eat or you eat crap just to get a bit of fuel, work and other projects get bypassed while you do a Columbo on your game (Just one more thing!) and if you don't watch you'll start to smell a bit funny too as your blood turns to treacle and struggles to make it round your body from lack of kinetic movement on your part. Developing a nasty hunch or anterior pelvic tilt is probably on the cards too but these can be fixed with proper posture exercises. If you do get into Game making and with that in mind it's advisable to start setting an alarm that goes off every 40 minutes or so after which get up and walk about/stretch/workout/get a cuppa/have a wank or whatever and do that for at least 20 minutes to get the old claret flowing again. Of course it doesn't always work that way, especially if you are in deep code mode but due to the intenseness of concentration when making a game, taking long stints of a few months away from your project now and again is highly advisable.
I'm beginning to see why legendary solo game programmers like Matthew Smith (of Manic Miner and Jet Set Willy fame) are more than a little eccentric as it does make you a touch crazy. Even Matt said himself "Get some sleep!" when talking to young game makers at a conference once.
Maybe working as part of a team would be a fun thing to do but in saying that I'm too much of a control freak over my shit and I would need to be calling the shots and have the final word.
If you are heavily in to games and have a flair for the creative + a lot of patience then I would highly recommend Game Maker as a hobby as it's probably some of the most angry fun you'll ever have. I'll also recommend Game Maker to budding developers trying to make a serious career out of it as there is literally nowhere else where you can knock out a demo of an idea or even a full game in such a short space of time with multitude of platform support.
If Game Maker had been available in it's current state in 1993 I honestly think I would be doing something different for a career now. This program would have been an absolute dream come true for me back then and to be fair it's a dream come true even now in my 38th year on the planet.
If my 15 year old self could see me now he would indeed punch my tits off out of sheer jealousy.
And quite rightly so!
Striding forth from his lair at Castle Stareskull one morning, Prototron decided to not reign down terror on the villagers, but instead go back inside, crack open a beer and load up Streets Of Rage 2. One hundred years later, he's still there. A avid music maker (of TERROR!) and retro gamer, he can be found whooping any and all heroes at all manner of SNK-based challenges. |