2008-07-13

Crazy awesome 1080p dreamz

So last night, I had this wicked awesome videogame dream (you know, the ones where you make then play your video game!)

I made a PS3 game, and it was totally high def. The basic premise of the game was from the masterplot, my main character was on this planet to retrieve some of the exceedingly rare fuel they use for their weapons and spacecraft. Usually, this material is found and turned into jewelry or relics, so it's often difficult to access.

But, the game starts out on this desert style planet, you warp into this large concrete structure, with curved and smoothed 12 or so foot open ceilings, if viewed from the top, it would look like a giant flower, with wide slits cut into it so that sun could bathe the few cacti that grew there. IT turned out this planet was bathed in light from three suns, it was never dark, but the suns were not close enough to cause severe death, although being exposed to the light directly would kill you in a minute. So, I was standing in this light tan structure, it was huge, but the real secrets were amazing. The detail in the scene is phenomenal, there were concrete benches and other such things all around, the structure had shadowed parts (carefully selected widths that prevented sun from hitting them) and most of the people were sortof humanoid, looking of asian descent. I walked around to get used to the system, you ran around like any normal game (think Folklore). But, there were drastic differences in the internals, people and living things were very much dynamic entities, they all had moods, and were not just walking around, they were working in the gardens or on their mac computers (yeah, product placement in a dream... roomate bought an iPhone friday). I approached the lady at the desk, who had two unicorn-horned peoples as her guards (The dress was incredible, everyone had on typical arab cloak/sheet things, but had colored V bands surrounded with a gold trim, the colored bands determined rank in the society, they were very gorgeous women too. Shoes were all cloth, no soles, just booties) The guards paid me no heed, and I hit the X button on my PS3 remote to interact, which brings up this neat menu, where I can converse ( the main character is NOT mute, he actually talks!) or I can type in anything I want, which may or may not be rejected from the parser (it just figures out the jist of what you are saying like old adventure games, like "look chest" would probably be offensive...) So I asked her what this place was, she look a bit confused and told me something about it's history, and told me I should play this strange game with colored spheres that moved with the joysticsk tilt. I accepted and thanked her, and played that crazy game for a bit, after beating it she asked me (without me prompting her) why I was here, and I chose to tell her I was looking for a certain rock, she didn't know what it was but told me that I should be careful going below the 40th or so floor, to which I had to say "huh?"

IT turns out, on this desert planet, the people originally built these humongous cylinders of concrete (the primary material) which were about the size of 6 carnival cruise ships in a circle, end to end. They built them very deep (two or more down) in order to create false weather, the inside of these cylinders would retain it's own weather due to the size (just like NASA's gantry) and they used wind power to generate electricity and water their hydroponic and aeroponic labs for food. So this was like a entire city built in a inverse tower of babel, people worked on the infrastructure, and farmed and took water from the bottom of this "sunken city" and lived in the outer rings in cool cave environments to save themselves from harsh storms and cruel sun. Since these structures were so big, it was frequent that people from different floors would not meet people from farther away floors... But, what had happened, was over the years, there was some sort of surface conflict, and the people that started these colonies killed eachother in some stupid civil conflict, so the technology and power used to do this was lost to each individual colony. There were many of these, but they did not always stay in touch since the planet was too hard to travel across (many tried, so it turns out). The structure itself had pipes of liquid crystal that acted as fiber optics to transmit natural light all throughout the structure, so it was never dark and you always had healthy radiation coming in. Naturally, everyone was tanned well. IT did seem to be a rather awesome utopia, But!

There had been an accident YEARS ago on the bottom floors (R&D) where the genetics lab blew up or something, and generated all sorts of monsters. Soooo, they jut began to seal off levels to keep the monsters down there, and feeding on eachother rather than people. So it was a jungle down there.

And I had to interject, "How can I help?"

