• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Game Design

SCRAPPED: Custom Pony Avatars (Solid Design > OCs)

A big part of making feasible games (ones you intend to finish) is cutting features to limit the scope of your game. During Unicorn Quest's development a lot of things hit the cutting room floor. One of my first ideas to go was the customizable hero. I tried thinking of ways to make it work but in the end it just required too much work and too much game memory.


Players were going to be able to dye Clover's hair, coat, and cloak with magic dyes you could buy from shops. This came from me wanting a way to allow players to make the protagonist they want to see. Mainly because I wanted there to be some discrete way to make Clover purple for those who wanted her to resemble the character she's based on.

As far as execution it would just be a matter of recoloring sprites in Gimp. The problem comes from memory. There can't be hundreds of sprites in the game's data for just one character. Android apps should be kept as small as possible.

I was going to layer the sprites so that Clover, her hair, and her cloak were three separate sprites that moved in sync. That way, I wouldn't have to make spritesheets for every possible color combination. I tried to make the idea work by making her cloak cover her mane and tail, but the design was ugly and I began to love the Faust style default color pattern.

In the end I'm glad I did it. The game will be much smaller now which means I'm more likely to finish it in decent time. Deciding on Clover's permanent colors is also good for the game because it separates itself from the source material. Clover feels more like her own character and not just a clone of somepony else. I think this will make her more memorable in the end and that's what I want.

I often hear that characters should be designed with silhouette recognition in mind. Interesting shapes and color combinations that contrast nicely with the environment makes characters like Mario and Link so memorable. That's why clover is highly saturated with contrasting colors, moves bouncy, looks soft n' rounded, has a big cute face, and wears a hooded cloak. It makes her stand out, makes her easy to spot, and makes her easy to draw.

I want Clover to be my first mascot. A character players can fall in love with and want to see more of. I want to go to conventions and randomly come across awesome looking merchandise. My mission is complete the second I see fan art.

Game Design

Making an RPG Town Scene: from Gimp to Unity

As an indie in college I still have a lot to learn. I'm documenting my methods and lessons so novices can learn and practice with me. Here I'm writing about making a map using MS Paint & Gimp then importing it into Unity for use with the 2D Toolkit.

With my world map charted out it's time to start putting my plans into practice. I'm using the techniques I used to create the battle scene. I start with colored blocks indicating walls, land, and obstacles. Next I do some sprite work to have things to fill space with. After I have blueprints and pieces I line everything up and put it into Unity so I can add collision boxes where they're needed.

See a more detailed breakdown of making the game's forest town, Timber Grove, from sketch to in-game (along with some pictures) below.

It always starts on graph paper. I call it dreaming because it's like writing the design document, this is the fun and easy part where I just make up what I want in the game. I'm not making these plans for a team so there's no reason to be neat or detailed. I just need something I can look at and understand exactly what I envisioned in the first place.

I need a scale to go by so I use the player avatar as a basic unit. Approximately 32x32 pixels is about Clover's size so I make the floor tiles that size and even do a Sonic inspired checkerboard pattern to it's easy to tell where each one is and count them at a glance.

Another thing to keep in mind is having the map be number to the power of 2. That should be true for all sprites because of how they are manipulated by code and stored in memory. I made sure to limit the size of my maps to 1024 sq pixels so that I can have tons of them loaded one at a time without worry of memory overload or making the game file size too big.

I've been tinkering away at making sprites for the forest town and still have some animated ones to do. Namely moving flowers and a pixie fountain (warp and healing point). I placed the buildings first to match the sketch then put in the decorative elements like trees, stumps, rocks and the town sign.

I want the town to feel both spacious and crowded so in the sketch I made sure to leave open spaces that led nowhere, a clear route from one exit to the other, inviting open houses near the entrance the player will come through first, closed houses scattered and placed near things that actually are interactive, and enough NPCs to make it feel like ponies have lived stable lives here for a while.

I even made sure that no two houses looked the same, but they all looked similar enough to blend together and let the really important landmarks stand out (notably the shops). Also those pink & lavender boxes at the top are where I'll place the fountain asset when I make it. With that sprite being so big I wanted to chart out room for it in advance so I know not to put stuff there.

I want the player to walk straight up to the fountain when going from one town exit to the other so it will be placed midway between the stumps to the left and the building to the right. The squares are evenly placed so it does not represent the exact placement of the object, but does give me an idea of how much space I should leave open.

