Saturday, December 31, 2011

Music Hacker - S2E2

Unfortunately, the audio quality is mucked up pretty bad. Can't really find a way to fix it,

Tuesday, December 27, 2011

Infiltrator Part 9

The legacy of the project of nine lives continues! Or, at least five lives so far...

Anywho, this is what I think is a fairly important milestone. All five weapons are primed and ready to be used to destroy things. All five enemies have artwork ready, as well as a base to build the AI/behavior around. Any number of enemies can be loaded from a level, as well as any kind of level backdrop, with any number of any kind of walls or obstacles. I'm actually at the point where I need a level editor. I came to this conclusion sometime while I was hand writing the coordinates for 90 different objects in the level file. If you're wondering what they were, they're the walls surrounding my test arena. I dumped level boundaries in favor of wall objects that use Box2D.

Box2D turned out to be mostly just pure awesome... WITH HACKING TABASCO SAUCE!

Sorry, I got a little carried away. It's good, okay? All the enemies, level barriers, players, and everything neatly and easily slid into place. The physics look convincing and realistic. Box2D is a well designed, easy to use-erm... well black box.

There's really not much to say about the sound effects. I threw them all together in audacity, except for the AIFSA sound effect. It's basically a cut-up, remixed, re-organized hackjob of some chainsaw sound effects I dug up online. All the sound effects work well and match the weapons though, so I'm satisfied.

Now, for a word on the control scheme. You see, I originally had a unique control scheme. Forward and backward always moved relative to your ship, which was facing the cursor. Left and right ALSO moved relative to the ship, which led to an abnormal and somewhat unintuitive flip in left/right motion relative to the screen if the ship was facing the bottom. Confused? Don't worry, it would be even worse if you were flying the ship.

The control scheme was little more than an extremely direct circle-strafing system. It worked, but was a little too unique. Ideally there will be a few camera/ship control modes available via the options menu in the final version, but right now I've decided to stick with something a little more simple. The ship simply points at the cursor, but moves relative to the screen.

This is the mark of version 0.0.30. It's all very pretty, but it's starting to be a pain in the face to write out levels by hand. A level editor is in high priority, but I need to port my particle system from SDL to SFML, and make use of it too. This level is getting pretty boring, so I need to come up with more level assets, and hopefully break up the chunky square tiled look it has right now. Additionally, I need to make projectiles explode when they collide with objects, add some basic enemy AI, create a menu, start on the HUD, think up a story, etc. I'm beginning to see this as a smaller and smaller milestone... meh.

I'm doing this to have fun, and it's working. :P


Saturday, December 24, 2011

Wednesday, December 21, 2011

Infiltrator part 8

See how I dropped the season number? Cute move huh? This session doesn't look that different aesthetically from the last, but a lot of changes have happened under the hood. Let's look at a scree-no let's not look at a screenshot. It wouldn't look any different. The invisible difference, is that physics have become integrated via Box2D.

That's right, I've spent all this time bending my game and Box2D to mesh together. Realistic physics can add or take away a lot from a game, and this is a case where I think it will add. Unlike my escapades in the original Infiltrator, I've already solved all the problems that slowed me down and eventually stopped me.

This is the part where a few things start to fall into place and make an experience. Before, this was merely and experiment that spat out data in graphical form. Only a few pieces need yet to be connected before it creates an experience. So la-dee-da for me. Yay.


Saturday, December 17, 2011

Music Hacker - Season Debut

This episode ended up running a lot longer then I originally thought. I think it turned out for the better though.

Wednesday, December 14, 2011

Infiltrator - Sound Effected

Physics are being the usual pain in the face. If you recall, this is what brought a number of my other projects to a halt. I feel like I'm making progress, but slowly. Thus, I've started adding sound FX so that I have some new content to show you.

See the sound FX? I hope you're good at reading wave-forms, because I haven't figured out a good way to showcase them yet. Obviously, I'm constructing them totally in Audacity, starting with generated tones and or white-noise. It's pretty fun, and is a great way for me to keep Infiltrator developing while I'm tackling this huge problem called physics.


Monday, December 12, 2011

Cognitive observation #15

Seriously. There is snow on the ground right now. I'd have no problem with snow if it weren't cold.

Saturday, December 10, 2011

Icicle Cyberpunk Theme for LMMS

Well gents, I've gotten more than a little fed up with the stupid aesthetic and logo shipped with LMMS. I decided to create my own.

The Icicle Cyberpunk Theme is a work in progress, but still pretty to look at. Above this text is a my new splash screen, which although not amazing, I consider to be much better than the original. I've chosen a cyberspace style and designed the theme accordingly.

I don't know when I'll be done or to what level I will change the look. Hopefully I can get something more appealing and sharp than the usual dull grey look though.

I will note that it's really a pain that LMMS doesn't read certain colors from the theme file. This forces the same boring grey in several places where it should be customizable, leaving manual patching of the hardwired code as the only option. This may delay completion of my theme, but hopefully won't be too much of a hassle to deal with.

Just to dream a little bit here, I'd love it if I could eventually replace the default theme and logo. They've  been in need of a makeover for a long time.


Wednesday, December 7, 2011

Infiltrator - Season 3 Part 6

This session was mostly a raw content boost. I've decided that enemy screenshots are not going to be counted as spoilers. So here:

I not only setup all five enemy types, but I also set the level reading class up to load these enemies from a level file. As you can see, I then took advantage of my carefully constructed framework to add in a few simple lines of code which caused the enemies to face the player.

Some basic physics are being set up, but they are quite experimental, and prone to breaking. I would need a video to show you how the physics work anyway, so I'm not going to be showcasing them this time around.

As an additional bonus, I setup a second camera mode. In this mode, W,A,S and D always move your ship like arrow keys, regardless of which way it's facing. At the moment it's a hardwired option, but I'm hoping to have a few camera modes available for selection in the menu of the final game.


Wednesday, November 30, 2011

Infiltrator - Season 3 Part 5

So I fixed that bug.

Okay fine, you deserve a bit more explanation than that. Since my job here is more or less to entertain you with painfully true statements, all within an interesting and paradoxical self reference, I think I'll give you a bit more detail.

I didn't need to use the view class from SFML. In fact, mine was working fine. The problem came in when I was checking to force objects to bump into walls instead of going through them. I was forgetting to use frame-rate independent movement in the calculations, while still doing it when manipulating the game state. This effectively broke everything.

But it's fixed now. And now I added the spiffy feature to read any number of enemies from a level file and spawn them within the level. In order to avoid spoilers, the screenshot of a bunch of enemies spawned is linked here instead of stuck up in your face.


Sunday, November 27, 2011

Updates and Observations

Here is Cognitive Observation #13:

I missed posting to this site this weekend because of the holidays. Blllleeeeeeehhhhh! :P

Tuesday, November 22, 2011


