Latest Entries »

Jeff

Ludum Dare 32 is over and I survived lol There’s something demented about voluntarily participating in what’s basically “crunch mode” for no reason other than to make something cool but I’m glad I did it. Here’s my post-mortem on how things went and my general design process. First up this is the final result of my 72 hours of slaving away in GameMaker: Studio and Spine:


You can check it out and give it a play here.

PLAN OF ACTION

LDJAM’s topic is announced once the event begins and this jam’s topic was “An Unconventional Weapon”. I decided the 72 hour jam was more my speed over the 48 hour competition because I don’t really care about winning or anything, this is more for me to get my creative mojo kickstarted and possibly come up with a prototype I could turn into a full game down the road so that extra 24 hours to throw in some decent art was too hard to resist. The time limit in general adds a huge doom clock hanging over your head but I know a solid concept is half the battle…there’s no point spending all weekend working on something that wasn’t a good idea to begin with and it’s hard to force creativity so I decided to give myself 2 hours with no pressure to concept ideas up. Even if I came up with a decent idea right off the bat I would keep roughing ideas out till the time was up, so if I couldn’t think of something right away I didn’t freak out since I had a full 2 hours to kill.

I had 3 main goals for Ludum Dare:

1) I wanted one good core mechanic. I’m thinking in iPhone game terms instead of making an epic RPG or something. I wanted an idea that I could theoretically clean up and ship as a simple casual game.

2) I wanted something flashy with a lot of Spine animation because I wanted to really put my GameMaker + Spine workflow to the test since I’ll be using that combo for basically anything I make.

3) I wanted to avoid menus and text because I find doing that stuff in GameMaker is a whole project in itself. It means writing scripts that display and activate buttons and draw and transition menus and lay out text areas, and there’s nothing that easily sets up scrolling menu lists etc. If I made a text/menu heavy game I would spend at least half the 72 hours just trying to get those looking good and working nice. So I wanted as little GUI coding as possible.

PLAYING IT TOO SAFE

Here’s the size of my final FreeMind mind-map of ideas:

These always seem so much smaller when you're working on them

Let’s break it down stage by stage. I started by throwing down any words or ideas vaguely related to the topic:

It's like a word-assosciation improv class for nerds.

Looking back on this list I can actually think of a few cool ideas based off it, so as far as I’m concerned just doing this exercise alone was beneficial. Who knows, some of these concepts might make it into games I make down the road.

I started out with a pretty safe idea…I was going to try some clever meaningful artsy deep outside-the-box take on it. I watched some Let’s Plays of Life is Strange recently so I think I was just in that slow-paced mindset:

Most of these are half-thoughts that made sense in the moment but now I have no idea what they mean lol

It was actually a solid game idea. It would be similar to a Diner Dash game where you micromanage a group which is already a proven mechanic. You’re a villian working as a teacher to distract a class from passing their exams to prevent anyone from being smart enough to thwart your plans down the road. It wouldn’t be too art-heavy either, I would just need to draw a classroom for a background and I could set up a sweet camera angle and hand-draw the characters so it looks like a shot out of an anime:

No idea what anime this is from

It was something I knew I could pull off in 72 hours and fit the theme but it was boring lol And it would either be text/menu heavy or I would have to come up with some icon system that made sense and it would just be a lot of GUI coding. My buddy Derek was like “what? no defending your hot dog stand from ninjas by throwing hot dogs at them?” and I realized that my idea wasn’t really something I would have fun making. A big part of why I’m making my own games is to make whatever I want and I’m a simple guy: I like flashy action and explosions lol

TOSS IT OUT

So I scrapped that idea, threw on a bunch of Sakuga anime compilations (basically the most fast-paced over-the-top action scenes from anime), blasted some high-energy Megaman music and wrote out a bunch of words related to the theme but more action oriented:

ahhhh, this is more like it!

I liked the ideas of “killing enemies gives you a new thing to use”, “merging body parts from enemies to self”, and “stacking effects”. The most natural idea that ame to me would be killing enemies and taking their body parts to attach to yourself, stacking the effects of whatever it is you’re taking from them. Robots/mechs made the most sense because it’s logical that you could replace a robots body parts with other body parts so the concept would be clear from the start. I’m terrible at drawing/designing mechs (I’m more into medieval stuff) so I went with a robot chick as a main character, plus I loved the whole idea of Astroboy as a kid. So I started fleshing that out:

Approximately 3 weapons off this list actually made it into the game lol

I had no idea how much I could do in 72 hours so I put down anything I could think of to help me visualize how things would work. When I got enough down to have a solid idea in my mind I revised it again into something more final to follow:

In theory you could mind-map an entire game out down to every function/script and variable needed.

In this stage I try to group things together and think about what I can re-use code-wise. So I’ll jot down a list of weapons and then break them down into “projectile” and think about what attributes projectiles are going to need to do all of the behaviors I’ve listed. A pistol bullet, machine gun and shotgun blast are all just variations of firing rate, ammo per shot and spread angle. This is actually the part about game design that I enjoy the most, I like breaking big ideas down into smaller efficient chunks. This helps me visualize how a lot of the code will work too. I’m still an amateur programmer and can get lost in my code easily without a good clear overview of what I’ll need.

