Wednesday, July 22, 2009

Making the Cut

Sorry about the lapse in blog updates. Things have been hectic around here. Something in the plumbing broke upstairs last week, leaving my room flooded. This week, I had surgery, and am currently recovering. So, yeah, not much has been going on in the way of development. Once I recover from surgery (hopefully before the end of next week), I'll be back to work. Just wanted to let you all know what's up.

Thursday, July 9, 2009

Mythic Web Site

Hey folks, just wanted to let you know that I've added a simple section to my Web site dedicated to Mythic. There you'll find some documents such as progress reports and character profiles, as well as images and animations. Head on over to and check out the cool stuff you can find there, and check back occasionally for new additions!

Lua Lua

No, it's not the name of a mostly incoherent song from earlier in the past century. Lua is an extension programming language used for scripting. It is a light-weight library that allows you to "script" data, functions, etc. into your application without having to recompile your program code. This can make your program a lot more flexible - you can change the way your program behaves without having to alter its internal code directly (assuming your program is set up properly, of course).

I got acquainted with Lua programming last night. I read most of the "Programming in Lua" guide after it was delivered yesterday afternoon, and dove in. Lua programming is assuredly... different, but it's not hard to get the hang of it. It's certainly new to me the way data and the like are handled, but it's nothing earth-shattering.

So, what will Lua do for Mythic? I aim to use Lua scripting for things like cut-scene automation and program configuration. I haven't had time to delve too deeply into everything that Lua can do for a project like Mythic, so I may be missing a few things. More time getting to know Lua will tell the whole story.

Saturday, July 4, 2009

Making of a Modern Myth

I told you in my last blog entry that I would possibly give you another update the same week, and here it is - only a few hours late!

I've mainly been working on composing some tunes for the game. That's right - not only am I doing the writing, programming, art, and design for Mythic, I'm also laying down the beats. My skill and experience with music are comparatively limited, however. The samples I've sent out to my inner circle have gotten satisfactory reviews though, so I'm hoping that I'll be able to fit in some of my music. If not, I know a party who may be interested in contributing on that end, so it's all good.

After getting a few more tracks produced, I plan on starting on the scripting engine for the game, as well as getting a start on the character animations.

Now that I've given you an update on what's been going on with the project, allow me to go into a little detail on the story behind the game.

"When an ancient artifact never mentioned in history surfaces, it is studied, then passingly considered a relic destined for the museum. Put on display just before a big show there, the curator instructs a pair of night watchmen to keep an eye on things and make sure nothing undesirable happens on the eve of the debut. In the meantime, the discovery of the artifact has not gone unnoticed by a certain malevolent deity.

"As one museum guard, Carter, checks in on his partner-in-training over the radio, there is no response. Upon discovering the whereabouts of his coworker, Carter notices him acting very strangely. When Carter sees his partner holding a museum exhibit in his hands, the trainee disappears into thin air - leaving no trace but a hole torn in mid-air.

"When Carter approaches to examine, the rip in space pulls him in, and he is hurled into a strange void-like realm. His partner stands before a beautiful woman in flowing robes, asking for immortality in exchange for presenting her the exhibit. However, this woman, who claims to be a goddess, is not at all what she appears to be. After taking her prize, the goddess cuts down Carter's friend, leaving him to die as she transforms into a lanky man in a suit and hat, who then turns his attention to a horrified Carter.

"Who is this shape-shifting stranger? Why is he after a museum exhibit? What will become of Carter? These are answers to but a few questions that will arise when worlds collide. Gods and goddesses long forgotten will return to the limelight. Heroic figures from long ago will be reborn. Horrific monsters once vanquished will return to wreak havoc. Welcome to the making of a modern legend."

Stay tuned for more updates!

Tuesday, June 30, 2009

Getting Results

It's been close to a week, and so far I'm very happy with how my project Mythic is coming along. I know a week isn't a lengthy period of time, but still, I've been working up a storm on the code and graphics (and even concept sketches and the story script). When I work, I mean business.

Anyway, for anyone who wants to know some of these results, read on.

I've been working mostly on graphics the past couple days. I incorporated a "painterly" style to the backgrounds, as I feel it fits best with the theme of the game. The game is set in modern times, yes; but its heavily myth-driven flavor lends well to painting-style images.

