Art + Code = Bushwacking
Published on August 4, 2006 By ScottTykoski In Game Journals

The Art/Code Tightrope

Art vs. Code: It's the ultimate match up, but after working on several games in various positions, I've determined that, to make a good game, the share is 50/50. You can't expect a player to invest time in a game that's visually unappealing, but you also can't expect satisfaction on graphics alone.

To dust-off my Bennigian's roots.....'Graphics are the spice, code is the meat'.

When you're working on a game by your lonesome, it tends to be difficult to walk to line between the two. The tasks require completely separate disciplines, and if you favor one more than the other, you get an over spiced 1oz beef nugget (read: too much art) or an flavorless 3lb chuck-roast (read: too much code). Either way results in an un-appetizing end product is you getting a crappy tip.

Every week I try to devote equal parts art and code, ensuring the product always stays fun to play and pleasant to look at. This keeps me from getting overwhelmed and you, the curious reader, from getting bored.


Speaking of getting bored, here's a snazzy picture to keep your attention.

This week I veered a bit into the code side....not a dangerous "watch-out for the pedestrians!" veer, but more of a "this Phil Collins song is very relaxing" brand.

There were (and, technicially, still are) a lot of features to get into the game, so I feel the extra time programming was well spent, but I still wish I could have accomplished more on the art-side. But let's not cry over what could have been, let's examine what was accomplished...

 

Programming the Engine

 I was able to make four big strides in this area in the last seven days. First, I got in environment detection: this allows the player to interact with uneven terrain. This is a fundamental aspect of any side scroller that couldn't wait, and was on my list of items to complete. Second, I got in Elfington's attack functionality. This required two new animations (the still images are posted above), some tweaked code, and some brand new code. This item was on my "if I have time" list, so I was happy to get it in, but without anything to whack It felt empty. So third, I got in code to automate object ot object hit detection, allowing that attack to alter the states of other objects in the world. This item was on my list for next week, but it was fun to beat those bushes until my attack butt was raw. However, it seemed empty without a bit more "UMPH" when those object got hit, so I added my fourth item, the particle emitter code. Now when you attack a bush, berries and leafs get thrown in the proper direction, making the whole experience more visceral. This was really on my list for week 16, but hey, it's in and and I had fun writing it.


Use 'W' to jump, "D" to attack, 'Arrows' to move, and...well....that's it.

Now, keep in mind that this is still technically just a tech-demo. There's not much game to the above flash movie, so don't worry about oddities that pop-up. It looks like IE doesn't like some of the code I use for removing my placeholder object, so you may see some white boxes in the BG. Also, you won't be able to indefinitely attack while in mid-air. But, in the end, I think engine is taking some significant steps forward.

So yes, the Programming time was definatly well spent.

 

Designing (one of) the Characters

Unfortunately, as stated above, the time devoted to art took a slight uppercut and kick to the ribs this week. I was afraid that the only art task I'd get done could be Elfington's  "Pre-Attack" and "Attacking" animations, but yesterday I squeezed in some time to design the lead knight of the "Knights of the Round Belly".

I had put the design task off from last week, convincing myself it was a lack of time. Truth is....I just didn't have any good ideas.