I really wanted to have her legs switch out for legs that can jump, jump really high, and float/hover in the air, but I knew I should start with her arms and save the legs for if there’s time.

TESTING THE TECH

First up was making a rough Spine file to see 1) if I could get Spine files loading/animating in Game Maker properly and 2) if I could get Bone coordinates off a Spine Skeleton and attach new Skeletons to them that would follow their motion. This was the major tech hurdle for this game idea so I knew if I tackled it first the rest would be smooth sailing and if I couldn’t figure it out I’d have time to switch to a new idea.

First rough idea for a character. Short hair like this would've been way easier to animate but I like a challenge

Fortunately that went silky smooth and I got it working without many problems. So I revamped the character with plans to do her hair and skirt with FFD-animation in Spine. One of the nice things about using Spine is that I can lay out a character and animate her and get her in-game, then go back later and rig up her features for more detailed animation (hair, skirt, facial expressions, adding shading to the art, etc.) and know it’s not going to break anything:

I tend to use 0-length bones so I can attach different angles for bodyparts to them but I regret that on this character, using longer bones would've made animating a lot easier.

In the end I only had time to do her bangs and I used really rough FFD placement so you can see her hair bend with sharp corners in places but the gameplay would be fast-paced enough for no one to notice…or care, because I only had 72 hours lol I had to keep reminding myself that things were “good enough for 72 hours”, no one is expecting to see some AAA product in 72 hours the fact that I had a character animating at ALL was great:

I animated some basic motion and threw her into the game to make sure everything was working and to learn how to do collison. I messed around with Bone compensation (so in Spine I could move her backwards as she dashes back and control the distance/momentum in Spine with her x/y info updating to match in code…this is something I’d want for doing a huge boss that stomps his feet as he walks and pauses with each stomp VS moving at a constant rate of speed), and I managed to pull off a while back when I was doing tests but had way too many problems getting it to work now so I gave up and stuck to animating in code. I’m using TweenGMS to set up tweening and I was able to get a good enough result that way, but I’ll definitely revisit Bone compensation in the future.

The next test was making sure I could turn off the Image Slots and spawn new Skeletons (gibs, weapons flying out of hands, etc.) at specific Bone positions, and, well:

In retrospect this probably makes me look pretty demented lol

No probs there lol The head is a separate bone. I also set it up so that “gibs” could be guns, bones, etc. and spring out at various speeds/angles etc. I’m pretty new to parent/child heirarchy stuff in code but it worked out just like I hoped. The code for this game in general is some of my best, I wish I could rewrite my main project from scratch to make it more like this but I guess you just have to accept that no project will be flawless all the way through. Definitely looking forward to starting my next game after my main project so I can write a bunch of fresh new clean organized code from scratch.

Next up was replacing her arm with a gun and figuring out how to do a nice chain of command up the guns. Each gun has a child gun that attaches to it’s attachment slot and receives commands from its parent. There’s a LOT of potential in this setup, I can have each type of gun animate in a different way and have different attachment slot positions and different length/speed animations for shooting. Originally I was just going to have one gun with a few attachment slots for other guns, but I wanted to test out optimizing my Spine code. On my main project I’m working on I tried implementing Spine but I didn’t really know what I was doing and I was getting a lot of lag with just a few Skeletons. So for this project I wanted to try optimizing things since I had a nice clean empty project to start from where nothing would break.

I did a bunch of digging through the tutorials and trying different things out and the end result was fantastic. I was stacking guns on top of eachother because that was the easiest way to test and at first the game would lag by 30 Skeletons, which really isn’t very much. When I originally tried Spine out I envisioned doing all the art for my games in it, like down to menu animations and bullet effects but no way that’s possible with 30 Skeletons so in my main project I was already planning to use Spine as little as possible.

But after optimizing I had *700* guns attached to eachother with no lag lol:

It's like a giant french-fry of death.

GOING OVERBOARD

The sight of it made me laugh and I decided to leave the huge stack of guns while I tried to get them to shoot and once I got the entire stack shooting (with a delay too so you can see it flow up the stack one by one) I decided it would be cool to let the Player actually stack like this instead of what I was originally planning. I set up some different guns and timings and the whole thing felt absurd but made me smile so I just kept going with it. But the guns quickly go off the top of the screen so I looked for tutorials on doing zooming cameras that can zoom out to keep two objects in the view at all times and found a great one. I set it up to use the player and the top of their gun stack as the zoom targets so the higher you stack the guns the further out the camera zooms. As far as I know there’s no maximum limit, you can stack till the game crashes lol

Spaghetti missiles, explosions, robots and anime chicks...if there's more to life I can't imagine what it is.