The tileland version of Timber Grove (what I call the black & green grid with decoration sprites) is just a template I use as a layer in Gimp for placing the real game objects. That means first separating each and giving them all transparent shadows so they look nice when I place them in the world.

Having each tree be an object in the game would take up way too much RAM when the game is running so I need to make a static image of everything in the scene that doesn't move. I open a bunch of decoration object images in Gimp then copy/paste them onto the final image I'll be using for the game.

The final image is a Gimp project with 3 layers. One for the tileland template (at the bottom so I can place things over it), one for the 1024 sq pixel grass tiles that will be cut when the image is reduced to the object layer size (remaining invisible until I click the eye-icon that makes them cover up tileland), and the object layer where I'm placing trees and such.

Copy/Paste grass tiles for the middle layer.

The goal is to match the object layer to what I have in the template but in a careful way that takes into account which objects are closer to the bottom. Items further down are technically in the foreground so they should cover the stuff behind them. When making tileland it's about feeling spaces out and here it's about having that layout make physical sense.

This is what it looks like to only have the object layer showing.

Once the PNG image is flattened and saved I drag it into my Unity folder and make box colliders for walls and doors for entrances. All the techniques I used before for overworld traversal.

I still need a few more assets before I'm satisfied with the look of the town but I almost have the feel down perfectly. Some animated flowers and wandering NPCs will make the town come alive. In addition to that this particular town will have 3 houses and 2 shops you can enter. I'll be making those maps the same way I did Timber Grove proper. Tileland, floor tiles, and object sprites. I just need to also make a back wall for the room to show that it's an enclosed space and I'll have the surrounding area be a black void just as I've seen in other RPGs so the player knows to focus on the colored area.

Things look pretty bare until all the pieces come together. When it finally does though, I get the swelling feeling of pride from knowing I have a new scene in my game. An interactive game world of my creation exists and I can play in it. All that's left is to make more and build a complete and flowing world.


If you liked this post you can follow my great adventure from dreamer to developer at yotesgames.com where I post my progress and lessons weekly.
- Tony Yotes

Progress Report

Unicorn Training Launch Weekend Sales

It's an early status report but I'm sure some of you are as interested as I am in seeing how well Unicorn Training did on its opening weekend. It's doing better than I expected and my inner flame burns brighter than ever knowing that I have a real chance at being a successful indie developer! I don't see me making enough for a Macbook just yet, but I can expect my first ever payment from Google to come in next month!

Catch some rankings and numbers to satisfy your curiosity below...

I don't think I ever experienced chills like the ones I got when I woke up Sunday morning and opened Google Play to find my ranking data when checking the RPGs section of the store. Number 14 in top paid RPGs (now sitting at 12), number 2 in top new RPGs, the demo reached number 36 in top free RPGs, and both games listed as numbers 3 and 4 in what's trending (for RPGs). That's when I realized my goal of at least 200 downloads wasn't unrealistic.

Seeing my game in front of Final Fantasy titles was the moment.

I finally feel like a professional gamedev. I expected it to be my most popular game yet, but I really wasn't expecting such a good reception at launch. I was overestimating the number people who'd be upset about an amateur charging a whole dollar for a game he spent a year on. I couldn't have asked for a better start. I told my parents (as well as my girlfriend's family) and I finally feel like I have solid proof that I'm not crazy. I really can make a career out of this if I keep improving.

Take a look at these numbers for Google Play and Amazon.

These are the biggest numbers I've ever seen...

At this rate I'm going to get my very first bank deposit!
I'm officially making money off my video games!

It's a lot harder to get featured on Amazon.

The data is always behind and the current numbers are visible on your developer pages before being put on App Annie. When I check on Google Play throughout the day I see how many active installs and reviews I have. It updates 7pm-8pm while App Annie updates the next day.

Here's more up to date numbers

Day One Google Play Stats

I hope these numbers keep up through the holiday months (December and January), so I can finally have a baseline to see if my career plan of having a game out every November is a good idea. Only time will tell. I hope to see even more success once Unicorn Training is on other android app stores I upload to.

I really want it on as many platforms as I can find, but android is the only option available right now because of it's low cost of entry. The only reason it's not on Windows Phone is because Unity requires Windows 8 to build the file and I'm using Windows 7. Even though the reach will be contained I think the game will still serve it's purpose in getting my name out there and introducing people to what I want to bring to mobile platforms.

You can find Unicorn Training on Google Play or play the Free Demo if you want to try it out.

It's also available on iOS and Itch.io.
Pages: 1