h1

qix meets physics!

February 11, 2009

I’m currently working on a clone of Qix called Erosion.  It was assigned to me by Dr. Liow.

So, after getting the very basic bare bones of Erosion’s logic working, it struck me what would be about the coolest twist to Qix ever!  If I integrated physics!  Tada!!!  Fucking A!  It just so happens I’ve cooked up a little physics engine you all probably know about.  Soooooo, here you go, alpha test 1.  And hey, I was apparently listening to Opeth while coding, and it was picked up by the video recorder during the test! \m/

Bitching, yo.

Advertisements
h1

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:

FIRE IS PRETTY NARM

FIRE IS PRETTY NARM

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!  🙂

h1

plod along and learn things along the way

February 5, 2009

Well, I’m beginning to be a college insider, which is cool and all. I’m settling in to the routine. I have started making friends at an alarming rate. The person I thought died in me when I was maybe ten is coming back to life. Not really the same, maybe more mature, but definitely that person.

I was extremely sociable and kind to others as a small child, but at some point got beaten inward in to a pathetic recluse. Maybe the reversion is simply due to the fact that I no longer exist in what I perceive to be a hostile environment?

Regardless, it feels good, like the introverted dark reclusive Zen guy is integrating with my old personality, the happy nihilistic curious scientist. Put together I feel more complete than I have ever felt in my life. I think it is a good thing I have suffered so much, I would not have the perspective and scope that I do now otherwise.

What is happiness? Nothing special. I’m still not happy, and at this point I feel no inclination towards pursuing it. What I HAVE is contentment, something most people who think they are happy don’t really have. So I am grateful for that.

Now that I’m done being mister-life-story-bore-to-death-zomg-man here’s what I’m working on:

  • A clone of the Qix game. (assigned by Dr. Liow)
  • My book.
  • Concept drawings.
  • A general purpose topological graph program. (also assigned by Dr. Liow)
  • A sketchbook. (assigned by art appreciation)
  • An analytical history paper. (assigned by Dr. Karr)
  • A literature analysis paper. (assigned by Dr. Campbell)

Here’s something that’s freaking me out a bit… an art appreciation multi-choice test. I’m gonna have to CRAM that bitch. It’s just soooooo many stupid ass factoids with NO value! I already appreciate motherfucking art, I don’t need a million worthless discrete examples to confuse the matter. Whatever happened to pure enjoyment? Regardless, I feel like I’m somehow boned by this class. At least I still have a buffer, and I’m doing excellently in my other classes. *chkkkkt* over and out *chkkkkt*

h1

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:

MWAHAHAHAHAHA

MWAHAHAHAHAHA

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.

h1

first week at college + what parents have always done wrong

January 16, 2009

Well, it’s friday, and apparently I just went through a week of classes.

  • Programming: introductory course CISS240.  FUKKEN EASY.  Not even up to syntax yet, just basic form.
  • English composition: ENGL 101.  Interesting.  Has a lot of stuff on logic driven writing so far for arguments.
  • Western Civilization History: HIST 102.  A little interesting.  The professor is kind of obnoxious and arrogant though.
  • Art.  Appreciation.  FUCK.  THAT.  SHIT.  Don’t get me wrong: I appreciate art, but I DON’T appreciate being told how.  It was the only gen ed class I could take from my late registration, and I am NOT HAPPY WITH IT.

So far, I have found the atmosphere relaxing and enjoyable.  Mostly it is the fact that I’m not being hounded every step of the way about everything.  I actually have freedom.  And… hey guess what?  I’m doing fine!  I guess my problem WASN’T that I didn’t like learning.  Which I always have.  It’s that I hate authority, and prefer to deal with others as equals.  I shouldn’t be told what to do by teachers, and I shouldn’t disturb the teacher.  The cut ups in class and the tyrannical school system both disgusted me, but those days are over.

I can visit my professors to talk with them, and we kinda just chat and talk about classes and stuff.  They aren’t ever so superior acting, and this allows me to be comfortable.  And I therefore accomplish more and cause less trouble.  I’m willing to bet my nuts most kids cut up as much as they do because of the fact that they’ve lived with bosses and authorities their whole lives.  It is the only expression of freedom they have, and they must even so be separate from others to express it.