I got cocky and decided to try spaghetti missiles that would home in on targets and leave particle smoke trails…really it would’ve been a more complete game if I had focused on the gameplay at this point instead. I had a lot of ideas for stuff like enhancements you could get that would add fire/electricity/etc. effects to your weapons, which would add a little strategy to the collecting aspect. Or even better, have it detect when you have X number of guns of the same type stacked in a row, so if you stack 3 pistols they glow and fire larger deadlier shot. That would create a mini-game within the game where you would be picking and choosing which guns you wanted to catch, having to make snap judgements as the guns fly up kind of like Tetris. Another idea was to have negative guns that you can accidentally collect, which would be in your stack and fire with the rest of the guns but would do stuff like fire a missile that homes in on you so each time you shoot you also have to dodge a missile from your own gun as a penalty for grabbing that negative gun. I planned to have a huge boss that the camera would have to zoom way out for, like you’d need a big stack of guns to defeat him etc. but ran out of time. Because of all those ideas I think there’s something here that could be expanded on into an interesting game, but I don’t know if I see enough depth in the game to keep going with it.

Anyway so from here I had to grab some music from incompetech.com and whip up sound effects in Bxfr. I threw in some random pitch changing so most of the sound effects will sound slightly different each time you hear them to avoid being too monotonous. The background I left till the last minute and whipped up some quick terrible buildings in Blender and had tons of problems trying to get a scrolling background working right so you’ll see lots of glitches in that but I got it working literally at 8:59pm one minute before the deadline lol It’s glitchy but hey, 72 hours cut me some slack.

GAME FEEL/PLAYABILITY

Also a bit earlier I spent some time balancing things for the Player. I’m big on not wanting to bog the player down with tutorials, I like when games naturally teach the Player to play. So there are little nuances for ease of playability since most people won’t do more than play for a couple minutes. If you have no weapons you won’t be able to get a missile launcher as your first weapon because the delay on it makes it too difficult to use as a first weapon, you’ll get overpowered too easily unless you really know what you’re doing and even then it’s almost impossible to make a comeback, so I didn’t want the Player to deal with that frustration. You won’t see the robot guys until you have 3 guns attached so you have more of a chance to beat them, and they won’t start attacking you back or changing what height they fly in on until you have a solid stack of like 10 guns. So the game should have a nice easing curve for people to play without a lot of frustration. I love adding these little details to help guide the player into being able to handle the full experience.

I was also originally going to have the Player’s stack build a lot slower, like they just get one gun per enemy but because of a bug the robot enemies were able to get stuck in a “being hit” loop where they would keep spawning out a weapon every time they got hit but as you got more weapons you would hit them more times spawning more weapons which made you hit them more etc. and it became a huge bonanza of guns being tossed in the air like Oprah handing out schools and hump-backed whales. When I fixed the bug I decided to leave the insane gun bonanza in because it added to the absurdity and I figured people would only ever play the game a few times for a couple minutes and then move on so I wanted them to have a memorable little experience in that short window of time.

CONCLUSION

I’m proud of the end result. I accomplished my goals going into this and with the energy I have these days now that I’ve got my Vitamin D levels handled I was able to power through the whole weekend working non-stop except for sleep and food. The time pressure was fun, it forced me to make fast decisions and throw out things that weren’t working while also plowing forward on ideas that I suspected would work…no time for waffling or second-guessing which can be a big hurdle for gameDevs on longer projects, feature creep and rewriting stuff that doesn’t need to be rewritten etc.

A MOMENT TO GUSH ABOUT GAMEMAKER + SPINE

GameMaker and Spine were AMAZING together. The workflow is so efficient that I was smiling ear to ear as I worked. It takes like 5 clicks to go from animating in Spine to seeing that animation running in-game exactly like I saw it in Spine. For people just getting into gameDev now where this kind of workflow is more common, this might not seem like that big a deal but man, in the old days I would have to do individual frames by hand and then write up text files with a list of coordinates and timings and image names to try to describe to a programmer how the animation should look and then just cross my fingers that they would come up with something that looked in some way sort of like the vision I had for it, which of course it rarely did. It was like dropping your child off at school and picking him up later and he’s all disfigured lol With proper optimization and memory management for Spine files in GameMaker I feel like I can literally make ANYTHING 2d. If I had the time and artistic skill I could practically duplicate Rayman Origins and Ori and the Blind Forest with this combo. If anything doing Ludum Dare and working under a time limit gave me even more of an appreciation for the tools I have access to. I WISH I had these kinds of tools and workflow back when I was a teenager. So if you’re in your teens or early 20s and you’re getting into gameDev consider yourself extremely lucky, you’ve got a huge head start compared to when I was that age.

WHAT’S NEXT?

I’ll be participating in Ludum Dare again in the future, this was all win/win for me. But for now it’s back to my main project. My Ludum Dare game has actually made me more excited to get cracking on this thing. I’ve been avoiding the art side of it because of the laggy Spine issues I was having in GameMaker but now that I understand the optimization stuff I’m looking forward to dumping a ton of sweet art in there. I’m planning full-screen bosses and can’t wait to get crackin’ on them. The menu system is pretty much done, I just have some last tests and cleanup to do with it but then I should be able to get into the fun art stuff. I’ve got the bosses planned out in my head and rough doodles, I just need to refine them into actual designs and start dropping them in the game.

All in all this has been an excellent start to the year. I’m hoping to keep this pace up the rest of the year and participate in Ludum Dare regularly, but one thing at a time…first I gotta’ finish my main project and ship the damn thing lol



