Saturday, September 22, 2012

Ra: Character Design

The eponymous hero of my upcoming game, Ra, needs an appropriate image to depict him. Being based on a god who was worshipped in ancient times, Ra has many pictures on the Internet that I can use as a basis for making my own version of this character. After trying out different variations, I finally settled on the design shown below.

Though it may not look it, the above picture took days for me to complete. In this blog post, I explain my character design process and the reasons for painting Ra the way I did.

My first step was to decide on what I wanted Ra to be. The back story of the game is that Ra and his fellow deities ruled comfortably over the spiritual lives of Egyptians until Octavian, the adopted son of Julius Caesar, conquered Egypt. At this point, Octavian was strongly inclined to abolish the worship of Egyptian gods, a move that his advisers warned him against. Nevertheless, the Roman gods were only too happy to give Octavian a nudge in the desired direction by kicking the Egyptian gods from their places of power. Only Ra, the strongest of the Egyptian gods, found the strength to drag himself up after his fall and to try to impress the local mortals sufficiently to have them worship him again. Only then will he find the strength to defeat the Roman gods and restore all Egyptian deities to their rightful thrones.

I want Ra to be an avenging hero, sort of like The Count of Montecristo and Sam Raimi’s Dark Man. I don’t want the game to be serious, however, because I have a soft spot for comedy. If a game idea makes me laugh, I’m inclined to implement it. Instead of portraying the gods as actual living beings, I’m going to depict them as wall art trying to vandalize each other. This design decision has the advantage of allowing me to put in floating obstacles, as I explained in my previous blog post.

Without worshippers, Ra is so weak that he hobbles like a man at Death’s door. When he happens upon Egyptian mortals, they will softly chant his name, giving him the strength to stand upright and walk normally. By striding before his worshippers, Ra can get them to chant louder until he gains the ability to run extremely fast and jump impossibly high. When hanging on to a nail on the wall, Ra can swing himself ever faster until he flies away like a gymnast, his body whirling and blazing like the sun. At the height of his power, Ra can crush Roman soldiers without coming to harm. Against their gods, however, Ra will need both his smarts and his strength to defeat them.

With this description in mind, I wanted to build Ra like an athlete, more of a gymnast and sprinter than a wrestler or bodybuilder. When I painted him, I started by drawing his silhouette with an eye toward hinting at his athletic prowess.

The broad shoulders and narrow waist suggest that Ra is the athletic type. His arms are muscular but not overly hypertrophied, and his calves are long and well-defined. These convey the idea that he relies more on speed and quick bursts of power than brute strength and tank-like endurance. His head is oddly shaped, like an eagle in profile. This is a departure from how Ra was depicted in ancient times. The top of the original Ra’s head, along with the overall shape of his face, was round, which suggests a love for comfort and relaxation. By giving Ra a more angular, aquiline profile, I depicted him as a dynamic and dangerous character.

When painting the rest of Ra, I relied mostly on the ancient sources to guide me, although I decided to make his arm bands light green instead of red to add variety to the mostly warm colors. It was with Ra’s face that I made some subtle but important differences. Instead of making his eye round, I made it narrow and slanted to give him that pissed-off Clint Eastwood look. I reshaped the black mark on Ra’s face to make it look like an avenging superhero’s mask. Finally, I gave Ra a furious frown on his beak. This is one angry bird that no pig will want to take on.

The color of Ra’s skin was picked to closely match the red ochre pigment that was used for painting skin tones on Egyptian wall art. All the other colors were precisely chosen for their harmoniousness with Ra’s skin color.

Despite the stiff pose of this character, I was satisfied with the design that I came up with. It took me a few days to complete, but I feel that all this effort was worth it.

Thursday, September 20, 2012

Ra, Ra, Ra!

While daydreaming some time last year, I saw in my mind’s eye a 2D sidescroller set in ancient Egypt. The player’s avatar was the god Ra, who ran across a green field while throngs of people waved pompoms and chanted his name. “Ra! Ra! Ra,” they cried. The louder the people chanted his name, the faster the avatar ran, which caused his worshippers to chant even louder. The challenge for the avatar was to hurdle obstacles as he neared them. If he tripped on an obstacle, the people in the background would groan, but they would softly cheer him on as he resumed his run and picked up speed.

The type of game I had envisioned is called an auto-runner. “Canabalt,” created by Adam Atomic in 2009, was the first game of this genre. The mechanics of Canabalt is simplicity itself. The avatar runs across a procedurally generated landscape and accelerates over time. The player has no direct control over the speed that the avatar runs and has absolutely no control over his direction. The only thing the player can do is to press the space bar to make the avatar jump. Players have to time their jumps properly to hurdle obstacles and cross chasms. One false move, however, and it’s game over.

I tried to prototype my idea in GameMaker, but the result wasn’t particularly engaging. I then tried to implement it as a rhythm game, but it played even worse. Stymied, I put my game idea in the backburner for the better part of a year.

Last month, I was searching for other game engines when I came across Stencyl, an interesting tool that uses code blocks to keep users from making syntax errors. The program that I downloaded, version 2.1, allows you to quickly make complete games using any one of several kits. Best of all, the free version of Stencyl has the full feature set for making Flash games. After tinkering with Stencyl for a week, I had prototyped my Ra game as a platformer. Even with minimal implementation, the prototype was fairly engaging and held a lot of promise.

One of the abilities I wanted Ra to have was rolling under low-hanging obstacles, similarly to how ninjas roll away in Tenchu: Stealth Assassins. Implementing the roll was easy enough, but I couldn’t figure out how to show the obstacles without making them look like they were floating in the air. In a whimsical game such as those in Nintendo’s Mario series, floating blocks and platforms are not out of place. In a game set in ancient Egypt, however, those same features would stick out like a sore thumb.