Odd as it may seem, I've only recently picked up Crysis. I won't bother making excuses, but I will give you a review. Note that I've spent probably only around ten hours on this thing so far. A plus here is that there are less spoilers I could reveal even if I wanted to. So let us begin...

Crysis is a sci-fi FPS adventure game developed by CryTek and released in 2007. The official "trial by fire" for gaming rigs, Crysis has made a significant name for itself. Unusual for a game 4 years old, it still pushes the limits of modern PC's at the highest detail. Naturally, it was still no match for my uber-rig, but it did put up a fight.

Touted elements include story, open-ended objectives, interesting mechanics, spiffy environments, and pretty pictures. Don't bork me for spending the rest of this review explaining how it kind of does these things, but halfheartedly.

Crysis at it's core is a cliche action FPS with the usual re-charging health and hiding behind things. I'm thankful that it's not the usual cover-based fare, but you had better hide behind things yourself if you expect to survive. It feels like they started out with a shooter where the player could use superpowers, and then decided to strap a bunch of other things on.

Story goes that some random island which archaeologists are excavating is taken over by Koreans. The transmissions from the island go silent, so you and a bunch of other dudes wearing funky "nanosuits"  drop onto the island in the middle of the night. These nanosuits bestow superpowers on whomever happens to be wearing them at the time. You get separated during the drop, and get pretty quickly picked off until there's only half of you left. The story is actually interesting and convincing, but doesn't really make up a big part of the game. In places you can feel that it's just an excuse for you to do more shooting.

The gameplay itself is pretty solid. There were some awesome moments. Allow me to transcribe my thoughts during one:

"The signal says the hostage is in this building. Better switch to strength mode and jump up on top of it. Hack! The dude on top of the building is firing a machine gun at me! Armor mode to absorb the bullets. Speed mode as soon as I hit the ground so that I can run behind a corner. I know, I can switch to cloak mode and sneak up behind him. Then I can smack him in the face with the chicken I've been carrying around."

Unfortunately, these are spread out around "Go kill 400 dudes, it's going to be impossible if you want to sneak by, because that wasn't the way the game designers meant it" moments. It does go between a shooter and a stealth game pretty smoothly, although I would have preferred more choice in when you use stealth and when you don't.

I'm glad that the cutscenes are in first person. It kind of reminds me of Half Life. A lot of things about the game remind me of Half Life I guess. It's still its own thing though, which I also like.

The island setting is interesting, and I haven't got bored of it yet because the day/night cycle keeps changing the aesthetic. I'm sure the setting eventually changes, and it had better. I think this island setting will get boring sooner or later.

While this game has creative elements in many places, the weapons are all cliche. You get usual mixes of sniper rifles, machine guns, shotguns, grenades, and rocket launchers. Not to mention that the game still does that thing I hate where you can only carry a few weapons with you. I know the argument here is that it's more realistic, but if I wanted a realistic experience I would just stay in real life.

I'd love to write more about this game at some point, but I hope this review can give you a good peak. The verdict for me is that it's a game with many good elements, but a lack of depth and lack of concentration on any of the good elements takes away from the experience. I guess that the main problem here is that there really isn't that much to the game apart from it's cliche first person shooting.

Final Score: 7.5
(why this score?)


Monday, November 21, 2011

Saturday, November 19, 2011

Advanced LMMS S1E14

Here it is:

Early bird gets the worm...

..but the late worm survives for the next episode. Which is why this week's episode is going to be up about a day late. Sorry.


Wednesday, November 16, 2011

The bug

Blam these pesky bugs! I'm ATM wrestling quite ferociously with one of them in my current game project. It seems that it's no trivial manner to move everything on the screen just right so that it appears that the player is going past everything else instead of vice/versa. This is a fairly standard game programming thing, usually called scrolling. I've never had any trouble with it before, but there is just something about this time that makes the thing more error prone. I may choose to go with SFML's built in 'view' class, but we will see how this pans out.

School is making a killing off me at the same time, so hacking through this bug might be a bit difficult. I'm considering coming back to it later, and starting on some other part of Infiltrator. Perhaps a break will give me a useful new perspective.


Saturday, November 12, 2011

LMMS wish list

With the new VST(i) patch recently integrated into the current GIT version of LMMS, I've began wondering what else I could possibly want. LMMS will probably have these new features in the next official version, which will hopefully be released sometime this month or next. VST parameters can be accessed via LMMS interface knobs allowing the user to connect them to controllers and even automate them. If this isn't enough of a boon, VST preset saving and loading are thrown in for good measure.

Considering this, I've decided to throw out all my crazy ideas about what new features I'd like to see in LMMS. I'd temporarily underestimated the power of open-source, so I think some slingshot overestimation is in order. The point isn't really to be realistic here. I also know that if I had any integrity I'd get into the meat and bones of LMMS and develop some of these features myself. I'm thinking about giving a crack at it.

That said, I'm going to start out with the automation editor. You all know I've been wanting some kind of control point curve or line drawing setup for quite awhile. Having to draw curves by hand, and drawing lines the way it is done now makes automation a little too cumbersome.

Too ensure your security in my not just being another "Make LMMS more like X proprietary application" guy, I bring you something I cooked up over time. If you consider the current controller rack, and the controllers available, I think it's a bit lacking selection-wise. I don't know of other music software that comes with say, and envelope controller. While an envelope controller would be higher priority, since it also solves the problem where LMMS lacks a pitch envelope, virtual MIDI controllers like knobs, sliders, and buttons would also be quite useful. I used to use some old school virtual MIDI controller rack awhile back, but that required jack and didn't always work properly.

Now I'm really just dreaming here, in a kind of sky is the limit way. An accompanying or built in synth editor would be awesome. Like, amazing awesome. Like really hacking awesomely amazing. Like-oh skip it. It would rock. I'm not suggesting something like synth-edit. Probably the best way would be to create an elaborate instrument plugin with this type of feature. I'm thinking something kind of like what BEAST tried to do here:

Not only for anything in this post, but for my next wish especially, feel free to hit me up in the comments with an "RTFM, n00b!" and a link to the relevant manual section. I'd like to see LMMS more plugin friendly. I'm not talking about VST(i) plugin friendly, I'm talking things like instrument plugins and controller plugins(provided controllers are done via plugins.) It looks to me(who might be wrong) like you have to re-compile LMMS for every new set of plugins. This doesn't make a lot of sense to me. Add in the fact that LMMS doesn't seem to have easy support for Linux native DSSI(VST) plugins, and there is a feature hole many music producers would love to have filled.

Anything else... I guess not that I can think of right now (other than a new logo and less lame default theme). Oh yea, we also need more people to use it. ;)


Wednesday, November 9, 2011

Infiltrator - Season 3 part 4

Infiltrator moves on still. Changes pile up like pancakes on my plate at an all you can eat buffet, so I better write this out before I change something else.

Let's start with the weapons.

I took a lot of this sessions time developing five weapons. Purple maser pulses, dual gatling guns, the laser shotgun, EMP missiles, and the AIFSA are all setup. This not only includes art work, but also complete programming.