Jeff

Alright, time for an update. I hooked up with Rocketcat Games, makers of epic hits like Wayward Souls (grab it on the App Store here) and Punch Quest (grab it here), to do some Spine animations for their characters for a new Tactical RPG they’re developing. Lots of work but a fun project, I’m extremely comfortable in Spine now and got to mess with a lot of FFD mesh animation (capes, scarves etc.). I also hooked up with Ravenous Games for some top secret work I can’t talk about. They just launched Devious Dungeon 2 which adds a ton of new stuff to the series (grab it here). So with enough money to pay my bills for a couple months it’s back to my own game.

…but first, a detour lol On a whim I decided to enter Ludum Dare 32 this weekend. For those of you who somehow haven’t heard of it it’s a worldwide marathon weekend where you get 48-72 hours to develop a game based off a theme assigned when the contest starts. I haven’t done a game jam in years but my long-term plan over the next couple years involves actually shipping games (lol) which means I’ll be doing a lot of prototyping (I have a HUGE Evernote doc where I throw down any random ideas I come up with to flesh out later when I’m looking for ideas to prototype). Soon as I’m done my current game I want to roll right into the next one so there’s always a chance that whatever I come up with for Ludum Dare will be my next game. Or maybe I’ll fuck it all up and not even finish my entry in time, who knows lol I actually haven’t looked at the themes list, ’cause I like to live on the edge that way.

So if you want to watch me lose my fucking mind all weekend long, follow my Ludum Dare progress updates, setbacks, victory celebrations, mental breakdowns etc. on Twitter at @BPOutlaws. My Ludum Dare account is BPO_Jeff.

I’ve wanted to participate in Ludum Dare before (my buddy Mike is the guy breaking his back to run the whole thing) but as I mentioned in a previous post I was having a lot of problems with my energy levels for a few years. I was barely able to do more than sleep through the weekends. But now that I’m regularly taking Vitamin D3 I’m clocking in long productive days and want to challenge myself by entering. I’ll be doing the 72-hour Jam instead of the 48-hour competition because whatever I make is probably going to involve hand-drawn art so that gives me an extra day to make it look slick. Some of you may remember me as Tsugumo back in my pixel art days, but while I loved making pixel art the advancements we’ve had in technology that allow games like Rayman and Ori and the Blind Forest to exist, combined with all the slick tools us indies have at our disposal now, I can’t resist working with big HD art. I’ve coded my engine to support up to 4K (3840 x 2160) even though I don’t have a 4K screen myself lol

I wanted to make an alien race of giant goats to avoid just doing standard aliens...these sketches are just practice concepts changing the proportions of the basic goat design to get different characters that still look related.

That said, back on my own game I was having some creative issues so the break to work on other projects was helpful because it gave me time to brainstorm out some ideas on the art side. The major issue was actually kind of a silly one that I completely wasn’t expecting: because of the layout of my game (character on the left, enemies on the right, with as much space between them as possible to allow the Player time to react) I realized I needed all of my enemies to be tall and thin horizontally. If they were wide they would either cover too much of the play area (though one boss does that on purpose) or 90% of the sprite would be off-screen and basically be a waste. I also wanted to give things a sci-fi/mech theme, but you don’t realize how weird thin vertical mechs are until you try drawing some up and then realize they also have to be able to shoot from the three Track heights so if you make a humanoid robot it’s got to be able to shoot from it’s ankles etc. It sounds dumb, but it threw me for a loop for a while.

