Sunday, January 29, 2012

Music Hacker - Audacity and vocals

This is NOT Sunday, and I totally did NOT forget to post here about the next episode of music hacker. At all.

Wednesday, January 25, 2012

Infiltrator part 12

I said in the previous session that we needed a new player ship. I'm building a 3D model of it in Blender, even though it's going to be a pixel ship in-game. Don't ask why...

I said don't ask! ARG! Because it's fun, that's why. I know you're thinking this isn't going to help Infiltrator get released any sooner, which is probably true. But, if you recall from the start of this series, I said this project was probably headed for failure. I also said that I didn't care, because the whole point was to have fun on the way there.

The model isn't finished, but I'm happy with the base shape. It has many of the elements that made the Pyro GX cool, but doesn't directly copy. This is the difference between an inspired model and a copied model. *Digs out old Pyro GX clone model...*

And a 100% faithful remake of the original PyroGX by a Descent fan:

I debated for awhile as to whether or not I wanted to go 100% pre-rendered 3d for the sprites like the player, enemies, and such. I decided to keep the art style I have now because it's unique and appealing. Pixelships on top of 3D pre-rendered stuff is actually pretty cool.

In the meantime, I feel like I'm getting close with the level editor. Hopefully in a week or so there will be something more cool to show you from there.


Saturday, January 21, 2012

Infiltrator Part 11

After having a somewhat longer session, I kinda wish I had more visual differences to show. Lots of stuff is going on under the hood though, so lets talk about that.

The biggest change is the addition of a level editor mode. Just pass in the argument
"-editor" on the command line, and it will start in level editor mode. If you passed that in, you can also pass in the path to the level file you want to edit. Or, if you want to play a different level, you can just use a command line of the format "Infiltrator -level levelfile.lvl" where levelfile.lvl is the path and filename of the level file to play.

As you can see, the gui currently provides you with two major elements. The first indicates which level is being read from the top left of the screen. The second is the object selector, almost dominating the left side of the screen. Objects are organized in four categories, which can be switched between a lot like tabs in a web-browser.

I have code to select different objects when they're clicked on, but it doesn't give the user any indication of which object is currently selected.