You'll also notice from the screenshot that I'm still adding level tiles. You're probably asking if I plan on building the levels this way. The answer is that if building the levels this way won't disturb the flow, aesthetic, and natural feeling, and if they aren't obvious and blunt, yes I probably will. It's merely one of my options however, and I have yet to make a choice.

Now on enemies...

Just like the player's weapons, I've also created art for all five enemies. Bosses are yet to come up, I'm planning on building them on top of the enemy base class. I'm not showing spoilers, including higher level enemies, bosses, and critical level sections, but I don't have much of that to show right now anyway.

The enemy base class is still very much a work in progress. as well as the "Drone" enemy you see in the screenshot. Obviously some programming basics are in place, but there is still a lot of work to be done.


Saturday, November 5, 2011

Advanced LMMS - dubstep

So, I finally started my dubstep tutorial. This is the first of a three part set, this one covering the beat.

Wednesday, November 2, 2011


While I'm taking a turn farther toward game design on this blog, I still haven't quit music. Today I want to recommend a great free VSTi, especially in the neighborhood of Drum and Bass or Dubstep.

Kairatune came out this year, 2011, and is the perfect solution for those of you who want a strong monophonic synth. I've added it to my VST collection quite happily. Here's a good demo, which still only shows a chip of what's possible with this synth.

Kairatune Demo by Kairatune

Most of the knobs don't turn properly, probably due to a bug. But I found a workaround by using LMMS's VST parameter converter to set the knobs.

Happy tweaking!


Monday, October 31, 2011

Cognitive Observation #9

This is borderline breaking my rule about not discussing politics/religion here on this blog, but I figure this is funny enough for those of you knowledgeable about this fiasco to make up for it.

Saturday, October 29, 2011

Infiltrator - Season 3, part 3

And so, we meet again. There are a lot of changes this time around, so lets just jump right in.

                        (Click for full size)

Observing that screenshot, you can probably notice several improvements right off. Firstly, I created some preliminary level tiles to use in building experimental levels. I think that by-hand pixel art looks good mixed with pre-rendered 3d. It creates a unique aesthetic, and goes with the style of the game quite well.

You'll notice the player has swapped out it's missiles for some masers in the style of some of my unfinished novels. There are four maser colors, but I have five different weapons planned, only one of which will be masers. You'll also note that they're going the right direction. Turns out the bug that's been plaguing me for almost a month came from my local translation function. I swapped "Lazer's theorem" out for some gold old fashioned trig functions, and it works like a charm.

Now the white glow you see around the masers is not part of the maser sprite, and it's not part of some internal lighting thing. It's a quick but spiffy idea I came up with. I created a few different sizes, colors, and shapes of glow, which work nicely to fake lighting.

The level you see behind the player was loaded from a level file as apposed to being hard-coded. Level files can contain any number of variables, with two types. The types are string and integer. So I simply create a class to retrieve such variables. This easily affords my game with the ability to load a different background, with invisible enclosing walls of specific size, from a level file. As time goes on, the content read from these files will expand until entire levels can be read.

Besides the changes to the game, I have also made some improvements to my development pipeline.

This is part of my "backlog" if you will. It's more of a version oriented TODO list. As you can see, the game is in version 0.003 at the moment. I have a long way to go before I finish, but things seem to be going well.


Wednesday, October 26, 2011

Cover based shooting

"Oh look, LazerBlade is coming out one last time to cover a pop buzzword before heaving his final breath and turning to the dark side of only doing music." If you have just said this, you may get in line at my vaporizer ray, near the volcano entrance. Otherwise, you can except the fact that I still do game design.

So, let's start flapping gums about cover based shooting. I'm not sure where this mechanic originated, but it was certainly popularized by games like Mass Effect and Time Crisis. In the case of Time Crisis, cover based shooting added more depth than the usual rail shooter perpetrated by the novelty value of a light-gun.

As time went on, PC and console games began playing with this mechanism as well. It's definitely an interesting idea, and it's a good thing that some games like Mass Effect 2 have taken the time to expound upon it. However, I think that one or two games are enough. Cover based shooting is really interesting, for about 30 minutes. After that, it becomes a boring ritual.

Step 1:  Wait for enemies to stop shooting.
Step 2:  Pop up and shoot at enemies until they start shooting.
Step 3:  Hide again.
Step 4:  Go back to step 1.

This is actually kind of interesting. But I find more depth, challenge and enjoyment in the old school, unrealistic, free-roaming, run n' gun game.

This problem is worsened by many games, because your health recharges at a rate prone to boredom. Mixing this with cover based shooting is going to make your job as a game designer quite difficult. Oh wait, I'm assuming your job is to make a fun game. I guess this was what you had in mind:

Step 1:  Shoot enemies until you're almost dead.
Step 2:  Hide for a few seconds until your health recharges to max.
Step 3:  Go back to step 1.

Now don't misinterpret me. I actually liked Mass Effect 2 from a game design perspective. It was a game that managed to work cover based shooting in with recharging health with a minimal amount of boredom. I still think it could have been better though.

Take this into mind. If you want player to take advantage of cover, why not just add in some chest high walls and a crouching button? This may seem like a bad idea since everyone is shunning FPS games, but what's wrong with it really? The only advantage of slowing the player down to the speed of a snail with a broken leg, and then taking away his crouching and jumping abilities, is that you as a level designer and programmer don't have half as much to worry about the player doing, since the player can't do half as much.


Monday, October 24, 2011

Cognitive Observation #8

I've finally come up with a kind of name for this comic strip. I'm calling it "Cognitive Observations" It's short, descriptive, and clever sounding.

Saturday, October 22, 2011

Advanced LMMS - Keyboard tips

I was originally planning on a twenty minute episode about trance music, but some last minute "technical difficulties" forced me to resort to throwing together a few tips.

I also announce the release of my new album. Go download it. Right now. Right here:

Wednesday, October 19, 2011

Sick day

So, at the very end of the day I show up and say I don't have anything for you. Choosing carefully from my plethora of good reasons, I select the fact that I've been somewhat sick. This has interfered with my schedule and prevented me from writing anything.


Monday, October 17, 2011

Cognitive Observation #7

Random name for this comic strip #2. Just click, or whatever...

The opposite genders will NEVER understand each other.

Saturday, October 15, 2011

Fun in craziness

Between studying full-time and being in a wedding recently, my schedule has maintained a constant state of flux and unpredictability. I unfortunately haven't had time to write up any cool articles or anything for you, so this time around I just have a quick update.

The tracks on my new album are pretty much finished, with October 22nd looking like a probable release date. That's only a week away, so I'm scrambling to get things 100% ready. Track listing art looks good, so here's a preview of the more or less finished version:

The idea started as being themed after the Synth1 Virtual Synthesizer. Then it morphed it's way from being based on LMMS plugins to a cyberpunky imaginary synthesizer that was drawn completely by me. I like the outcome, so I hope you enjoy it.