Now I’ve nailed down my theme and designs and while the game still looks the same as it did in my last update, I’ve been slowly plugging away at the code during my minimal free time and I can see the light at the end of the tunnel. Soon I’ll be able to go on a massive art overhaul and just start dumping art in there. At the moment I’m finishing up the menu system and coding support for game pads, iCade, etc. Doing a lot of stuff that’s way outside my experience level like setting up customizable keybindings and achievement lists and save/load encryption etc. Plus I want to release on iOS and PC, so there are a lot of platform-specific nuances to deal with (even simple things like on a touch-screen device you tap menu options but on PC those options need to visually light up as you drag the mouse cursor past them etc.). I’ve basically got 10 FireFox windows open with tutorials all day as I work lol I’ve learned a lot though, I’m looking forward to my next project where I would refine a ton of this right from the beginning to save some of the hassles I’m running into (like right now the menu system and gameplay are COMPLETELY independent from eachother so when you set options/controls in the menus they don’t do anything in the actual game and I have to stitch these two giant sections together…it’s gonna’ get messy [edit: nevermind, I totally fuckin did it my first try just now. I'm awesome lol]).

On the gameplay side I’m really proud of what I’ve come up with. I’ve got all the bosses except the final boss coded and each one requires a different tactic to defeat instead of just bumping up the amount of damage they can take…so the core mechanic the Player has to learn stays pretty simple, but each boss throws their own twist on it that you have to figure out as you’re fighting them and they each have 3 levels of damage where they change their tactics up forcing you to adapt on the fly. When I get to where I can record some new in-game footage I’ll show this off a bit more…right now the bosses are literally giant red rectangles lol I talked about some of my ideas for this in a previous post but now I have them fully implemented and they came out as fun as I pictured in my head…there’s a nice sense of “Yes!! I knew it, I’m awesome!!” satisfaction in that.

On top of all that I’ve started teaching myself how to use Blender whenever I get the chance. I’m hoping to learn enough about the particle system stuff in it to use it for doing cel-shaded effects but I am a complete noob so far. I’ll also be using it for more technical stuff like backgrounds or detailed mechanical objects in perspective where I don’t want to figure that all out by hand. I used 3d for the background in Elusive Ninja:

This was way too simple a game and did terribly, but I was always proud of the art in it lol

Gotta’ work as fast and efficient as possible when you’re working solo. Overall this year is going toward upgrading my skills across the board so I can put out quality games solo. Now to go stock up my energy drink supply to survive Ludum Dare.



Jeff

Two videos for you today. First up is my game’s progress. The major parts of the engine are functional, but nowhere near polished yet. I’m a self-taught programmer, I’ve never actually taken a programming class or anything so I don’t really know what the best method of approaching a large project is. I’m going by what feels right and I’ve ended up basically applying my workflow for art to programming. For a drawing, an artist will usually start out with rough thumbnail sketches that barely look like anything, then when they find one that works they rough it out in pencils, then they clean it up and ink it, then they add the colors. The concept is taking something rough/vague and going through stages refining it down and adding details until you have the final result. Same thing with animation, you rough out the flow of the animation and then slowly refine it from there. So I’m basically dumping a bunch of duct taped sloppily coded ideas down to get someting that’s doing the jist of what I want, and then going back and refactoring that code 2 or 3 times until I have something decent.

No idea if this is a slower process than other programmers use, but I like it because I get to see some rough progress right away which helps motivate me because it feels like I’m accomplishing something (nothing is worse to me than those days where you stare at code all day hunting down a bug or refactoring or working on structural code that does a bunch of work behind the scenes, and at the end of the day the game looks exactly the same as it did before). And I end up with decent enough code in the end. I think with programming you can always do something better and it’s tempting to want to re-write things a dozen times to make them cleaner and prettier, but at some point you have to say “okay this works, it’s time to move on or I’ll never finish this project”. I’m taking the approach of “is this part of the code something I’m going to have to come back to a bunch? If not, then as long as it works that’s fine.” which has been working so far. I’m sure I’ll have to do some optimization down the road and clean some of those parts up, but I’ll deal with that shit when I get to it lol

Everything is still super temporary art (I think that sky background is from some anime) but the engine is my main focus right now. The music notes were just to test particle emitting though I’m debating making her ear things headphones like she cranks up some beats when she fights alien intruders because she gives no fucks and knows she can handle them. The enemies all have AI and Finite State Machines to react to the Player…they’re able to have different behaviors depending on their health and which state the Player is in. When you’re in the Default State you can’t attack, and when you collect enough of the Power Cubes you enter the Powered State and deflect everything back at the enemies to attack them, so in the Default State they can be more offensive and attack more while in the Powered State they’d do more dodging.

Level transitioning works and I have a lot of the boring outer-framework stuff done (although it’s ugly at best right now), so you transition from the Title Screen to a Main Menu, Stage Select, and the game will unlock levels as you complete them and save your progress for you etc. Also everything has customizable speed to it, in the video above the first level you see has the Tracks all moving at the same speed but the second level it shows has two fast Tracks and one super slow Track. So I can control the speed (and spawning frequency) of the Tracks, the Power Cubes, the saw blade Hazards, bullets, etc. which I talked about in terms of gameplay here. This should let me do a lot of cool shit, like having enemies/bosses that can manipulate the speeds of those things on the fly.

I’ve been fleshing out ideas for enemies and bosses and I’ve got them generally figured out. I decided to record some of my process to show how I use FreeMind to do a lot of my planning (not just for gameDev but for writing projects in general). It’s about 45 minutes long, but give it a look if you’re someone who does creative work and is always looking for new planning and organizational techniques:

There are a lot of Hotkeys built in for moving Nodes around and Expanding/Collapsing them etc. to skip around and edit quickly. I don’t even use all the icons spread around the interface, just the basics to get ideas down as fast as possible. You can also see that I’m using the same workflow I use for art and coding: dump down a rough brain-fart version, then go back and refine it in stages adding detail to get the final result. Give it a go and see what you think.

I fleshed out gameplay ideas for all the enemy/boss designs so from here I’ll be implementing them with temporary art. As an artist it’s REALLY hard to put off focusing on the art, but I know the art stage should come last because the gameplay is what’s going to make the game fun to play…if an idea I have doesn’t work in code, I don’t want to be in a position where I’m trying to shoe-horn in art that I’ve already drawn because I don’t want to waste it, or toss art away and have wasted that development time. So I’ve just come to accept that I’ll be looking at the art you see above for a few solid weeks before I get to finally let loose on the art and put it through a massive overhaul/upgrade. Gotta’ have patience, grasshopper lol



Jeff

Happy New Years everyone! Cheers to productive gameDev in 2015. Goal for this year is to ship 2-4 games. A lot of this first game is about building an engine in GameMaker that I can re-use parts of so on my next game I won’t have to waste time writing code for detecting devices and which assets to use and positioning HUDs and debug stuff. Like I said before, I’m further ahead than I’m posting so far but I wanted to show the stages of development right from the start because I think that stuff is cool to see. Last update was a bunch of quick programmer art and duct taped fast coding, and this update is still temporary art but the engine is redone from the ground up (thus the missing HUD elements) and it’s using actual sprites so I can figure out the exact layout/positioning of things and like, how big the main character should be or what shape they should be:

For instance a vertical shape for the main character during the default gameplay doesn’t feel player friendly because you dodge vertically so you’re more likely to catch the top or bottom of your sprite on a Hazard and get hit “unfairly”. But during the powered up Mode3 where you want to touch as many Hazards as possible, a horizontal sprite would make that feel more difficult (and make the player feel less powerful as a consequence). So from testing it feels like the best move is to have a horizontal sprite during the default gameplay and a vertical sprite during the powered up mode.

As you can see I was thinking about using ships that transform into giant mechs, but I’m not great at drawing sci-fi ships (see Android Arts for what I WISH I could do, holy crap lol) and I like drawing characters with facial expressions and personalities and such so I started thinking that someone flying Superman style would work too. But then how to solve the need for a vertical sprite during the powered up Mode3? How about a helper beast of some kind that you can ride and it plows through the enemies:

Can't even draw a straight line lol

Knew I wanted a sci-fi girl and a beast of some sort, but no idea where I'm going with it at this point.

I don't have a scanner so I just take pics of my paper with my iPhone to redraw in Photoshop lol

At this stage I also like to do a mind-map for my game. I’m a HUGE fan of mind-mapping. I’d never tried it till a few years ago but I find it incredibly useful for expanding ideas in a fast and organized fashion. I use FreeMind because it’s really simple to use (I just use hotkeys to move around and add/modify Nodes, I don’t touch any of the million icons on it):

The final version of this is going to be insane looking lol I'll probably post it down the road.

I like to flesh everything out here and while I’ve expanded some Nodes for this pic, I usually collapse all the Nodes I’m not working on and just focus on one section at a time so it doesn’t feel as daunting. I find working this way is great for how my mind works because I can be fleshing out an enemy’s behavior and it might inspire an idea for a boss or an idea for a player ability and I can quickly jump over to those Nodes and add a Node for that to fill in later, then go back to what I was doing and when I get to those other sections I just fill in the blanks basically.

This isn’t the whole game design, just an early chunk of it to show what kind of stuff I put in my mind-maps. For characters/enemies I like to have stuff about their appearance and personality and like, why are they doing what they do to kind of help me brainstorm how they might look or what sort of pose they’d be in. For enemies, if it’s something like a ship I might want to add that it’s purpose is to haul prisoners from camp to camp which might affect the design of the ship. I’m dumping all this stuff out and then in the art stage I’ll go through each thing one by one and rough up concepts for each one and build from there.

If you haven’t tried mind-mapping, give it a go and see if it helps. I was skeptical about it, I’m not a very organized guy and I’m not great with scheduling and task lists and everything but when I tried mind-mapping I found I was able to plan out massive things in small organized chunks and it just made the whole process a lot easier. I also recommend it for writing, like doing articles or stories or novels…you can drop Nodes down for key events in your plot, then flesh the stuff between them out, re-organize them, add details, etc. I’ll be doing that in the story stage when I’m doing cutscenes and writing dialogue for an overall plot to the game.

Right now I’ve got some newer art in that I’ll show soon, but I don’t have a theme fully finalized and I ended up running into some game design issues that I’ve spend a couple weeks working on. I’ll talk more about that next time because I love getting deep into game design discussion/analysis.

Glad to be back into indie gameDev. Working for other people can be fun and it pays the bills, but taking on an entire game on my own from start to finish is such a challenge and it feels good to push myself. I’m having to teach myself a ton of coding stuff and I’m trying to work clean and organized and get this down to a nice flowing process I can do so I can put games out faster and not get bogged down and side-tracked or unorganized and frustrated. I’m hoping to have this game done and shipped within a couple months so I can jump right onto my next game. :)

2015 is going to be an interesting year…bring it on lol



Jeff

A little while ago I dug out Game Maker: Studio, brushed the dust off my programming skills (or lack thereof) and started messing around coding a little prototype in my spare time. I wanted something that would be relatively simple and realistically do-able on my own…so no MMORPGs or anything lol This is partly to get back into coding, and to teach myself how to go through all the boring stuff in programming (porting to different devices, learning how to set up in-app purchases, getting my game from Game Maker to the Apple store, etc.). I’m pretty good with coding game logic in general but all the technical stuff is way above my head right now and I’m sure my code is sloppy and unorganized compared to a legit programmer but hey, best way to learn is through experience right? If I keep the project smaller in scope then I should be able to learn as I go without too many tears soaking my keyboard lol So here’s a video of terrible “programmer art”:

So to clarify what’s going on: You switch between two Modes (red and blue right now) as the Color lines and Hazard come at you. If you touch a Color line and you’re in the Mode that matches, you’re rewarded with the Charge Meter filling up slightly, and if you’re the wrong Color (or you hit a Hazard) you’re “hit” and the Charge Meter empties. The Charge Meter is constantly draining, so you have to try to match in quick succession to max it out. Once you max it, you automatically enter a third Mode where everything speeds up and instead of dodging the Hazards you now want to hit as many of them as you can because they deflect back across the screen to the side the enemies are on and damage them. Eventually your Charge Meter empties out and you return to the normal gameplay to begin building your Charge up again.

Here’s a flowchart of the main game loop (made with Lucidchart, which is free and easy to create these with):

I have no idea how to make a proper flowchart...am I even using the diamond ones right?? lol

Since I started working on my own game, in my spare time I’ve been consuming all sorts of game design talks, articles, videos, books (if you’re a gameDev, you need to buy The Art of Game Design…this is a MUST read). Extra Credits is one of my favorite series and I’ll be linking a handful of their videos as I go because I’m actively trying to apply the principles they talk about in my design and I want to talk about how I’m tweaking the design around these ideas to try to make something engaging.

This video on Depth VS Complexity was a big influence because I want to keep the game small in scope so I don’t have a ton of programming to do, but I want the mechanic to have a lot of flexibility so I can keep the player engaged and on their toes and thinking of “how can I use these mechanics I’m familiar with to solve this new twist?”. I also like the idea of teaching the game through the design instead of with a tutorial, so you feel like you’re learning/improving right from the start so I’m planning to try that as well.

Here’s the video on Depth VS Complexity, it’s a great concise explanation:

Another key video I’m trying to guide my design by is this one on Choice and Conflict. Their breakdown of Mario’s mushroom is a great eye-opener and the concept of forcing the player into situations where their long-term goals and short-term goals are in opposition and the player has to make a choice in the moment:

So for actual application of these concepts: My game’s mechanics are really pretty simple. You’re just switching Modes and moving between 3 pre-determined locations. You avoid Hazards until you match enough Colors to power-up and then you chase those same Hazards until the power-up wears off. I realized after I was working on this that this is the same thing Pac Man does…you avoid the ghosts until you find a Power Pellet, then suddenly the tables turn and now you chase the things you used to run from, until it wears off and you have to avoid them again. There’s a little bit of satisfying “aha, I’ve turned the tables on you!” revenge feeling in that moment that I’m trying to give the player.

Now the depth and choice/conflict parts come in how I’m playing with that simple mechanic to create different challenges for the player. Some examples:

1) the Charge Meter drains faster the more full it is. So your first few matches will be easy to get, you can take plenty of time between them with no real consequence. But as your Charge Meter reaches 50% the speed it constantly empties starts increasing. So at 20% full your meter drops, say, 1 block a second, but at 95% full your meter drops more like a block every 10th of a second. This adds a nice bit of pressure because the closer you get to your goal (filling the Charge Meter), the faster you have to play to achieve that, but the faster you have to play the more challenging it is to not hit a Hazard or be in the wrong Color Mode and lose your entire Charge Meter. If the Charge Meter dropped at a constant rate there would be no difference in emotion between collecting your first match and your final match. This should give the player a constant up and down emotional ride between almost succeeding and epic failure, and it makes the pay-off (when you finally max the Charge Meter out and enter Mode 3) all the sweeter. In the end I’m getting a whole bunch of sweet gameplay tension added to that one mechanic, just by simply decreasing a timer.