She had no idea, but gave me a badge so I could access those floors. Yay for keys. I spend a lot of time running around, everything, I mean absolutely everything except the thick static level was interactive, I could touch, investigate, examine, attack, talk to or move things. It wasn't without it's bounds, as things that didn't make sense to do those to didn't do anything (like the cacti that bore fruit in the sun, why would I touch one? But I could pick the fruit.)
So, after satisfying myself with talking to a lot of people (this was great, they never repeated the same things, and often would stop talking to you if you were a jerk to them. You could be nice, and they would offer up history or talk about their boring selves. Sometimes, they came up with context information, it was like a chat bot! Very cool detail. And PS3 level graphics made they lip sync with audio and such.

A note about the camera, the camera was great, I could view from generic "smart" cam, "dramatic" cam (Shadows of the Empire), "First person", "True First person", "Second person" and even a free camera with no constraints. It was a game for the gamer, not the game.

So I found the stairs down to the part on the outer rings, the inside was actually domed with levels, which made sense for the structure. You could see gorgeous clouds reflecting rainbows from the light pipes inside, with many wires rolling plants along them to catch fresh waters and such. It was a very, very cool setup.
However! The farther I went, the less shops, people, and safety I saw. Eventually, I was in the distopian part, it was just a tad darker, some light pipes were broken, and I could hear the hissing and screeching noises of enemies. I had bought a machine gun and a knife, and put a shield on the machine gun (all weapons and items are customizable, like legos. Mega fun.) So, I found the least sealed door, and ventured on. Instantly, I was in combat with some things the size of dogs, but dragon-like faces and partially scaly partially furry monsters.

But combat in this game... holy god it was awesome. For 1, you have multiple modes of combat, you can be "not fighting" which means you are normally running away and will get pounced and killed quickly. "Direct mode" instantly targeted whatever you were looking at and you went into either 1st or limited 3rd person, only focusing on a single target. Then, you could change stances to multiple different fighting styles and techniques, I chose the defend/shoot with right and knife with left. When a creature attacks, it is a physical attack, you can hold the left or right button and move the analog stick or SixAxis to move that arm to defend/slash in that direction to stop or deliver a blow, it was a very fluid system of fighting, but you had to spend a lot of attention to successfully block attacks, which was primary. Attacking worked the same way, you got to attack and direct where it went (like Zelda2 in 3D) but it was done well, so it actually felt like intuitive fighting. Using all the features of the sixaxis and the dual analogs, it was wonderful to play. But, if you were surrounded by more than one enemy, you went to "All mode" where it became defense and dodging priority over offense, so you get this nifty 3rd person camera so you can dodge and slide your way out of a crowd, delivering counter-attacks to KO or kill enemies as they failed to hit you. This was very fun, and looked like a martial artist Pro Judo-ing a bunch of monsters. Also, when you used a weapon, you could Resident Evil 4 or view from the sight. The best part, was like Trespasser, you could shoot in the direction of the gun, but quickly moving the controller around you could also aim in a 45 degree cone, so instead of re-aiming all the time for grouped enemies, you literally moved the remote a bit and shot some more, making using a gun feel very natural, especially for the already-awkward analog stick aiming crap.

So to review, combat is modal, you can be non-combatant, Direct, or All modes. Direct modes lets you focus on 1 creature, and accurately defend and attack at them via physical expectations. You can shoot your gun at any time as well in all modes. All mode lets you waltz around a group of enemies to get to a safe shooting and attacking distance, as well as delivering counter attacks to KO or kill your foes. Each mode had many details about the buttons and what they did, whether you killed, hit, KO'd, or flailed, ect... Most importantly, was that combat felt very fluid and natural.

Oh, and about getting hit... the game doesn't punish you too much for dying, but you can only take slight hits. Getting hit with a bigger monster generally means you are going to be in a desperate position, and have to do the classic button mash to prevent your head from being eaten. Obviously, if you fail, you get to watch your character get mauled, but for some reason everything that kills you has a one-liner jut before it does, like "Mmm, pink and squishy!" or "I bet he wishes he had Geico insurance!" or "Hooray, Kool-aid!" or other stupid little quotes to make dying feel a little less gruesome. In fact, most enemies would not talk at all, but they all said stuff when they killed you. I believe this was the designers making it be that the main character was putting these words in their heads for hilarity, which it generally was. It made it a little less frustrating to die.

So, after fighting my way though these suckers, stronger, bigger monsters appeared the deeper I went, saving was only if you were not in immediate danger. You can save almost anywhere though! So no lost time. But, as it got harder, getting attacked by larger-than-you enemies meant they killed you instantly (neck bite, broken spine...) so you had to start using the environment to stop them, pushing stuff in the way, dropping things on them... Stealth was a great option and fun to do, although you the character weren't very stealthy, enemies would generally not attack you unless they had a reason too; Also, if an enemy attacked for a while, and wasn't getting anywhere, they would run away. There is no benefit to killing things, except to loot monster corpses for stuff (which is generally useless they don't carry money, items, or anything but the occasional stomach pearl or 'jerky') So the game did not really want you to fight, it was just part of the job. (nice moral story touch, eh?)

So combat and investigation is the focus of the game. As I kept getting farther, enemies got less vicious, and I found out they had a foodchain I could exploit, larger enemies had preferences for eating smaller enemies, so I could usually take the corpse of smaller enemies and "feed" larger ones to make them not very aggressive. Which was lots of fun! So, as I went farther, I got a cutscene. Apparently, the target I wanted was this beautiful necklace, buuuuut it was on this gigantic mutant gecko thing, like some 20 or more feet tall, huge and brightly green and purple colored monster-awesomeness. The funny part, was all bosses can talk. As soon as I found the boss, I had a lot of options to try, so I saved the game.

With bosses, they are just as skilled as you are, able to target, solve problems and use everything to their advantage. However, THIS boss was a guaranteed instant kill if it got close to you, it just simple ate you, regardless of anything else happening. Which, was really annoying to find out, I proceeded the first time as normal, stealthy, and popped it a question, because you always assume sentience. "Excuse me, but that necklace of yours... I need it." And it turned to look at me, grinning "Oh? What does a tiny morsel like yourself need such things for in your short life?" At that point, I could have targeted it to attack, but I didn't (still non-combatant mode). So I talked to it a bit more... "Well, it is made of something I need, and I must have it." IT just laughed "Why don't you come closer so we can disssssscusssss?" So, obviously this was a trap, and I went into fight mode. I did pretty good the first time, running around in circles shooting it from behind pillars. IT was in the middle of a water pool, but it was shallow, so it would be instant death if I tried to run in the water (slow = easy prey). And I continued circling and shooting, and the thing got upset, yelling "Ow! Stop shooting me!" "that hurts!" and "you'll get yours you little twat!" It had no real accent, it was acting like Gex from that crystal dynamix game... same colors too! Either way, it began ram-punching the ceiling above me to try and crush me with rocks. Apparently, I wasn't paying attention and ran under a weak section, which fell on me and killed me. DEAD! I restarted where I saved, and immediately began shooting and ran right at it, hoping it just had a weakspot. It got a funny expression, and said something like "Oh! I didn't realize we had room service!" The grabbed and ate me. I was miffed, but from this point I tried just about everything except talking to it again to try and kill it, every time it would learn from the previous fights, and try something new... For example, by running around behind pillars, it just began throwing the smaller enemies at me, which got me caught/trapped, then killed. Trying to push stuff onto it from a above level had it jump at me, and grab me off the ledge, dead. Trying to be stealthy, and hiding from it meant it looked around, I reloaded, it HEARD that and reached in and grabbed around till it got me. DEAD. I don;t know how many stupid things I tried, I couldn't manage to hurt it with my knife and gun, apparently. Each time it had a new quote, or funny quip. And once it started fighting, it would talk smack to me the whole time, which was pretty fun. So, after watching so many unique death animations, the %@*& cat wakes me up, and I didn't win against it.

Everything in the game was top quality fully detailed shaded HDR glory. IT was an absolute dream to fight enemies, and even the boss was kinda funny, albeit a little hard. I bet if I talked to it and offered it a TRADE it would have given me the necklace.

In closing, this game fucking rawks, I wish I could play it and I wish I made it to let others play it.

PS3, I wuv you <3

Peace out!

Imaginary Z

2008-07-12

Hacking And GUtil

So, I find out after playing with the Blender Game Engine, that no matter how long I fight with it, I cannot get past it's harsh limitations. So, I decided that there must be a better way to win against this. Now, this isn't to say that with a hammer you can smash a piece of rock into something like a statue, but I prefer when a computer and LASER CAD system can cut it for me and I don't have to get out of my chair.

Enter GUtil (Game Utilities), where I started in the game engine, knowing it was lacking a large amount of fundamental vector mathematics, matrix mathematics, and all the normal utilities used. I should go in and fix all this, but that's for later. GUtil provides these, just coded in Python (gag) and wrapping a lot of the functionality. For example, you cannot add or delete objects in the game engine. This is normally done by adding a property, and sticking it on an actuator that goes to a "EndObject" controller. GUtil demands you place specific objects in certain layers (which you pick), so that on the game startup, it can automatically load, link, sync and run the game as you wish. It isn't like a "game engine" because it wraps basic functionality (BGE isn't a game engine either, so you know) with higher level commands, and allows you the lower level access to direct BGE functions.

Most importantly, it makes making a game much easier, and flow WAY better than "hacking it out" with common brute force techniques. Some nice things it supports, like armature positions and rotations (including specific bone rotations), animation controllers, adding and deleting anything, spawning and saving, and some basic color and environment details (maybe shaders, working on it!) as well as a multitude of code features for putting whatever you want together!

So, GUtil is a silly project, I'll just do it in C++ myself, and save the python time for when I make exporters.

In other news, I again downloaded some crazy games from TatsuSoft. If it wasn't for them, I probably would never have gotten into Electrical Engineering, game programming, or my job and career. I just hope they don't get any funny ideas about payback... or maybe that is a good thing?

Either way! I always wanted to Hack into Multimedia Fusion files. Ever since I was able to steal the models and textures from Super Smash Brothers Melee and Pokemon XD, as well as Colosseum, I figured I could give this a shot since it would be nowhere near as hard. (Yes, that's right. You can steal 3D model data from the gamecube. It's not easy though.) Turns out I was completely right. (most data was either direct PCM audio, or embedded files, like MIDI. Graphics were simply scanline alpha-plane raster uncompressed images...)

Basically, the process would go like this: (from Goats n' Goblins)
  • INGAME: You play the game or find something you would like to steal/examine
  • HEXEDIT: You open the original game data in a hex editor, and apply all your knowledge of hacking, binary coding, programming, and logic to deduce what it means (requires a degree), and then write a program to interpret it.
  • RESULTS: Then, you sit back and sift through the images, sounds, music, and other data you get!

Now, for those of you freaking out right now about the fact that digital information is never secure, remember I do this for educational purposes, specifically, in order to further increase my own security protocols. It is sometimes very handy to learn by example, although I find more things NOT to do rather than advice in my hacking adventures.

Some notes about this, if you want or are interested in hacking, stealing this kind of information, or other ILLEGAL activities, the information will never be public; do not bother me unless you are also doing this for your own benefit (or just curious). The resultant data obtained from stealing should not be shared as it violates copyrights held by original media creators.

However, all code, algorithms and technology should be public knowledge, so knowing how to steal is different from actually doing so. (Content should be the only thing copyrighted)

As a result, go download Code::Blocks and learn C++ for free, legally, and begin your own game programming career!

Peace out.

-Imaginary Z

2008-07-06

More Adventure Nonsense

Well, I was sick and got bit by a pretty nasty spider (brown recluse most likely), so I was sick all this week. And still am, a bit.

But! It gave me a lot of time to acquaint myself with my porcelain god, and contemplate my career decisions. In fact, if a little bitty itsy teensy spider can kill me, I might as well do what I like. So I'm changing jobs.

On the other note, I certainly played with the blender game engine a whole lot, trying a lot of things, until I remembered I'd better look at the sourcecode to make sure I wasn't shooting myself in the foot with a shotgun. Turns out, I was, and "reinstancePhysicsMesh" from the python docs for the blender game engine does this:

void * reinstancePhysicsMesh(){
return 0; //Oh yeah, we didn't implement this. Who uses this anyways?
}

Needless to say, I was a little miffed, but I'll write a patch and submit it. I'm probably the only wingnut who wants to make a model and a low polygon shell so I can put other physical objects on/in/around it (making a 3D adventure transition a little less painful...)

Either way, I'll be using my temp server to post content. Here's a screenshot of the original Adventure maze traced out, (thanks Warren Robinett!) along with the current (revision 6) of the game itself. Yes, the dragon is quite animated, but I'm redoing how I handle everything to make it much more flexible. ...(link removed 2009-11)


 Peace out!

-ImaginaryZ