The solution came to me while I was daydreaming again. Why not depict Ra and the Egyptians as animated hieroglyphs on a wall? All floating obstacles would then be wall paintings as well and would therefore be completely appropriate to the game world.

Brilliant, I thought to myself.

This gave rise to another idea. I wanted Ra to be able to swing and flyaway like a gymnast on uneven bars. The question is, how do I depict bars in a two-dimensional world? The answer that came to me was that not everything in the game world had to be two-dimensional. I could have nails jutting from the wall and allow Ra to latch on to them for his acrobatic stunts.

Yet another idea came to mind. Why not add a little excitement to the game by giving Ra some enemies to fight? I could have him fighting the Romans, who supposedly banned the worship of the local gods after conquering Egypt. (This never happened historically, so I’m going to have to use my artistic license here.) In keeping with the theme of having all characters as wall art, the Romans would appear as either mosaics, which are easy to break to pieces, or marble reliefs, which are much more durable. Roman soldiers would make excellent minor enemies for Ra to shatter, but for the end-of-level boss fights, only the major gods of Rome in glorious marble would do.

I knew I had picked the right theme for my game when lots of ideas sprang from it almost effortlessly. I could even see the blurb now:

Avenge yourself and your fellow deities as Ra, Egyptian god of the sun. Drive your worshippers wild to increase your power by undertaking impressive feats of athletic prowess. Steel yourself for wall-to-wall action as you battle the soldiers and gods of ancient Rome in this rousing game of hieroglyphic proportions.

Things are looking good for Project Ra, I’d say.

Sunday, September 16, 2012

A New Beginning

Two months ago was the beginning of the end for me. Having modded Neverwinter Nights 2 on an on-and-off basis for the past four years or so, I could feel my interest in it flagging like an anchor sinking in the sea. I enjoyed the time I spent creating modules and custom content for NWN2, but I felt that I had already learned everything worth learning from it. If I am to grow any further, I have to cut my ties to NWN2 and create videogames of my own.

It wasn’t easy to choose which of the many platforms to develop for. I thought at first of jumping on the iDevice bandwagon and developing apps for it, but the investment in time and resources I would have had to make just wasn’t worth it. I didn’t have a Mac, a developer’s license, and the software to make apps. These aren’t cheap, but neither are they so expensive as to keep me out of the running.  However, considering the likelihood that my first few apps won’t sell well enough to justify the annual cost of the developer’s license alone, I decided to search elsewhere for a platform to cut my teeth on.

What about consoles? I may not be able to make a retail console game, but I can make small, downloadable games for WiiWare or Xbox Live. The entry barrier for making Xbox Live games is much lower than that for WiiWare, although for indie games, there is still the issue of an annual membership fee to be paid. What’s especially great about Xbox Live is that Visual Studio Express and the XNA Game Studio, software that can be used for developing Xbox games, are free. A low entry barrier means that the competition is plentiful, however, and it may be difficult to be noticed in the crowd of cheap, downloadable games.

On the other hand, with so many people developing mobile apps and indie console games, I wondered if making games for the PC wasn’t such a bad idea. I know that PC sales have been taking a beating as mobile devices become more and more powerful, a trend that isn’t likely to change anytime soon. Nevertheless, this does not mean that the percentage of households with PCs has been declining. Households may not be getting new PCs as often as before, but they may still be running old but serviceable PCs. If so, then there may be decent demand for PC games that don’t require powerful hardware to run. That would be good news for me if it were true because I’m not about to churn out the next Skyrim or Call of Duty all by my lonesome.

The more I thought about it, the more I liked the idea. There are no license fees to be paid for making PC games, and many of the software tools are free. Considering the very low risks involved, PC development seems to be the way for me to go at this time. It’s a niche market, to be sure, but it’s a good niche for starting out with.

Having decided on the platform, I searched the Internet for a good game engine to use. PCs are finicky machines because most of them are not engineered and assembled by a single manufacturer. Consequently, a game that works perfectly on one PC may run into problems on another. This reason alone is enough to justify acquiring a reliable game engine to mitigate potential problems on PC compatibility. Add to that the fact that development time is lower when using a good game engine, and the question of whether to get one becomes a no-brainer.

So which of the many available PC game engines should I get? Some, such as Multimedia Fusion 2 and Torque 3D, cost money to acquire, but there are also several good engines that are free. Unity3D is a popular engine for making 3D games, and it has a version that is free to download, but I want to stick to 2D game development for now because 3D assets take longer to make. I know that 2D games can be made with Unity3D, but it would be like going against the tide just to make it work. There is another popular engine called GameMaker that comes in a free version, but it is so lacking in essential features that one might as well purchase one of the paid versions to get any real work done. Other free engines that are worth mentioning include Construct Classic and the Wintermute engine. All of these produce executable files, which means that developers need to address the problem of how to market and distribute the files while ensuring that they don’t get pirated (much).

After looking into the matter a bit, I realized that it is possible to develop free-to-play browser-based games and still make some money from them. Flash games in particular can be sold to sponsors on, or they may be uploaded to sites such as Kongregate or Newgrounds, which offer a percentage of ad revenue to developers. We’re not talking big money here, but we’re not dealing with the kind of risks that triple-A developers go through either. It isn’t even necessary to have Adobe Flash Professional to make a Flash game. Developers on a tight budget can make Flash games using only free software. If their game development ventures become successful, they can purchase Flash later.

Hence, I’ve decided to make a Flash game for my initial foray into indie game development. My first game may or may not be popular, but I hope to learn from my experiences and eventually make better games in the future.

The end of my NWN2 modding days marks a new beginning for me. I do not know how successful I will be on this journey, but one thing is certain. I will never know unless I take the first step.