2) I tried out having no Mode switching, so you would just have one type of thing to touch making the game just “dodge this object and collect this object”, but it didn’t feel complex enough. It was a little too simple and mundane because it reduced a lot of the possible chance for error on the player’s side. Extra Credits mentions that “Depth is bought with Complexity, but complexity also restricts Depth” So I look at this like I didn’t have enough complexity to allow much depth. By adding a bit of complexity, by forcing the player to switch Modes, now they have to stay engaged in what’s going on. At the same time I tried adding multiple Modes, like 3 or 4 different Colors to collect, but that became too cumbersome and frustrating. When the player dies because your game feels too complicated, they blame the game and it feels unfair…when the player dies because they messed up what felt like a simple mechanic, they blame themselves and feel like they wouldn’t have failed if they hadn’t made that miscalculation and they feel like they can do better the next time.

3) With that same core mechanic of “match your Color Mode to the next Color line you touch”, I can increase/decrease the challenge the obvious way of simply changing how frequently Color lines appear and how fast the row itself moves, but because I added the Mode switching I can also increase/decrease it by changing the variety of Colors appearing. So 10 blocks in a row of one Color with wide gaps between them would be extremely easy to deal with. 10 blocks of predictably alternating Colors (blue-red-blue-red-blue) with the same spacing would be slightly more difficult. 10 blocks of unpredictably alternating colors (blue-red-red-blue-red) would be more difficult. 10 blocks of randomly alternating Colors with little spacing between them would be even more difficult. And I can vary things up, so on the 3 rows maybe one row is travelling slower or less frequent than the other 2 rows, but is spawning more complex sequences of Colors, so you have to decide “do I want to risk the trickier sequence to fill my meter quicker (which I may HAVE to if it’s near full and draining faster as discussed in point number 1 above), or do I want to stick to the easier rows and deal with enemies being alive (and risking my life if they’re in an attack mode)?”