If you want a sample of the work I've done for the project, there is a sample scene that I put together using the graphics I've made. Since I don't have a suitable map editor yet, I had to put it together in my graphics editor, but this still gives you an idea of what things may look like, at least for outdoor, forested areas.

Of course, this is all for nothing unless the game runs well. After all, there are things like free-roaming, alpha-blended clouds floating around in the background. So, I decided to add some code that populates a decent-sized map with a simple (but comparable to a real-world scenario) background. As you can see, I'm getting a solid frame rate of over 30 frames per second. Note that this test was run on an old single-core, single-threaded laptop processor running at 1.86GHz, with 1GB of RAM and a Radeon Mobility X600 with 64MB of video memory. The program performs equally well on my Asus Eee PC 901, with a 1.6GHz Atom CPU (overclocked to 1.8GHz using "Super Performance Mode"), with 2GB of RAM, and an integrated Intel GMA 950.

The final product will obviously be more active than this, but the performance so far on this equipment makes me a happy camper.

As I mentioned earlier, I've also been working on sketches and other things that lean more toward the design aspect of Mythic. I have the full script for the first portion of the game (there's a lot of dialog as the game is story-driven, but it won't be as wordy after the beginning of the game) and a few sketches of one of the main characters as well as one of the key items in the story.

That's all for today. As always, stay tuned for updates. If we're lucky, we might have another blog post this week!

Thursday, June 25, 2009

Laying the Foundation

Welcome to another installment of theraje's Game Development. Today, we discuss what has been going on with my current project. If you have been following my blog, you know that I have put Dungeon3D, my 3D rogue-like project, on hold for now. In the meantime, I am working on a 2D project which I hope to have finished by the end of the year.

The project aims to be an action-adventure game in the vein of the 2D Castlevania games. This means that the perspective is side-view, and that the action style is part beat-'em-up, part platformer, and part exploration. The project, tentatively titled Mythic, will have a setting and story line based on a mix of different world mythologies, including European, Oriental, American, and African myths and legends. Gods and godesses, beasts, and heroes will interact with their counterparts from other myths, as you - the player - attempt to stay alive while meeting your own ends.

I officially began production on Mythic a couple days ago. Day One involved me getting the map/layer system set up and creating some basic tile graphics, while Day Two was spent mainly getting parallax scrolling working. Today (Day Three), I have gotten the tile engine working for the most part, and plan to take the rest of the day off (I haven't taken a real break since I started).

The tile engine as it stands is pretty straightforward. Maps are made of multiple layers, such as background layers, foreground layers, and the "primary" layer (the layer on which the player and other game entities reside). Each layer may be a different size to affect how it scrolls - smaller background layers scroll more slowly than larger foreground layers. This parallax scrolling effect gives the world a sense of depth, even though it is completely two-dimensional. Not a new technique by any means, but it adds a lot to the atmosphere!

For the curious, the game is being developed in C++ using the SFML library. The project will also support game controller input (I have an XBox 360-compatible controller that I'm using for testing), as well as keyboard input for those who prefer it for some strange reason.

Well, I hope that I've gotten you curious about Mythic. I will do everything I can to make sure the game works well and is an enjoyable endeavor for you. Stay tuned for more updates next week!

Friday, June 12, 2009

Back on the Ball

Hey folks, hope you all are doing well. Sorry for the huge lapse in updates, but my mom fell and broke her hip about six weeks ago. I've been spending most of my time since then housekeeping and helping her out where I can.

Well, the doctor said that Mom can now start using her bad leg some now, so it looks like things will get back to normal soon... which means I can work on my project again. Huzzah and hurrah!

As I mentioned in a previous post, Dungeon 3D is on hold. Right now I'm planning on developing a simpler 2D game. I've been working on getting my feet wet on animation (I've been doing graphics design for many years, but have never done much "real" animation). I don't have anything usable, per se, but if you know me, you know I plan to rectify that.

Hopefully sometime in July I'll have enough to entice you with screen shots, but in the meantime, keep an eye out for updates, as they will be back on their regular schedule of (roughly) once a week. See you soon!