So yea, nothing much else going on. The reason I haven't been doing a lot of game related stuff is because this music is part of my official education, giving it priority over the more fun things like programming. Hopefully I will soon have more time to spend on programming and games, but we have yet to see what the future brings.


Wednesday, October 12, 2011

Music update

I've recently finished a new track:

This is a special full length track which I spent quite awhile on. It's just some classical uplifting anthem trance.

There are now 17 tracks ready for the album, probably more than half of which have yet to be released online. I'll maybe make 1 or 2 more before declaring it finished. Then I'll start uploading tracks to YouTube like crazy until it's all up there. The track listing art isn't done yet, but I'm working on it. Meanwhile, you have this track to help keep you patient until I finish.


Monday, October 10, 2011

Comic #6

It's starting to get annoying that there's no way to put these comics here big enough to be read without clicking.

I do this to people all the time.

Wednesday, October 5, 2011

Infiltrator: season 3 part 2

So yes, Infiltrator hasn't died out again yet. ;)

A major change this time around is the switch to SFML. There are a few things I really hate about the style, but it has the features I need.

I've picked out a camera/motion interface which I'll probably stick with at least through v0.1. It's a top-view fixed-rotation camera, meaning only the player rotates. It rotates to face the cursor specifically. FPS style WASD keys move you forward and backward, and allow strafing. The ship always moves relative to where it's facing.

Let's talk about that. You see, SFML doesn't come with the junk to do local translation, forcing me to set it up myself. Thus, I developed "Lazer's theorem." Basically, you start by assuming first quadrant rotation. Then you simply create a vector containing the rotation and how far that rotation is from 90 degrees. Then all you have to do is flip the vector or negate different parts of it depending on which quadrant it's actually in. This gives you a vector which you can multiply by standard translation in order to make it local. Really simple, right?

So basically this milestone gives you a blue grid to fly around on, and lets you spew missiles out everywhere. They don't always come from the right part of your ship, but they ALWAYS fly in the right direction. :P

What do we see happening next? Well I obviously need to get shooting fixed. After that I'll probably rough out the enemy base class. I'll want to start with really simple yet working versions of everything, and then build on that. The grid is even based on the level base-code.

Incidentally, I'm trying to make as much of the gameplay as possible be based on variables rather than constants. This way I can load these from config files later on, making the game extremely flexible and mod-friendly.


Monday, October 3, 2011

Comic #5

It's always annoyed the hack out of me that certain people I talk to always brag about how much they paid for something. It's like they think it means they got a really high quality product, when in reality they often just got swindled.


Saturday, October 1, 2011

Game Review: "Invaders: Corruption"

Today I review this game:

I was planning on talking about the awesome GridWars game, and then ranting on Microsoft-erm "Bizarre creations" for having it taken down. Unfortunately I remembered my intention to review a game I truly hate. Plus I couldn't get it running on Linux again. Which stank.

So instead, you all get to watch me ranting about something else. In this case, I switched out for a different arena shooter, Invaders Corruption. And while I don't really "hate" this game, you can safely assume this review isn't going to be positive.

Invaders Corruption is an overhead 2D arena shooter made by Manuel van Dyck. The thesis of the game is that enemies, arena's, the player, and even gameplay can be generated in a procedural manner based on a core-seed. This hands us a really interesting game, with pretty visuals, which ultimately ends up being somewhat annoying.

Maybe I've been spoiled by really good arena shooters like GridWars, but this game seems to prove that there are no inherently good genre's. You see, this genre usually has a huge edge. The reason is that the learning curve is about 15 minutes, you can enjoy a game in 10 minutes a day, and you can also go all out and spend hours and hours before reaching mastery. This game lacks this crucial element.

Now if so much is really generated, how can I claim this game to have so little depth? The reason is that while most of the graphics are procedural, VERY little of the gameplay will change. This is even true when plugging in all kinds of core-seeds.

Most arena shooters are 1-hit-1-kill games. You get bombs to help protect you, a few extra lives to help you last longer, and enemies are about the size of your ship. This game is 1-hit-1-kill, but you get only 1 life, and start with one bomb. Your ship is almost always far too big compared to the enemies, requiring you to try core-seed after core-seed to get close to decent proportions. This is worsened by the fact that your ship usually has too much inertia, as well as wall bounce.

Because of these things, I very seldom die because I couldn't handle it. I almost always die because I didn't see that tiny enemy, or my ship bounced off a wall too hard, or getting the ship to go where I want it doesn't always work. Then the over-punishment which comes from having only 1 life sets in.

So yes, this is a popular game. While this game isn't that fun to play, especially for very long, it is pretty interesting. I recommend you give it a try, regardless of your tastes. It's free, and runs in WINE so you have no excuse.

Final score: 6
(why this score?)


Wednesday, September 28, 2011

Infiltrator season 3 part 1

And so the legacy of Infiltrator continues. It's either quite resilient, or it's vaporware. Let's hope for the first.

Anyway, the new design calls for something much simpler. It's merely an overhead 2D shoot-em-up scroller. This is good because I can recycle my old SDL based RayEngine from about a year ago when I was working on gamma prime. I even coded 3D starfield and particle system support, as well as a few other handy things. I'm sure you're all dying to see a screenshot of this new game. Your hopes shall not be dashed this time:
        (Do yourself a favor and click it for full-size)

I know, there's hardly anything here. It's just a ship, custom cursor, and parallax starfield. The design calls for allowing you to move in the eight compass directions, while shooting in any direction at will. I've got the eight compass direction thing down.

Your ship remains stationary in the center of the screen, but everything around it moves in the opposite direction of the ship. This creates the illusion that your ship itself is moving. It's pretty easy, because the player ship stores velocity in public variables. This way any other objects can be updated with these as parameters. I just invert the velocity and assign it to the starfield, and everything falls neatly into place.

I know this is moving abnormally slow for something so simple, but I have so little time to work on it that I'm lucky to be going as fast as I am.

Anyway, it's no huge step but it's a start. I feel like I'm charging for failure at a very expeditious rate...

But I'm sure as hack gonna have fun on the way there!


Monday, September 26, 2011

Comic #4

Oh be patient, good names for a comic strip are hard to come by...

Since I'm totally sure all of you are wondering, all these comics are drawn in Gimp.


Thursday, September 22, 2011

New posting schedule

As I write this, I'm on break from cramming for school. As much as I'd love to keep posting as often as I was, I don't really have time anymore. So the new posting schedule will be changed to Monday, Wednesday, and Saturday from now on.


Tuesday, September 20, 2011

Music: tastes, habits, and talents

I've kind of been letting my Youtube channel and blog separate themselves. I tend to discuss and post music on Youtube, and mostly have game, programming related or techno-geek content on this blog. I'm going to try breaking that up, starting now by discussing music here.

Just don't get lost in here, I still like programming better.