Unfortunately, this week didn't prove any easier for the good Commander. Sketch after sketch fell to the floor, none of the ideas sticking. Some too cliché, some just weird. I'll go down the list with some chestnuts (I did end up with a satisfactory design, but it's fun enjoy the road traveled).

- Attempt 1 -

This is the "Military Leader" in the most common, cliché sense. Short, stocky, buzzed hair-do with Chewy Gumdrops on his shoulders and a nice pointed elf hat.

His stature was dangerously close (In my eyes) to the current "buffed up" version of Panza (the hero's sidekick). Not wanting to settle, I pressed onwards.

- Attempt 2 -

Another beefy "Drill Sergeant " type character, this guy was 'OK', but still had a similar overall shape from the last one.

I did like his campflauge gear, but felt the design was starting to get cluttered.

Time to simlify.

- Attempt 3 -

The hat was getting a bit "Dunce-Like", so I curved it like a Santa cap, and took off the Gumdrops on the shoulders, but somehow this guy ended up looking flat-out dumb.

I didn't want that, but I did like the square used in the design, and took that with me.

- Attempt 4 -

A box with legs. Defiantly different from the others...had a nice older-wiser feel to him, but also wasn't perfect.

- Final -

A woman! That's the hook I was looking for - a tough, slightly androgynous yet pleasant leader for Santa's Knights.

I was actually going for a man here, but about half way though realized he was looking a bit feminine, so the woman-idea came and stuck.

So now we have Commander Love (first name Kitty), who oversees the knights with an iron fist and the help of her cat, Butch (see below).

Here you have the design process in a nutshell: "keep trying and eventually you'll make a character of questionable gender that's marginally adequate". I have some tweaks to make to sell the fact that she's a woman, but I like the premise, and I think it kept from being too cliché.

Now let's see if I can get more art tasks finished next week...one concept every seven days just ain't gonna' cut it!


Butch: Commander Kitty Love's faithfully fat feline, used for chasing mice and hauling cargo.

Well, perhaps I got two concepts done this week, but that's still not enough!

 

Writing the Script

Oh, and "yes", I wrote some of the script.

I think I have about 5% of the stupid thing done. Don't bug me about it...it's a work in progress.

 

Closing out Week 3

This week was pretty productive...with about 76.2% of my time on code, and 23.4% on art (and 0.6% on that script) I didn't balance that 50/50 "art vs. code tightrope" very well, but I'm still happy with the results.

There's another 15 weeks ahead of me, and with 8 total levels worth of game to create, populate, animate, and test -  my work is defiantly cut out. But, if I can keep a steady pace, and balance those two disciplines that make a game "great", the end product will be a savory Christmas meal with just enough seasoning and just enough steak to make the project worth it.

....

And great, now I'm hungry

 

- Previous Journal Entries -


Comments
on Aug 04, 2006
Rock on, man!
on Aug 05, 2006
Good analogy, good tech demo. Although there seems to be some clipping issues if you drop from the top step on to the middle step, and you might want to speed up the walker some (or my browser is running slow, 20fps if that's what the white box means.) How advanced will the AI be? Will it be a mario-esque run left until you die or a zelda-esque chases the player or something else?
on Aug 05, 2006
Thanks guys!

mew: Good call on that clipping...looks like the i wasn't doing the proper hit-detecting on the sides of the player when falling. As for the gameplay, expect a sidescrolling bteat-em-up, where you do the 'mario' things for some of the level (jumping over dangerous stuff), with the rest of the level enemies chasing you around (Zelda), and you wacking the crapola out of them with your weaponry.

Hope it's a fun combo
on Aug 05, 2006
Damn this is looking good!!!

Keep up the good work and please keep posting a link and update news in the GCII forums

Looking forward to seeing more of this...
on Aug 05, 2006
Hmmn thought i was logged in Anyhow the comments made it!!

More....More....More
on Aug 10, 2006
Reading your game journals is very interesting. It makes me want to go back and write another game myself. It has been a long time for me, but you have a pretty good process documented in your journals, so I might as well follow your lead in how to do it.

Anyway, it looks cool, and I would love to see the end product!
on Aug 15, 2006

Darth: I have a new journal up at http://boogiebac.joeuser.com/index.asp?AID=126493...hopefully it quenches your appetite for...um...stuff.

Martimus: I tell you, developing games can be the most enjoyable and entertaining process, or the most frustrating and ulser-inducing.

This weekend I totally got sucked into programming mode and got stuck on something really stupid...I think changed the name of a function to make it more readable, but didn't change it's spelling where it got called. So (since flash can't catch that error) I spent 5 hours of my sunny weekend indoors deep within the debugger, thick with rage. So that wasn't fun.

But yeah, when it all works, and you can play the game you envisioned in your head, there's nothing more rewarding

on Aug 15, 2006
Yeah, I know what that is like. I had gotten tired of that, so now I spend more time documenting my code that I do writing it. I have gotten into the habit of documenting at least the stack contents after every line I write, and after I finish the function I will usually go back and explain each line more thoroughly after that. You would think that this makes coding take longer, but I find that I am able to write much more complicated programs quicker than ever now. But I haven't written much code on a so-called "computer" lately other than writing tools to make repetitive tasks easier. I mainly write code on Micro-controllers where I need to keep a close track of memory allocations and latencies. But it was a lot of fun coding games when I was a kid, so I would love to get back to doing that. I am sure that I will have all sorts of problems starting out, so I will start with something simple, like a Galaga type space game with a single background with a few moving characters (your ship and the enemy ship, along with whatever I decide to use for weapons.)

Anyway, your game journals are really interesting, I am very glad that I found them.
on Aug 15, 2006
BTW: If you're seriously getting an itch to mess around with some gaming code, keep an eye out on Microsofts "XNA" initcitive (sp)...mostly if you have an XBox 360, you'll be able to design games to run on either Windows or the 360...pretty cool stuff!

But yeah, I've also become a big "neat freak" with my code....definatly makes me feel cleaner and more efficient I'm jsut glad that I have art assets to make as well...give's me an outlet for coding frustrations when something not working right.

Glad you're enjoying the journals...they'll probably get more interesting as crunch time approaches...you'll know im in crunch mode when these look less like journals and more like suicide notes
on Aug 16, 2006
I am sure that you will do just fine putting the game together. Since you have it all planned out, if you fall behind you can intellegently cut certain aspects of the game if you need to.

I don't have an XBOX 360, nor do I think I will get one. They are really way too expensive for me to justify buying, and I don't have much time to play games anyway (I have three small kids that take up all my free time - at least until they go to bed.) But I will take a look at the Microsoft "XNA" initiative to see what it is. I will probably just code it in my spare time using C, or maybe Java. We'll see, since I haven't made a graphical program in probably 10 years... hmmm I wonder how I should start, what are you using?
on Aug 17, 2006
Unfortunatly the XBox360 is a bit on the costly side (and lets just ignore the PS3's price point), but luckilly, as I understand it, the "XNA Game Studio Express" will be able to compile windows versions of your creations (WinXP sp2 and Vista), so that may be a good place to start (once it's released, supposidly at the end of the month).

However, if you already have a grasp on Java syntax, I'd suggest taking a look at Flash, which is what I'm using for this Christmas Game and anything else I need to crank out. Java and ActionScript, Flash's language, are very similar, making ramp-up-time minimal.

And since the art and code tools are fully intergrated, it makes quick development a breeze. No need to encode graphics, or export them from other programs, or even come up with a display heirerarchy...you can just draw right onto the stage and you have a game object. All animation is delt with in the core program too, so that's another class you won't have to create on your own.

There are also quick development tools like the Torque Engine from garage games, amongst others, that will let you script up a game pretty easilly, and since youre starting fresh these may be just as easy to pick up as flash, though I'm obviously a bit biased (been using flash for the last 6 years).

If you do pick up flash, I'd be happy to send you some samples to get you started Always nice to bring others into the flock

Hope this all helps! Happy programming!

on Aug 17, 2006
Flash seems like as good a place to start as any. I would like to see some samples to start me off though. First, I would like to ask how much ActionScript costs, so I can save up for it. (It sucks being poor sometimes.)

Thank you for your offer for help. I really appreciate it. If you can send some simple sample code to martin.hogan@gmail.com, I would appreciate it. Hopefully I can get started on something soon.

-Marty
on Aug 17, 2006
Grrrr....looks like Adobe got greedy and upped the price considerably for Flash 8. Luckilly, there's marginal difference between 8 and 2004mx, which you can get cheaper on various stores. I sent you some links in your email, hopefully they can help get your creative juices flowing!

Enjoy!
on Aug 17, 2006
Thanks, I will take a look at them.