I have one last thing to note in this short session review(hey, that's an awesome name for these!) Many of you may or may not recognize the pixelship I drew for the player. It's basically ripped 100% from the Descent 2 Pyro GX, as well as the alien fighter model. This will cause major IP problems if I ever release this game, especially if I get crazy and decide to sell it. So I need to create a new player ship. It will also appear on the desktop backgrounds I make, posters, trailers, menus, etc, so I need a 3d model of it as well.

Right now I'm discussing designs for the new ship with my co-designer while we draw up concept art. No idea when we'll have a new ship ready. But until then, have fun biting your nails and hoping it's awesome.


Thursday, January 19, 2012

Crysis 2 - Part 2

After a break, I have returned to complete my review of Crysis 2. Let's start out with the visuals.

Crysis 2 has pretty visuals. There. I mean, that's kind of what we've come to expect from CryTek isn't it? At one point, I thought I was watching a pre-rendered cutscene. I thought my character must be pretty stupid to just stand there. Then I noticed that it was in real time, and I had full control. So yes, the visuals are quite good.

Gameplay-wise, this game feels a little different from the original Crysis. The original Crysis seemed to interact in a way to show how awesome the nanosuit was. In Crysis 2, everybody spends at least five minutes talking about how awesome it is, but it doesn't feel the same. Since the feeling that the suit you're in is awesome has already been conveyed in the first game, the second game makes it feel more like you're actually in the suit.

I like the addition of a visor to replace the binoculars and use for tactical analysis. It's one of those things that makes the suit seem more like a battlefield companion. It's kind of like the new ability to kick cars into the air. They're both things I should have been able to do in the first game. I was always thinking to myself "If I can pick this dude up and throw him through a house hard enough to knock it over, why can't I throw some of these cars around?" That, and throwing cars adds to the awesome macho dude feeling.

Another change to the suit is in power and energy management. You can now use two superpowers at a time, since your suit automatically uses strength to strike and for super-jumps. Of course, using multiple powers will drain energy faster, but it's still a very useful tactical option. Armor mode now drains energy when in use whether or not you're taking damage. If you upgrade that feature of the suit though, it will drain very slowly unless you're taking damage or using a different superpower.

I have to admit that the enemies seem a bit repetitive. I'm not violent to humans IRL, so I was avoiding killing people at all costs(and to see just how open-ended the game really was.) Throughout the game, only 1 person has to be killed by your character. I was enjoying blasting my way through swarms of aliens, but I got sick of it fast enough that I just started cloaking myself to sneak past them all. There are too few enemy types spread out over too much world-space is what I think.

Let's talk about QTE's, or for those of you new to this, quick time events. It's that thing where games play a cutscene and tell you which buttons to push and when to make your character do certain things(usually avoiding death.) Crysis 2 had QTE's, and they're just as bad as ever. Worse is the fact that they seem tacked on like the designers were going through a check-list of features. They seemed out of place in an otherwise glittering work.

While there's only a few interesting weapons, which still fail to be extremely unique, the game does the best cover based shooting I've seen anywhere. That's right, coming from someone who has played whole games dedicated to cover shooting like Mass Effect 2. The problem with ME2 is that cover shooting was all it had going for it. Crysis 2 has a cover system that seamlessly integrates with the FPS-circle-strafing-stealth-ambushing elements of the game.

Rather than gluing yourself to random objects the level designers chose as "cover," Crysis 2 takes a different approach. Simply get real close to almost anything, and you can hold down the right mouse button and move it around to lean. You can lean up, down, left, right, etc. It doesn't matter if you're crouched, or on your feet. It mixes so very well with the other elements, requiring a mix of cover based defence skills, raw speedy action skills, strategic skills, and stealth skills to do your best at the game.

One last thing to mention about Crysis 2 is something that I also found to also exist in the original Crysis. I'm not sure if it's good, bad, accidental, intentional, black, white or anything. I just know it exists. Basically, all enemies take from about 1-5 seconds to recover after receiving an attack. This can lead to scenarios like the end, where I beat the boss enemies to death one at a time with the blunt end of my machine gun. See, you're speedy enough to do a melee in about 0.75 seconds. This gives you the speed advantage you need. Just run up to them and start smacking. This also made several parts of Crysis 1 a lot easier than I thought they were supposed to be. There's a super-climatic part of the game where you have to blast some semi-boss dudes, but it seemed easier than it was supposed to be for this same reason. Just line the four of them up and go down the line shooting them one at a time and they'll all drop without getting in a shot.

So, that's Crysis 2. It's a game with good writing, pretty pictures, and fun gameplay. The hard part here is deciding whether or not it gets my award for being one of the rare sequels which is better than the original. System Shock 2 is the ONLY work on this list to date, game or other medium. Comparing these two is hard. See, Crysis 2 has a better story. However, Crysis 1 feels more free and open, not just from a sandbox point of view. You could even holster all your weapons and break things up Chuck Norris style if you felt like it. Crysis 1 also had some pretty sweet moments that Crysis 2 didn't really match. Then on the other hand, Crysis 2 feels more complete and polished.

All in all, I think Crysis 2 failed to capture the feeling of the original and do something new with it. I'm not saying Crysis 2 is worse than the original, or bad by any stretch of the imagination. You should play both. I'm just saying that Crysis 2 doesn't really seem better than the first to me.

Final Score: 7.5
Why this score?


Wednesday, January 18, 2012


Blacking out(all posts reverted to drafts) today.

Crysis 2 review part 2 will be up tomorrow(with the rest of the posts) if things go smoothly.

Monday, January 16, 2012

Wednesday, January 11, 2012

Crysis 2 Part 1

I recently finished Crysis 2. Since I had finished the first Crysis less than two months ago, I had very high expectations for it's sequel, especially after having heard so much about how it was great. I started Crysis in doubt, with my nitpicking and cynical eye. I left feeling awesome, and wanting more. This caused the decision to start Crysis 2 with high expectations, thus making sure I wasn't letting it by just because is was better than I thought it would be. That didn't work though, because it was STILL better than I thought it would be.

Crysis 2 touts good gameplay, spiffy visuals, and clever story. I'm going to start with the story since the point of a game is (supposed to be) to tell a story via player experience.

You start the game on board a submarine full of dudes sent to New York to back up Prophet, the nanosuit team commander from the first game. Things go wrong and the sub ends up sinking due to alien invasion(which is apparently why you were sent to New York). You wash up on shore where Prophet drags your semi-living body into some park and sticks the suit on you. He tells you to finish what he started, that you're the "last hope," and to find some dude named Nathan Guold. Apparently there is some kind of alien epidemic spreading through the city as well, so the city is in ruins for more than one reason. You don't find out that the entire military is after you until you run into it, at which point the game starts.

The story in Crysis 2 is actually a lot better than what we've come to expect from video games these days. I kept mis-predicting the plot based on the usual method of assuming poor pacing and cliche' characters/plot twists. Almost everything was clever and original, as well as being well told and presented. I'm having to really try in order avoid spoilers, but that's a price worth paying.

The game even managed to pull a fast one on me and use an un-original plot twist, but in such a way that I didn't see it coming. I've seen that plot twist at least twice in other stories, and both times I saw it coming. This time, I didn't. The writers of Crysis 2 were a good deal better than the writers that somehow get hired for most games.

Let's talk about the characters a bit. I'm going to name one of them. Tara Strickland. This character, and her contribution to the plot are where the weak spots of the story show through. She was cliche', predictable, boring, and just plain stupid. It was hard for me to observe this character with a straight face. Seeing such a hollow and flat character floating in a sea of deep and interesting characters makes me think the writers did it on purpose for laughs.

The main reason this character borked me was because I knew they could have done better. I saw Tara as an opportunity for an awesome character when she was introduced. It came as a let down when I learned that these writers just threw her in there to meet the minimum requirement for one sassy chick who knows better per game. I have nothing against sassy female characters, even ones who know better than everybody else. It's when that's ALL they are that I roll my eyes.

Whew. Got that rant out of my system. I'd normally go on to gameplay and visuals now, but this post is starting to stretch out. Better make it a two-parter. Stay tuned...


Saturday, January 7, 2012

2011 retrospect

I was going to do a write up about site stats. Then I decided to turn it into a 2011 retrospective. Then I noticed that this will be the 100th post on this blog, posted on my birthday. Crazy how things work out huh?

So what did I accomplish this year? I finished a 3D screensaver, reviewed a number of games, started a webcomic, created two music albums, started a webshow and finished the first season, moved to this new blog, and made quite a bit of headway in a new game project.

Now the stats are interesting. Things started pretty slow, with a normal build. Then, two months ago, traffic started climbing like crazy. I have about 1000 views a month now, and still climbing. The one thing that orks me, is why I have so many silent viewers. I get comments from time to time, but yeesh. Talk about the silent majority...

Now I have to look back and see what I learned I guess. After all, what is age, if not a measure of experience? No, I don't make resolutions. I'm already more awesome than the average person the way I am.

So, I learned many things. The first thing I learned is not to start a project without being willing to commit serious amounts of time to it. Something that just takes an hour a day is a huge investment. Secondly, try to make very specific goals about the end product of any project at the beginning, to avoid confusion later on. Third, try to be realistic about what projects you choose to start. It's okay to be ambitious, but make sure you have the time, skills, and resources to complete your project before you start. It seems generally  best to choose a project that's just a bit out of your comfort zone. Something where you'll have to learn new things, but something you can still finish. Fourth, school should NOT be taken for granted. It's not safe to assume that your school will take care of itself while you work on something else. Last, under promise and over deliver. I've never been 100% accurate on how much time or other resources it would take to complete a project. It's much better to assume it will take more than you think. That way if it does, you''re ready for it, and if not, you just come out ahead of schedule(which is a good thing.)

I'm sure I've learned plenty more, but these five seem to stick out the most. Anything else I need to mention that's important... Oh yeah. Start writing blog posts early so they don't have to cut o-


Wednesday, January 4, 2012

Infiltrator Part 10

This was a rather fun session for a number of reasons. It was also a rather slow session for a number of reasons, including that one stupid bug(more on that later), my school teacher breaking into my house at night with a baseball bat to see why I wasn't at class, the group of people who appear on my couch during all the holidays, and my webshow fans not liking to be utterly forgotten for a week.

Whatever the case, there's more progress for everyone. This session is about the opposite of number 8, where the changes made were mostly internal, instead making mainly visual changes.

I loaded up my favourite desktop wallpaper to play on top of just for laughs.

As you can see, there's a brand new shiny heads up display. This includes a functional weapon selector/indicator, and shield meter, and an energy indicator. There are separate energy pools for each weapon except for the AIFSA, because it doesn't need energy.

I must admit that you can't really spend energy or lose shields. The only way to change energy/shield levels at the moment is with the debug keys that let you turn them up and down at will. Eventually energy use will be programmed in as well as the ability to take damage, but for now there are higher priorities. Besides, the system is intact, which will make it theoretically smooth to add those features.

Also of note are some new art assets I've thrown together. I'm not doing tiled levels, but it stand to reason that SOME level assets are going to be square-ish.

Now let's delve in and explain that bug that slowed me down, which I've only barely overcome. This should be interesting, but a bit technical. If this looks like greek to you, feel free to skip ahead.

Engage first person non-omniscient present-tense writer mode!

I need to setup the HUD to display weapons. I'll just make five base-HUD images, one for each weapon. I'll load them into RAM, and just set a different image to be drawn depending on which weapon is selected. I draw up the images, setup my program to load them up, and change which image is to be drawn when the player changes weapons.

I compile the program to test it out. It's a little difficult, since the frame-rate is CUT INTO LESS THAN HALF! This can't be a memory usage problem. This can't be a CPU usage problem. This problem doesn't make any sense.

I'm not even drawing the image, or really doing anything but loading it into RAM. Let's do a little math to see of a 1024x768 image, with 4 channel RGBA color should be taking up a big amount of RAM. Let's start by assuming that the developers of SFML are at least mildly intelligent, and use only as much RAM as they could ever possibly need. That means each pixel should take up 8 bits for each channel, meaning values from 0 to 255 for each color channel(standard). With 4 channels, that's 32 bits. We can easily calculate how much RAM this should take up by multiplying this by the number of pixels within the image. The number of pixels total is the width times the height, so RAM = 32 * Width * Height. Width is 1024, height is 768, so it should be taking up 26,148,864 bits max. Let's divide that by 1024 to calculate kilobytes, and then do it again to calculate megabytes. We end up with 24.937 MB.

This makes zero sense. If SFML isn't optimized at all, then each image should be taking up less than 25 MB of ram. It should be taking up a lot less if it is optimized. Then we note that I have 8 GB ripe for the picking, and see that there is no way these images should be bogging the system down by using a lot of system or video RAM. That means the RAM usage isn't the problem unless SFML is broken.

CPU usage isn't the problem, since I've narrowed the code down. I don't even call the variable more than once to load the image. Loading the image should't be causing a RAM or CPU usage problem. Yet, when I monitor the application, the CPU usage is at 100 percent. I double check vsync to make sure it's working.

Now I'm lost. As a last resort, I try moving the image variable into the level class(where it doesn't go.) TaDaa! Everything works! Now I'm twice as lost. But the bug is fixed(for now) I guess, so...yea.

Disable first person non omniscient present tense writer mode!