Let's start with my musical history. As a young kid, I heard all kinds of stuff. Nursery rhymes, hip-hop, punk, rock'n'roll, classical, country, folk, gospel, and more. I didn't really care much for composition, I just liked certain sounds of certain instruments. I happened to like electric guitars a LOT, giving me a sweet spot for punk, metal, and rock'n'roll.

As time went on, I kept acquiring new tastes. My love for instrumentation stayed, but composition started playing a bigger role in defining my taste. I took a liking to blues, jazz, and classical. I especially liked piano solos of these three. Eventually, I started some piano lessons. Here I learned about theory, composition, and a lot more. I still take lessons from the same teacher, and I'm sure there is still more to learn.

I eventually learned some improvisation. Although I'm still new to it, I can lay down some blues in a fashion I quite enjoy. I composed a few of my own pieces, mostly to play at yearly recitals. My new ability for composition, despite being quite simple, still ushered in a desire to make music myself.

I kept doing piano, but started experimenting with guitar and electronic music. I never really could play guitar much, but had a kind of perseverance for electronic music. I started on the only machine I owned at the time, which was only powerful enough to run DOS. I couldn't even afford that, so I went with FreeDOS. Although primitive, this operating system came with a program that would compile text files into MIDI which could then be played through the PC speaker. I contented myself playing around with this until I got a slightly less obsolete machine which I ran Slackware 10 on.

On this machine, I experimented with Audacity. I generated tones and whitenoise, then applied effects and pitch-bend. This didn't work so well, but it didn't last long either. I finally got a machine that was barely obsolete, allowing me to get some real music software. I didn't know where to go at first, but eventually ended up spending quite some time playing with BEAST. It was here that I finally gained some knowledge of electronic music, and picked up a lot of experience that traveled with me to the next stage.

As time continued to pass, I eventually got a modern machine. Determined to find some real software, I came across FL Studio. I messed around with that for a couple months, but pretty quickly discovered LMMS. LMMS was perfect for me. It was there that I built my musical home, and have used LMMS for almost a year now.

So, about four and a half years after my first piano lesson, here I stand-erm sit. In a chair. In front of a cutting edge machine. It wouldn't seem so weird if I didn't consider what I might think of my music five years from now. Music that I thought I had made awesome back then, seems really terrible now.

Anyway, now I've got a really weird set of tastes. To explain what I mean, I like really hardcore and grungy punk. I also like me some uber-happy drippy and stupid pop. Did I mention Gilbert and Sullivan make really awesome music? I love Hardstyle, Trance, House, and many other forms of electronic music. Opera, classical, and ragtime also sound pretty good. Actually, there are very few genre's I don't enjoy, and even fewer that I don't respect. There's just a few, but they're there.

So yeah, that's pretty much all there is to it. It's also why you'll hear one style on my album, and then a totally different one in the next track. I don't really like to listen to one sound for too long, I get board fast.

Rock On, opera fans!


Monday, September 19, 2011

Where have you been?

So before I explain myself for almost a week of absence, here is this week's comic:

Okay, now for the explanation. My schedule went into chaos mode while I tried to deal with some personal things, still keeping up with school and other stuff. When Thursday came, I basically had one long crash until yesterday. I barely had time to post an announcement that Advanced LMMS would be delayed by a week. And yesterday I was lazy. ;)

So anyway, I'm back now and should hopefully be able to return this blog to it's regular posting schedule.


Tuesday, September 13, 2011

Work in progress: a tribute to One Must fall: 2097

We all know I'm a big fan of the DOS oldie, OMF: 2097. I really liked this game, hated the sequel, wish there was a new one somewhere, etc. I've been interested in recreating parts of it for the longest time. I even recently finished a remix of the theme music, planned to show up on my next album. Heck, I even made a fake trailer for a re-make back before I knew much about animation.(Yea, you're not going to see it. I've embarrassed myself with it enough times already. ;)

Anyway, let me dash you hopes early and say I'm not planing on remaking the game. Now, exactly what am I planning then? A short(around 5 minutes) 3D movie attempting to capture the feel and awesomeness of the game. To show you I mean business, here's a render of one scene I'm working on:

                                  (click for reasonable size)

You'll note the bots are in the standard t pose. This is because I haven't started animation yet. They are however, fully rigged and ready models. I'll be honest, I've had the jaguar model sitting around since the first teaser. The Katana is the only new robot on the table. You can probably tell that I'm not going for an uber-realistic or high detail short by any stretch of the imagination. The simple torches demonstrate this. I'm just trying to make it look good and capture the feeling.

In the light of story, I haven't quite decided if I'm going to include much of one yet. I'm pondering my options, but mostly I'm just cranking out art assets at the moment.

Finish this or not, it will look really cool in my demo reel.


Monday, September 12, 2011

Comic #2

So, I've given up trying to come up with a good name for the moment. At any rate, here is the second comic:

If I do this to you, I wasn't lying. I just got a little distracted...


Saturday, September 10, 2011

The Experiment is now 100% uploaded on Youtube.

Find the playlist here.

That finally concludes the release of the album. I'm glad to have it done, as it makes way for my newer, better album.


Friday, September 9, 2011

Art and projects

NOTE: Apparently, this didn't get posted yesterday. I don't know if it was a fluke or what, but my apologies for the lateness.

My album project is coming along nicely. My current album cover art:

Man, playing around with Blender and gimp can be really fun.

I'm having to cut down on my current movie project and go for something a little more simple. Still, it should be pretty cool once it's done.

On Infiltrator, I finally decided what would probably be "ideal." I've always had a thing for games with a retro feel. I was thinking about how Infiltrator was originally going to be a 2D game with 3D graphics in the first place. After a bit of thought, I think I not only could handle a retro feeling game, but really enjoy it at the same time. Thus, my new plan(will I ever run out of these?) is to do a simpler top-view 360 degree 2D shooter.

I'm drawing most of the sprites by hand, one pixel at a time. Literally. I'm drawing every individual pixel. Of course, that gives it a nice retro feel.


Tuesday, September 6, 2011

Announcement: New Album officiated - Transmusical Distortion

Huh. I have not one, not two, but ten good recent tracks, none of which are part of an album. I've finally decided that it's about time to start on a new album project. I'm always playing with music, I have time set apart every day for practice and creativity. It makes sense that I would collage the tracks into another album.

So a new album is officiated. I dub it "Transmusical Distortion." Based on the tracks I have so far, I think it's going to stay true to my spirit of powerful beats, wide genre span, memorable melodies, pulsating basses, and driving leads. I haven't begun work on album art yet, but I've got some ideas. I've still got a few tracks from my last album left to post on my Youtube channel, then I'll probably start posting tracks from my new one.

It's kind of scary to look back at how much I knew when I did Indecision, The Experiment, and what I have now. The scary thing is the realization that in another year I will probably know even more.


Monday, September 5, 2011

Starting a comic strip