I could also create enemies that alter those Color lines, so one enemy blocks off a row entirely with, say, fire that will kill you, so you have to stick to just 2 rows which will add tension until that row is free again because now you can’t bail out to a safe empty space as easily because you don’t have that third row. Or some kind of helper or powerup item could change all the Colors to the same Color so for a few seconds you can match the Colors easily. By combining point number 1 up above and this, I could have a level where no Color lines are spawned, but there’s an enemy or boss who spits out complicated random sequences of 5 blocks at a time…because your Charge Meter drains, the only way you would be able to max it out to attack the boss would be to successfully complete two of those complicated sequences in a row. And when you get him down to almost no health, he may just spit out random complicated sequences of 10 blocks at a time, at a fast speed, so that the only way you can max out to finish him off is to pull off a tricky fast sequence.

So I’m getting a ton of potential depth out of just that one “match your Color Mode to the next Color line you touch” mechanic combined with point number 1 above. The player is only using the same skillset they learned at the very start of the game, but now they’re forced to ask “how can I use these mechanics I’m familiar with to solve this new twist?” which is what I want. Maximum depth with minimum complexity.

4) In the video above, you can see that the big boss monster is constantly moving away from you, but every time you match a Color, he’s pulled back toward you. I’m thinking of having some enemies be affected by your matching Colors like this. So in this scenario, if you don’t keep matching Colors, the boss will get away and you lose. But when you match Colors he’s pulled back toward you and covers up the visuals, so if you pull him in too close to you the game actually becomes more difficult because you have less reaction time to see what Colors or Hazards are coming at you. So as the player you would figure out “okay there’s a sweet spot here, I want to try to keep him toward the edge of the screen but not quite off of it” and have to strategize when you match Colors and when you AVOID matching them. At the same time the player should start piecing together that the best strategy would be to not haphazardly match Colors because the boss will end up too “in your face”, but should instead be to go for maxing out the meter every time (so there’s no wasted pulling-in of the boss before the player enters Mode 3 where he can attack) and letting the boss back off slightly if they aren’t successful at maxing their meter.

