Archive for the ‘games’ Category


first post in a long while + some erosion progress

March 15, 2009

Well apparently school takes up time.  So it’s been a while.  But here goes:

I got all A’s on my midterms, so fuck YES!  I feel happy about that.  Good times.  I have been spending an increasing amount of time with other people as well.  I know, crazy right?  It’s me.  Apparently some people don’t hate my guts, and I seem to have met some in person.  They are decidedly cool.  Hence that last post about Travis’ birthday.  So, yeah.

What else?  Oh, making progress on the Qix clone, Erosion.  Here you go:

It has a game state machine with GAME OVER and gameplay states and whatnot.  It has much better graphics now, I implemented bloom with my old shader framework and improved the color scheme.  You can die, and I’ve even got gamepad working with rumble on collisions and all.  You will also notice that I replaced the simple bouncing bar with a bar with a thruster in a damped system that actually semi-tries to follow you.  Enjoy this clip:


epic viking swordfather stew + qix progress

February 9, 2009

So, I got back from Ian’s earlier today, and let me tell you.  Best time I’ve had in quite a long while.  We lit a fire in the backyard as evidenced in this terrible cellphone picture:



From left to right: Travis or Chris (can’t tell from this shitty picture), Cat, Caroline, and Ian.  Then, we made some kickass Viking stew for our kickass Viking selves, and we were filled with the passion of the swordfathers to once again pillage and burn!  But instead we just fell asleep in front of “Aliens”.

Also, as it turns out, Ian is quite a fine musician.  He offered to maybe jam with me sometime!  How cool is that?

But, hey!  Progress on Qix!  I will show you once I have the filled area tesselator working.  The movement and drawing and topology works perfectly, and all that remains is scoring and badguys.  Trucking RIGHT ALONG BITCHES!  🙂


spelunky! + projects + GOGGLES OF DEATH

January 31, 2009

So, I came across a great indie game called Spelunky!  It’s unbelievable.  Imagine every rogue type game you’ve ever played, then imagine that the micromanagement components were replaced by fast paced platforming.  Now imagine that it’s all wrapped up in an awesome Indiana Jones cliche with hilarity abounds!  That’s Spelunky.  It is by a gentleman by the name of Derek Yu.

It has the idol on a pedestal with boulder trap deal, it has the damsel in distress deal, it has crossbow mask traps, spike traps, and monsters.  You can throw ropes and climb on them, you have bombs, you can visit shops to get things, stuff like that.  You can even kill the shop keeper or the damsel if you really want to!  Anything and everything can be done to anything and everything.  Rogue game like concepts and flexibility, platformer fun, Jones ancient cave defiling humor.  Did I mention there’s old school chiptune tracker music in it?  GOOD music.

What else?  Well, Dr. Liow gave me some side projects, because he rightly figured that my classes are too boring.  One, a topological solver.  Two, a Qix clone.  I’m making progress on both.  We’ll see how it goes.

The one you guys would probably like is the Qix clone.  If you don’t know about Qix, it’s an old game that introduced the fill it in concept.  You basically fill in the area around a bouncing Qix (laser line thingy) without being hit by the Qix while out in the open.  You must capture a supermajority of the area around it.  There are sparx on your inside loop (the only place you can move on aside from drawing new areas) forcing you to go out in the open.  They will always hit you if you don’t venture out, because you are on a loop, and one travels clockwise and the other travels counterclockwise.  This wiki should shed more light on the specifics for you.

I’ve designed a reversible linked satellite list to solve the topology problems of this evolving loop structure with nodes linking in from outside.  It actually iterates and traces the structure keeping track of old values, so we never go backwards.  This means the topology of the list is NOT effected by switching the nodes.  This allows us to have a much looser and more dynamic linkage structure, essentially freeing us from explicit directionality.  This not only allows reversal of a satellite list in constant time, but it also means that it becomes completely unnecessary to calculate a path for the sparx to get on to the main path.  They just launch two iterators, the first to find the main loop wins, then two iterators are launched from there to find the clockwise / counter clockwise relationship on the loop for you.  This important as the order of the links on the nodes is arbitrary with this structure!  Tasty data structures abound, I love it.

Lastly, at the roller rink on eighties night, there are many interesting people.  Among them is a girl who wears traditional costumes with goggles.  All the time.  And she got an UPGRADE!  The old welding goggles were cool and all, but she now has a pair of GERMAN DRIVING GOGGLES WOOO!  And she built in some crazy awesome magnifiers that look all evil geniusy.  And in the discoed out light show, they’re even cooler!  Observe:



I’ve got a history paper to write, and I need to have my programming assignments (my actual for credit ones) done by Monday.  So I’ll catch you all later.


wooo, fonts! and materials! and manga?

January 5, 2009


They are!  There’s kind of a texture sampling issue with it, but that’s insignifigant, and they look fine.  It might just be shitty Direct3D texture coordinate precision I can’t do a damn thing about.  So here’s the screenies:

Direct3D 9 Test (fonts aren’t quite pixel perfect):

OpenGL Test (fonts are pixel perfect):

It may be a fencepost error on pixel ratio calculation that causes the font pixel precision problem in Direct3D.  I’ll fix that.  But hey, I can now finally get rendertargets working in Direct3D.  Then I’ll implement HLSL support with the same shader object class interface, and I’ll be up to snuff.  I’ll finally be able to start expanding the functionality again.  One thing I want to do is to add a streaming mode for vertex buffers so I can do dynamic vertex stuff.