When I was little, my parents never told me what to do.  What they did was say “here’s what you should do, and here’s why.”  Small children absorb everything they are told, so it is just as effective, but motivates them internally by giving them a reason over a pathetic external threat.  I do what I do because I want to.  The trick is to get your kids to want to do the right thing.  The reason temptation has always been considered evil is because most people are shown evil from the start as the way to go.  Hit that kid and make him shut up!

I guess my point is that in a world in which we raise our children properly, there would no longer be authority, or at least not unfounded or nagging authority.  To hound someone every step of the way wears them raw.  To hurt someone and threaten to do it again if they do it wrong teaches them to avoid being hit.  So what if you aren’t there to hit them?  You can’t keep someone in line effectively if you make it dependent on something outside them.  The solution is to make good pleasant, not a hard thing, that you better fucking do you sinner!

See my point?  There is a satisfaction is serving the greater collective.  The self is an artificial construct, and once you realize this, you can define it however you want.  It goes from being I am me and they are the others to we are the sentients.  So to serve the greater collective is to serve the self all the same, but a greater one than you and you alone.  As they say “you get out of life what you put in to it.”

h1

famous last words…confirmed

January 8, 2009

So I’m REALLY starting to freak out that maybe won’t get in to college.  Because while I’m certainly eligible, I got this crappy email that tells me: “yeah, you want a student loan?  this is your student ID, which you’ve had since before you were even sudo admitted.”  thanks for being clear, assholes.  I only have ONE WEEKEND to register for classes and get my fukken act together if I’m even in, which I don’t know, because they AREN’T BEING CLEAR.

Okay, thank you for your cooperation in terms of listening to a rant.  WAIT!  IT’S NOT OVER!  Some drunk fucker wandered in to our garage and started knocking things over!  Full story here.

But anyway.  Those it-should-be-easy-to-get-depth-targets-to-work-in-Direct3D last words?  Yeah.  Apparently, it can’t handle rendering to a depth texture, so you have to create a depth stencil render target.  But you can’t just use that.  Ohhh, no.  Apparently depth components can’t be reinterpreted without shaders.  This makes no sense, as OpenGL has had this capability FOREVER.  So it actually takes a simple pixel shader to copy from the depth target to a usable texture, a red only format texture.  Talk about clumsy and stupid.

So the long and short of it is that I now have to have two classes of rendertarget, (yes, even for OpenGL as I can’t break unified API,) one for color and the other for depth.  In OpenGL, it’s actually the same class with two settings.  In Direct3D, it’s two seperate classes.  pfft.  I don’t like it, but I’m pleased to say that the actual API needs only ONE outwardly apparent change.  The CreateRenderTargetTexture() method now has a new argument: targetmode, which can be RAVEN_RENDER_TARGET_COLOR or RAVEN_RENDER_TARGET_DEPTH.  The rest is transparent.

Sooo… yeah.  Workin’ on it.

h1

WOOOOOOO GDB WINS!

January 6, 2009

So, I managed to isolate EVERY KNOWN BUG in RAVEN so far, and fixed them.  I feel good about that.  In addition, rendertargets are working in Direct3D.  I will add a depth target texture  for Direct3D rendertargets soon.  I also fixed the font not pixel perfect issue with Direct3D.  I had to shift the X,Y coordinates by -0.5, because apparently even untransformed vertices in Direct3D are not mapped directly to pixels.  Stuuuuuupid.  And I also added an alpha argument to the material constructor because having to set it after the fact is just plain hackish.  That also solved the fact that alpha wasn’t explicitly initialized, causing consistency problems.  Big time.  Another bug that was fixed.

All thanks to my l337 programming sk1lz and GDB.  Is there anything GDB can’t do?  Excellent debugger AND payload delivery system if you happen to be a hacker!

All I have to do at this point is get the Direct3D rendertarget working with a depth texture and stick in HLSL support.  It shouldn’t be too difficult (famous last words…lol) so stick around.  Then I can maybe add bitmap font support!  I’ll probably take an Irrlicht approach on that one, I really like their method.  I feel like this project is seriously trucking along!

And… I really hope I get my ACT results back soon enough to register for classes.  I feel somewhat worrisome.  If I can’t follow through, I’ll have to wait ’till next year.  And then I’ll have to wait and feel bad about myself… sigh.  Here’s hoping.

EDIT!

Seeing as how no one has commented yet, I feel fine just editing this post.  Here are some screenshots of the rendertargets working in Direct3D!  OpenGL is exactly the same in appearance, so really no need to post them.

If that isn’t just balling, I don’t know what is.  Next up:  HLSL support!