To vent my jokes and provide you with more content. I will try to post a new comic every Monday.

The first of this strip, which I am hereby dubbing(at least temporarily) Perspective Distortion:

                                                 (click for larger size)

Saturday, September 3, 2011

Advanced LMMS - Basshunter style

In the latest episode of my webshow, I take a look at how a Eurodance sound can be created with LMMS.

Enjoy the episode!

Thursday, September 1, 2011

Game review scoring

I've got a few reviews under my belt, but I'm sure some of you have been baffled by the scores I assign. For example, I give Descent 2 a 7 and then recommend it and say I liked it. I also give Descent 3 an 8 when I gave Descent 1 a 9, yet mention enjoying Descent 3 more. Why are such things the case?

There are a few reasons, but I will start by addressing what I perceive to be a problem with the review system of today. It seems that the scoring scale isn't really 1-10, but rather 5-10. It's like saying, "I played the game with a score higher than eight, and I probably don't like the game with a score lower." People don't care if a game gets a 1 or a 5, they won't play either. Why don't we just rate games on a scale of 1-5 instead? We're already only really using five numbers.

I do things a bit differently. As an example, I give my favorite game, System Shock 2, a 9.5. I really like this game. I mean, it's the best I've ever played. So why doesn't it get a ten? Because in my book, 10 is a perfect score. A game that got a 10 would probably kill you because your mind would be unprepared for how awesome it was. On the other end of the scale, a 1 would probably make you suddenly spontaneously combust. Granted, this is still a slight exaggeration. I may at some point give some games a score like that.

The point is this, I give a game five or more if I would play it. I give it less if I wouldn't. This way I can indicate various levels of love or hate while still having the system balanced in the middle. Quite simple, is it not?

Another thing that may baffle you, is why I would give a game I enjoyed more a lower score than a game I enjoyed less. This doesn't occur very often, but it still may happen. The reason is that I don't rate a game based solely on how much fun I had playing it. I rate it based on how much fun I think everybody else would have playing it. That is, I take things like niche markets into account. If I love shooters but know everyone else hates them, it's probably going to end up affecting the score of the game by at least a little.

You can't see the effects of some of this stuff, mostly due to the fact that I've only been reviewing games I like. I'll try to pick a few games I genuinely hate and review them sometime in the near future. ;)


Tuesday, August 30, 2011

Space Chunks 2: v0.98

CrunchyFrog recently came out with a new version of one of my arcade favorites: Space Chunks 2! I reviewed the previous version over at my old blog. This is going to be a kind of follow up, so I recommend you read it, especially if you're considering the game.

Anyway, lets get down to business. I'm not here to review the new version, but more to express my own reaction.

There are a good deal of changes and upgrades, the most immediately noticeable of which is probably that there are a bunch of new fragments you can collect. A couple new things they can bestow upon you include extra lives and ship upgrade points. Also of note is that all asteroid bases now yield fragments rather than replenishment powerups.

The upgrade system has been quite renovated, now having a lot more upgrades available. This system has been tweaked to further imitate an RPG system, making each new upgrade point harder to get.

This new upgrade system is where my only remaining quibble with the game lies. The way the system works is quite good; the balance is the issue. You see, like most games with upgrade systems, this one has two curves. As time goes on, each level is harder to reach. At the same time, enemies get harder to defeat. As it should be, you continue to become more powerful as do your foes; at the same time, the game rises in difficulty by making your enemies more and more stronger than you. The problem comes in where on medium difficulty, at least for myself, I was less than half as powerful as my foes when only halfway through. This confined me to hit-and-run guerilla warfare in which survival was nearly impossible. I ended up having to restart on an easier difficulty for my first play-through.

The above problem is forgivable for a few reasons. One of them is that the game is still in beta. Things like this are usually still being tweaked just before release of the final version anyway. Another reason is that for people like myself who aren't ready for the difficulty can still have a food time by playing through on an easier difficulty level.

There's more. Also new in the game is the addition of new bosses. There is now one for every stage, ensuring a fun ride all the way to the end. Planets in the background give you a sense of depth, and serve to make it seem more like you're actually fighting a huge battle in the vast expanse of space. I obviously can't list every change here, even the creator of this game hasn't taken the time to list every change.

So yeah, that's the new version of Space Chunks 2. It's a shameless shmup with beautiful art, huge amazing space battles, awesome music, challenging bosses, an engaging atmosphere, and interesting strategy. Adventure game people will probably hate this game, as well as explorers or those of you who like a good story. This game isn't for you. But if you like explosions, stress pounding, and a good dose of shmup action, this game is your friend.

Final rating: 8.5

All the things about the old version give it 8 points, the additions give it another one. It loses half a point for balancing issues. 8.5 is a great score, and I have no doubt that successive versions will be even better.


Tuesday, August 23, 2011

Projects and plans

If you've been following this blog, you probably already know that I had to put my current game project on hold and start doing episodes for my webshow only half as often. This is because I've had so little time outside of school and work to do my own stuff. My blog has recently had more and more music stuff on it and less game programming and design. I actually prefer game design/programming, but it takes a lot longer to get something presentable together.

I've been thinking about what my current project should be. I obviously don't have time for Infiltrator, but then I'm not willing to consider giving up programming or game design either. One option I thought of was starting work on some smaller project. Some retro styled 2d game would probably fit. The problem with that is that I don't want Infiltrator to get pushed to the back of the shelf and forgotten. I've got several options I'm considering, mostly the one which involves restarting Infiltrator as a simpler 2d game that my schedule can handle. It's just an option, but I'm still considering it.

Anyway, all that aside, I'll unfortunately be going offline withing the next for days for about a week. This means the next post here probably won't be until next Tuesday or Thursday.


Saturday, August 20, 2011

Advanced LMMS - another week another episode

Here it is:

After this episode, I go to an every other week schedule. The next episode will be two weeks from today.

Thursday, August 18, 2011

The Gibson for Linux

I've finally got the Linux version of my Gibson screensaver almost done. I'll probably be releasing in a week or so, depending on how long it takes me to figure out how to set it up as a screensaver.


Tuesday, August 16, 2011

Music work

Hey all. For some time, I've been learning and producing music. Starting with playing piano, then learning to compose and improvise, then moving on to computer synthesis with ABC2MIDI in FreeDos, beast, Audacity, FL Studio, LMMS, and more, I managed to stick a little experience under my belt.

I recently realized something. I've almost always worked under one program or instrument. I never mixed things together. Only recently have I began to change my perspective to more of a studio point of view. I even shelled out the space on my HD for Ubuntu Studio, which I highly recommend for optimal music production on Linux.

I realized that many people have several synths and programs running, and link them together using JACK or something similar. I've started doing this a bit myself. I'm even considering throwing in recordings of my piano with the rest of a track.

I also picked up a new open source synthesizer:

This, my friends is Phasex. It's really a pretty cool synth, although missing detune knobs on the oscillators. It's not a VST, and it's not an LMMS plugin or anything like that. It's stand alone, which means I can't open it in LMMS. However, it does support MIDI I/O. So, I just have to open up JACK and plug the output of some track into phasex and I can sequence that way. The major disadvantage is that I can't figure out if there is a way to automate it yet.

This same solution is how I can fix the delay problem on my keyboard, should I ever end up playing live. I guess the delay problem is exclusive to LMMS, which apparently has really frumpy MIDI latency.

So yea, I'm still experimenting with a lot of this stuff, including trying to see if I can hack together VST automation through this setup. It's pretty fun right now, even though school still takes up most of my time.


Thursday, August 11, 2011

Infiltrator - Season 2, final part

Believe it or not, I'm not posting this session because I got anything done on Infiltrator. Specifically, I'm posting because I didn't get anything done. You see, as my school continues to get more intense, it gets harder and harder to find time for things like programming or my webshow. What it comes down to is this, I don't see myself having time to work on Infiltrator right now, much less in the near future. Thus, I unfortunately have to put it on hold until I can empty some of my time bucket. Whenever that is, I will start back up with season 3.

I know my projects have been what covered most of the content output, so I might end up doing more reviews or something. If worst comes to worse, I might have to cut back the number of weekly posts as well. I'm hoping I won't have to, and I'm also hoping I can get some time freed up to get back to normal sooner rather than later, but one can never tell what the future will bring.


Tuesday, August 9, 2011

LMMS and a MIDI keyboard

I think I mentioned a few times that I have a wimpy little MIDI keyboard. It's basically just a sampler with a few instruments built in. It always had MIDI ports, but I hadn't given them much thought despite having had the keyboard laying around for more than a year. Then I got to thinking, "I wonder if I can plug this hunk of junk into LMMS and make it sound super awesome."

The first order of business was getting the thing to plug into my machine. I obviously don't have one of those uber-expensive soundcards with a MIDI port built in. I was happy to find that MIDI to USB coverter cables are not at all abnormal. I went to eBay and got me the cheapest one. The cheapest one happened to be in China (figures) so it took around three weeks to show up at my door.

After a bit of trial and error trying to figure out which parts of the cable to plug into which parts of the keyboard, I finally got it to send MIDI events back and forth. My first attempt after that was to get it running with ZynAddSubFX by using Jack. That didn't work, so I gave up on that hoping LMMS had something easier. It did. I was able to set up LMMS to pipe the MIDI events from my keyboard to a particular track with absolutely no problems. Except one.

I can push a key, and the instrument in LMMS with play the note just fine. It just won't do it until about half a second after I push the key. Half a second may not seem like much, but it's a huge problem when it comes to music playing, especially when I'm trying to sync with other stuff. I looked around online, and apparently a lot of people end up with this problem. This is also apparently one of those really devious problems where there are a hundred fixes each of which only work for one or two people. Great, just great...

Still, keyboard with too much delay to play live is better than no keyboard at all. I'll probably get this sorted out eventually, but until then I'll probably still be confined to manual note sequencing in the piano roll.


Saturday, August 6, 2011

Thursday, August 4, 2011

Infiltrator - Season 2, part 5:

Progress on Infiltrator has slowed way down, mostly because school is taking up most of my time. I've only got a little bit to report this time, but let's have a go at it anyway.

I finally upgraded my internal HDD to a new Terabyte drive. I moved my Mint installation over to the Terabyte drive of course. This impacts Infiltrator because of the screwy NTFS support Mint has. It doesn't allow me to run Linux executables from an NTFS filesystem. Until now, I've had to store most of my files in one giant NTFS filesystem because I had so little space on my internal drive. That effectively made development on Linux a big pain in the face. Now that I can compile and run programs from Linux just as easily as windows, I've moved my Infiltrator development over to Linux. That's right, Infiltrator will be designed and created for Linux, and ported to Windoze if/when I get around to it.

I'm also working more on the enemy framework. It's the biggest part of the game yet(other than the engine I had to write, but that's separate.) The way I'm doing things now, the level file specifies how many enemies will show up at one time maximum. Infiltrator then reads that value and creates a set of memory slots for each enemy using that number as the size.

I don't like this because it doesn't look like it will be easy to adapt and use for other features later on. Mostly, I can't just say "create a new enemy right here of this type," and forget about the rest. I have to worry about size limits and other such things. On top of that, the current version takes up memory for every single enemy, even when none of them are spawned yet. So if you have a level with 100 enemies, Infiltrator will take up enough memory to hold 100 enemies the entire time, even before any of them spawn.

That's okay though, because I've essentially broken the entire thing down in order to re-write it anyway. XD


Tuesday, August 2, 2011

Cutting corners... wisely

Have you ever heard the term "programmer art?" It's a common thing. It's where you have a game programmer who only has enough time to be an expert at programming, and thus has very little skill in the art department. A lot of people will argue that this isn't a problem, and that innovation will make your game a success regardless of art. Minecraft has become a classic example.

This concept is only partially true. If whatever innovation you have really sticks out, and if it's what people want, and if you can get word of the game to your target audience, you might end up with a success. I will note that I am NOT talking about graphics, or fidelity. I am speaking of visual style. Even Minecraft has a somewhat unique and appealing art style.

So if having good art is part of the game(pun intended,)  what other things are? The list is huge. Maps, physics/mechanics, music, sound effects, and story are just a few. This raises an even bigger question. How do you do all of these things yourself? The answer is that you aren't likely to. If you are working on a fairly big project, you aren't going to be able to do the work of experts in all these areas alone within a reasonable amount of time. So whenever possible, you need to try to scrape together a team and delegate some of the work.

To be honest, I myself have never successfully put together a team and come out with a successful project. It's just not easy to do unless you happen to be an already successful company with a budget containing millions of dollars. It is still possible however, and we know of some extremely successful or high quality projects that have come about from things like open source(which I happen to be a fan of).

So it's great if you can get a team together or even just one person to do art or something similar. But what if you can't get a team together, and you don't have a multi-million dollar budget either? The solution is simple. It's this wonderful thing called cutting corners. All the kids are doing it these days.

Basically, you start by taking what you're good at(like programming,) and using it to pick and polish the main feature(s) that make your project special. Then, rather than trying to do a perfect job on everything else, just try to do a fairly good job in half the time. Polish is always a good thing, but don't feel bad about not having the uber-cool new weather effects if that's not the point of the game.

Yet another way you can cut corners if you do it properly, is using third party content for things like art and sound. You must choose carefully which things you go to third parties for, and which things you take the time for yourself. Just make sure you don't go to Use third party content sparingly.

You probably won't end up being a one man show like I am. You haven't had my horrible people skills blessed upon you. ;)


Thursday, July 28, 2011

School vs LazerBlade

School won this round.

