Starting a New Project! (codename: Little Ninja)
Hi everyone!
As you probably noticed, Wind and Water: Puzzle Battles for Dreamcast was released early this month, so we decided to start a new simple platform-adventure game, codename: Little Ninja!
Since Wind and Water was a very extensive and ambitious project, we want to keep this one simple. We’re mostly focusing on engine development, programming, scripting, as well as graphical issues that need to be resolved. Little Ninja may become the stage for our new big platform/adventure project, but for now, we’ll try to keep it simple, and we really hope this time we don’t mess it up
We’ll be documenting the whole development process, both from my side (programming), as well as the artistical and musical part — Yuan’s part.
What is Little Ninja anyway?
少忍龍飛 (Shounin Ryuuhi — Young Ninja Ryuuhi) is an old Yuan Works project:

That’s an old screenshot taken from the Yuan Works website. We’ll be remaking it from scratch, but the basic idea still applies.
Map Editor and Tile Design
Before starting to program directly on the game, there are several tools that need to be done beforehand. Fortunately, all animation and image editors used for our past project were dramatically improved while we were working on Wind and Water, however, one of the tools that is not too flexible is W&W’s map editor:

Wind and Water does feature a map (usually compared to Super Mario Bros 3), but we need something more complex this time. It’s time to design a map editor then!
First of all, most, if not all, maps contain two important parts:
Tile graphics contain what you actually see on the screen (the visual part). More like a geographical map. This includes background, foreground, animated tiles, etc.
Tile information contains how the characters interact with their surroundings: where they walk, items they grab, etc. Like the political divisions.

Tile graphics vs. Tile Information
For now, the visual part is not important, after all, that is Yuan’s work. We’re here for the Tile information, what I like to call the map’s mask (Note that I am using the term mask in an incorrect way, but that’s the way I like it. In a metaphorical way, the idea of the mask still applies… at least for me!)
Anyway, in the above example, the red part represents the main character’s sprite location, the green part represents a collectible item, while the orange one represents an interaction (in this case, a sign). On a final version of the map editor, these are important bits of information, however the part that I’m most interested in right now is the blue one — the map’s terrain information.
Map Terrain Design
For now, let’s focus on letting the character walk, jump, fall, and so on, since starting from anywhere else would be pointless (there’s no use on letting the character slash enemies without knowing where to walk). For Little Ninja, we’ll be using tiles of 16×16 pixels, so my first constant inside the project is
MapTileSize = 16
Instead of using the number “16″, I’ll use the constant MapTileSize. This way, if we’re creating another project or we decide to change our maps to say, 8×8 tiles, we just need to change the constant. Basic stuff, but incredibly useful.
As for the terrain information let’s have a look a the terrain types I thought of so far:
![]()
From left to right: empty (character can walk or jump through), solid, platform (same as solid but the character can walk through), water, and spikes (instant K.O. — like Megaman). I’m not 100% sure if spikes should be an actual terrain type or not.
Now that we have terrain types, we need to be able to create hills and slopes, or we will be rewinding videogames back to the Mario 1 era (not sure if it’s good or bad though):

Here are some slopes I thought of. From now on these are the terrain angles. I’m guessing it’s not too important to have that many different angles, so I’ll only be using 45°, ~26°, and ~63°. I’ll leave it open just in case I need more.
Anyway, that’s it for now. On my next post I’ll begin with the map editor and hopefully take a video of how map editing should be done. Don’t forget to subscribe to our RSS feed or email, and stay tuned for Yuan’s post on the art side!




November 13th, 2008 at 12:14 pm
This game loooks awesome, I am looking forward to it
November 14th, 2008 at 4:31 am
Amazing! Please keep talking about game programming!
November 16th, 2008 at 9:10 pm
I like the way you approach your blog a lot. keep up the good work.
November 19th, 2008 at 1:11 pm
Thanks, we’ll keep the updates coming so don’t forget to check regularly
!
November 19th, 2008 at 1:40 pm
[...] you remember last time, we were in the process of defining what was important for Little Ninja’s new Map Editor. If you haven’t read the last article, it’s a good idea to take a look at it since [...]
November 25th, 2008 at 10:29 am
[...] time I have drawn some more natural looking terrain to make the game easy on the eyes. This is how Little Ninja will (hopefully) look like in [...]
April 15th, 2009 at 6:02 am
This sprite work looks amazing and the notes on your progress are really great !
Please work on it.
I am going to pre-order anyway
November 23rd, 2009 at 8:35 am
Success didn’t spoil me, I’ve always been insufferable.