Other ideas playing with this “matching Colors affects enemy behavior” mechanic would be the opposite type of boss, one that is constantly coming toward you but matching Colors pushes him away to give you breathing space. Or a boss that “short circuits” and can’t attack for a few seconds if you match enough Colors in quick succession.

5) When you’re in Mode 3, it’s almost like a second game because now you’re able to dole out damage and you have to now chase down the Hazards you were previously avoiding so there’s an opportunity to add depth there too. What if there’s an enemy who acts like the classic RPG enemies that go into a defensive shell mode for a minute and not only can’t be damaged but if you attack them your attack comes back at you twice as strong/fast? So if they enter that defensive mode while you’re in Mode 3 you end up having to alternate between collecting Hazards and dodging them based on the enemies’ state. Or you may see the enemy go into his shell mode and choose NOT to attempt to Max out your Charge Meter until the enemy is about to come out of his shell mode and THEN you want to quickly match enough colors to Max out your Charge Meter so that you’re entering Mode 3 right as the enemy is coming out of his shell maximizing the amount of time you’re in your attacking mode and he’s susceptible to attacks.

I’ve got a bunch more ideas, but the thing I wanted to point out in all of this is that even with all these points written above the core game mechanic is still that simple just “avoid Hazards while you match Colors till you max your Charge Meter then chase Hazards” minor complexity I started with but I’m milking it for a ton of depth and in terms of actual programming I’m not adding a lot to the code itself aside from enemy AI design because I’m not adding more mechanics I’m just tweaking how they interact with enemies.

Still reading? Here are concepts for a space girl and an evil goat for making it this far lol:

I have no idea what I'm doing with sci-fi design but I think this'd be a fun project to practice it on.

Why goats? I have no idea lol I was doodling monsters and aliens and a goat just came out.

So I feel like there’s something in this that would make a fun game. The prototype itself doesn’t have much to it but the idea is there and playing it DOES tap into that feeling I’m trying to create so I think I’m on the right track.

I’ve already been working on revamping this prototype into a cleaner version which I’ll show next time, but I’ve missed writing about game design and gameDev in general so I wanted to start from the very beginning. I’m trying to approach this from a very methodical standpoint where when I’m studying all this game design stuff I’m thinking “okay, how would I apply this to my game? Is there a place for it? Is there something I should be tweaking to align closer to a core principle of game design? Is there stuff that adds complexity for no reason or does everything have a purpose?” I’ll be talking more about this kind of thing in the future as I narrow the design down in detail.

Hope you enjoyed the long read! Check in for more next week, and go watch all the Extra Credits videos while you wait for Santa to bring your copy of The Art of Game Design lol



Powered by WordPress | Theme: Motion by 85ideas.
©2010 Bulletproof Outlaws[ Back to top ]
Rss Feed Tweeter button Facebook button Reddit button Delicious button Digg button Stumbleupon button Youtube button