Hey, did you notice the tasty per vertex alpha there?  The backface culling is disabled for this test, as it would keep us from getting this cool semi-transparent cube effect.  I have a boolean material setting in the material class that lets you switch between using material and vertex colors.  This is clearly vertex colors.

As you can see, I’ve also separated the specular component in OpenGL (using the extension, no multiple pass techniques unless it’s REALLY neccesary) in order to mimic the behavior which is default and usually used for 3D games in Direct3D.  The applications I develop for this should have as consistent and standard an appearance across platforms as much as possible, and this is really the best specular look (fixed pipeline wise anyway) for most surfaces.  If it’s otherwise, there’s always a shader for that.

I’ll have it all caught up on the Direct3D end soon.  At which point, further feature development begins.  Here’s something I want to add: Windows builds will use DirectInput for input.  This will allow me to code for my gamepad, yay! 🙂  GNU/Linux will use xorg devices for gamepads, same as all devices on GNU/Linux.  I may need to borrow a friend’s joystick to code for that.  We’ll see.

But hey!  I just recently started drawing manga again, which was my original art style.  I used to only draw manga, which I shifted out of at one point.  But I thought I’d make  another crack at it, and let me tell you.  NOT like riding a bicycle.  I’m just getting back in to it, this is a doodle I did just  a while ago:

I made this in The GIMP.  All tablet, no paper.

Yeah, I know.   Her shoulders are a bit too broad.  I don’t mind it though, the super feminized look is kind of rediculous to see in EVERY female character.  It starts to get redundant and unrealistic if overidealized.  Just saying.  But cool, no?

That’s about it.


t3h engine project + games == omg no work

December 1, 2008

Seriously.  I have Portal on here now, and beat it, but it ate up like two days of work time.  And also Zombie Panic, that’s still killing time.  At least I don’t have TF2, or I’d never get anything done, ever.  EVAR  :B


I think the engine project could use some revival.  I like the code I have so far, and I still want to work on Floculate.  BY THE WAY OMFG I SPELLED IT WRONG BITCH.  It’s actually Flocculate.  And the word should be Flocculation.  Oh well.

But I want to revamp it to a certain extent.  Redo the system stuff for Win32/Linux, and less tacked on and more tied in properly support for stuff I plan to use like FBOs.  I also am strongly considering C++ for the Renderer.  The reason I am, is that it is far more flexible from a programming standpoint.

And all you people who are like “ur a devout C programmer omg thats liek total sellouting ur believes wtf!!1!”  Then I’m all “shut up foo!”  Seriously though.  C++ is appropriate in application settings.  Physics is C material.  All the necessary operations can be done in C, and it’s speed critical because it’s done on the CPU (by me anyway.)  It’s a necessity that it be as optimized as possible.  The same way OpenGL and DirectX were both written in C, because they are also optimized system level work.  But the USE of an optimized system level library like DirectX, OpenGL, or Rat Physics, is application work, and if it benefits greatly in terms of development from using C++, I’m down with that.

If you still don’t get the distinction, then either you weren’t a programmer and therefore that section is pointless to you, (you are pardoned non-programmers,) or you’re a dogmatic closed-minded jerk that doesn’t understand “circumstances” and their existence due to “dynamic reality.”  Seriously, take your fundamentalism somewhere else.  Once again, this only applies to the people screaming ‘hypocrite’ at me.  I know they exist, I know a few in person.

BTW, DirectX may be written in C++, we’ll never know.  It SHOULD be written in C.  I know it has a C interface anyway.

EDIT:  SUPER UPDATE TIME!  I now have a name for my engine, and it is made of recursive acronym GLORY!  RAVEN.  It means RAVEN Audio Video ENgine.  BRILLIANCE P0R W00T4G3!  Of course this is a part of Rampancy Engine.  The other part nearing completion is Rat Physics.  I also want to add more components, but that is for another time.


super article update time and WOG

October 5, 2008

thundercats yay snerf snerf snerf snerf o-lion-o!

no, no, no, NO, NO!  no.  NO.  no…


thundercats FAIL.

but they’re funny, so you can’t really hate them.  bawwww conk.

But the reason I’m posting is that I just updated the FreeType article with better code boxes plus proper vertical placement, a big thing I missed the first time like a total idiot!  The FreeType font article is already updated, will fix the code boxes on the others next.

WOG, that is to say, WORLD OF FUCKING AWESOME GOO, or for the uninitiated, World of Goo.  And it is COMING OUT on OCTOBER 13.  Yayuh.  If you pre-ordered, guess what, they send you a download link on the 6th.  Which means awesome times come sooner.


floculate sounds like copulate

September 9, 2008

You know it’s true.  What it actually means is for like soils to coalesce.  It’s a term used by those plant studying people.  But it is also the title of a new side project to test my physics engine as an independent library (as opposed to part of Rampancy Engine.)  That is, Floculation.  Basically it will be an action physics based game, taking place in some arena area where the point is to stick all the like items together.  Now this will be 2D, so it won’t take an incredibly long time for this project, but I want it to be fun, stable, and fast.  So I’ll be using OpenGL, RAT Physics, (my physics engine,) and a GNU 99 C implementation.  Because this is an application, I don’t need a highly compatible version of C like pure ANSI or C89.  Windows and Linux will be my target platforms like always.  In the meantime, I have a couple of screenshots of the physics engine’s testbed if you wonder what that looks like.