School has really been eating up almost all my time. I didn't even have time to write this out until later in the day, and this day is almost over. I should theoretically still be able to have Advanced LMMS ready by Saturday, but I don't have time to write about something entertaining right now. Sorry about the lack of content today.  :(


Tuesday, July 26, 2011

The first-person shooter

A genre that once ruled the industry is being attacked non-stop by reviewers and gamers alike, although still enjoyed my many gamers out there. People look around, and they see that they've been playing FPS games for more than fifteen years. Gamers want something more than the same old "buff dude goes around blowing supposedly scary things up in a gory way in first-person with the same guns" kind of game. This can often lead to the rushed conclusion that the FPS as a genre is either dying, or already dead.

For one thing, no matter what new directions games take, people are still going to like the concentrated doses of immersing fast paced action and competition that is hard to find elsewhere. So unless an alternative is provided, FPS games will probably never die. It is true though, that FPS games are starting to make up less and less of the average gamer's diet. I myself have a relatively small collection of games, mostly preferring only games that I think stand out somehow. I also usually only play through games one time, and those are only the best games. If I think a game is terrible, I don't usually finish it.  On track, what games do you spend most of your gaming time on? You probably play some game like WoW that eats up most of it, then you have filler for new SP games that come out, and then finish it off with some kind of deathmatch game like quake.

So while FPS games don't dominate your diet, you still have them. Provided, this is a huge, exaggerated, overgeneralized blanket statement stereotype, but as a designer this is probably what a lot of your audience will look like.

Does this mean that the first-person perspective is doomed to either slowly die out or become just those deathmatch games you play to kill time? Probably not. The advantage of the first-person perspective is that it immerses the player and helps to merge their personality with the protagonist's personality. This is very useful, and is not only limited to shooters. However, I think the best game probably has some action in it somewhere.

I think that game designers shouldn't be afraid to use the first-person perspective. Game reviewers usually don't really care all that much about that, it's just what most people do with it. Granted, the best game designer doesn't fear reviewers. Ideally, you should be able to create whatever game you think your audience will enjoy, and not fear what the reviewers will do to you for it. But you have to get your money somewhere, plus the reviewers often times have a pretty good idea of what your audience will like.


Saturday, July 23, 2011

Thursday, July 21, 2011

Videogame characters

Most of you are probably used to me rambling on about the interesting facets of game programming and philosophy. However, being a one man show encompasses a good deal more, and this time I'm going to talk a bit about story and characters in games.

Often times, games suffer from something not too different from programmer art. This something is what I call programmer story. I will be honest, someone who can specialize well enough in programming to make an entire game on their own, probably won't be as good at story writing as a specialist in that area. However, we aren't trying to do perfect stories, we just want good stories in a fairly reasonable amount of time. Coming up with a good story is a complex task, and a rather daunting one at that. I'm just sticking to characters for now.

Some say you should NEVER ever EVER reveal the main character's personality. That way the player can then connect with them better by coming up with their own. Then you have just as many people saying that you absolutely MUST give some background and expound a little on the protagonist's character. If you want my perspective on it, both of these positions are equally viable. You can do it either way and make not only a successful game, but a good game.

As a rule, you should pick your race, gender, age, birthplace, and everything else that isn't part of the personality, very carefully. It's a bad idea to say "We better make this character African so that people won't rap on us for being racist." But at the same time, it's a bad idea to say "What? Another protagonist? Just grab another one of those dudes with blonde spiky hair and a five o'clock shadow." One thing I hate about creating characters for your story is that any game designer will feel like they're only trying to line up with the reviewers ideas of what's fair and what's boring. In my opinion, you should ONLY pick these things because it helps you better express the character's personality. Granted, reviewers will probably eat you alive for not having the perfect white-black-man-woman ratio of characters in your game, but who cares anyway?

That said, I think it's best to work out the characters personality and then choose things like race to explain or express that personality. So first get your personality all fleshed out. Give every character some flaws, some places where they aren't sure what they think, that kind of thing. Once you have that down, you can start picking things like gender. Then you can move on to choosing experiences that shaped these characters in the past. If they don't trust anyone, throw in some betrayal or have them grow up on the street or something.

Now that you have a character that has personality, past experiences, and natural character flaws, don't go screwing it up by having them do or act in a way they wouldn't. Don't have somebody with a trust-no-one attitude decide to trust the protagonist. And don't EVEN THINK about making up some excuse like "You have no choice," or "I know you well enough," or "You're the protagonist so you're just the kind of person that everybody trusts." You shouldn't have to explain your characters personalities, they should be manifested in their actions. So have your characters stick to their personalities.

This article is starting to run a little long, so I'll try to finish up by saying that not every character in your game needs a personality. The random person who rides by in a skateboard doesn't need all that work. You must decide for yourself how deep you need to make each character. Some characters just need to show up and do their thing, others need to communicate with the player.


Tuesday, July 19, 2011

Infiltrator - Season 2, Part 4:

This session has been one of the most annoying and yet most rewarding yet. Let's just hop in with some of my favorite features:

You may not be able to tell without checking twice, but that's actually an old school enemy pile-up. I finally initiated the base enemy framework as well as simple enemy objects for each type. I even have nifty little spawn and kill functions, and let the level spawn enemies wherever it wants. Granted, all it does is load the proper mesh, turn it into a rigid body, and fling it at the wall, but at least it's a start.

Development of this certainly did not go without incident. Walk up to a programmer and say the word "pointer," then say "void pointer," then say "deleted pointer to a pointer to another void pointer being referenced again in some obscure piece of code." If they aren't laying on the floor crying at this point, they haven't been doing enough programming.

Now if you are a programmer, you can probably understand some of the frustration introduced here. To make things short, I needed to be deleting a pointer but it was crashing every time I did. Debugging showed me that the program was actually crashing after the function I was deleting the pointer in had ended. I moved the deletion to a different function and the problem went away. To this day I don't know what the problem was, and I can't figure it out. Programmers can also relate to the amazing annoyance of a problem you solved and don't know why.

Anyway, once I finally got the enemy structure intact, I set about doing some level parsing. I parse levels by first using the config file variable loader to read the number and type of enemies that will appear in the level. I use this information to create enemy arrays big enough to hold all the enemies. Then I go on to read those enemies one at a time and spawn them at the indicated location and heading.

The file format isn't the most user friendly or readable by humans, but it shouldn't have to be anyway. I'll theoretically build a level editor once I get the level object setup properly, so I should only have to write a few of the files by hand. Only the really hardcore modder's will be looking at the format, and they'll be used to handling convoluted files of garbage, so they might be a little forgiving. ;)

Note, that I'm not finished setting up this level parsing thingy yet, as I'm still playing around with it.

I need to start on the real enemy coding. I need the enemies to be more than inanimate pieces of metal laying around. It will take some serious work to work out AI, enemy firing, and things of that nature. Even after that, I need to setup things like doors, keys, powerups, other weapons for the player, and more.

This session took longer than previous ones, punching in at 9 hours. That leaves me at 16 hours total. We'll see how long my optimism lasts. ;)