Monday, May 11, 2009

Video

Just as a follow up to Ben's post, I captured a video of the character in the game

I finally got it to work by using 3ds Max 2009.

First, I installed the trial version of the program and then installed the matching Gamebryo plug-in. Then I realized that I needed an additional plug-in called Autodesk FBX, (which had versions to be installed for both Maya and Max) in order to import and export my .ma file without losing all of the mesh, texturing, rigging, and animation data. Having never used Max before, it was extremely difficult to get the hang of doing simple procedures that I have been taking for granted in Maya. With the time that I had, I was able to recreate the Sequences and character root with the proper editors and export the NIF, KF, and KFM files. The texturing from the FBX file was a little wonky, but I was more interested in getting the files to work with our code. I swapped in the character KFM and miracle of miracles, it worked. Then I simply tweaked the character node scale, translation, and orientation sections and added a header with the animation sequences. So now I know it is definitely something with Maya. An Emergent employee responded to my question, but his only suggestion so far was to check the filepaths, which Mark and I did yesterday. Hopefully he has some other ideas. It would be a lot easier to get it to work with Maya files rather than having to learn the entire Max package from scratch.

As Mark and I mentioned before, it's unfortunate that the Gamebryo documentation is not written for first-time users. A lot of features that were advertised as being simple ended up taking much longer to implement because of missing or hidden information. We definitely learned a lot from this crash-course semester with a powerful toolkit.

Sunday, May 10, 2009

After Mark and I finished up compiling our files and documents, we took yet another look at the KFM loading error. Again, no luck with Maya-exported files, so we decided to see if their only Maya sample was implemented in any demos. No. It is not used once.

So in a final act of desperation, I'm downloading a LEGAL free trial version of 3ds Max. Then I'll just install the Gamebryo plug-in and try to export it from there. Wish me luck!

Saturday, May 9, 2009

Not having much luck with this. I went back and started to comb through the Documentation and 5 years of forum posts to try and figure out why functioning Maya KFM files refuse to load through the program. After testing some workarounds unsuccessfully, I left a question that will hopefully be answered sometime in the near future. In the meantime, I spent a few hours constructing a sound class, since Dr. Badler wanted to hear some explosions. After trying to resolve some linking errors, I found this in the documentation: "Customers wishing to use this implementation must separately purchase a license for the Miles Sound System directly from RAD Game Tools, Inc." The MetalWars demo uses this, but of course, it won't compile on the system so I can't take the license from it. The documentation suggests that there are demos that use a different system, but I will have to look for them later. The issue seems to be that the NiAudio core library isn't included in this version.

Tuesday, May 5, 2009

Well, long haul is complete, presentation is done, and yet there's still so much more I want to add.

Here's a video of where the game was at for the project presentation on May 1st:



It's working much better then it has in the past, as I've worked out almost all the bugs. It doesn't have many features I'd like to add, but perhaps I'll have time this summer to expand on it.

Hopefully Ben will get the animation exporter to work correctly, so we can get rid of the gamebryo sample character featured in this video. That would also let us add the correct model and animation for the rockets.

Sunday, April 19, 2009

http://www.youtube.com/watch?v=VeqsrChzSlE

new video up... bit more complex video with some interesting slingshot action :-)

need to fix the camera still, and the projectile code results in a wierd bug.

Friday, April 10, 2009

camera and collision detection

http://www.youtube.com/watch?v=Gg5NZaLH4rE

new video up on youtube which seems to work right.

I've got the collision detection working correctly now, so the character knows when it is flying or on the ground. The camera now has different controls based on flying/grounded, which are fairly intuitive to control. The transition between states needs work.

Hopefully, the next video I show will have a decent environment and (maybe) a character instead of a ball.

Saturday, April 4, 2009

Progress with a video

Worked on the camera system, controls, and gravity a bit today.

I still need to automate the switch from flying around to walking around better, right now I press a key to change mode, and cause an instant camera change. Next step is getting collision information out of PhysX to automate the switch, and implementing a smooth camera transition function.

I still haven't tracked down the cause of the jittering frame. I still think somewhere in the code I'm updating something twice per frame update, but I can't find any places where that would happen. I've uploaded a video of where I'm at to youtube, and the bug is visible there, though it isn't as bad as normal. It seems that the bug gets better when the frame rate goes from 120ish to 60 (Fraps limits it for the video capture), since the bug is much more apparent when I'm not capturing.

I need to get Ben to make up an interesting level soon, I think I'm almost ready for some basic play testing.

-Mark

Saturday, March 28, 2009

complex scenes

Made the system able to load more complex scenes, though the gravities still need to be hard coded. Worked on the camera and other controls too.

Tuesday, March 24, 2009

sorta working!

Sorry for the hiatus, Been working on other projects for a couple of weeks.

Physx has been integrated and working, and I managed to walk around and do a bit of jumping around a sphere, so my gravity system seems to work. need to fine tune the variables for that a bit, and make sure the gravity force doesn't exceed the character's ability to walk and jump.

Next step are implementing a bunch of the control niceties needed for a game, like a camera that stays pointing intelligently, and jumping that actually goes away from the standing surface instead of +y

Tuesday, February 24, 2009

Bits and Pieces

I've been working on creating all of the art assets for the first part of the project, so there hasn't been much room for programming yet. Mark and I tested out exporting proxy models for the main character, and even then it took a while and caused performance jumps due to the amount of geometry. We're going to try and avoid spheres to cut down on faces, but smoothed cubes make for rather lumpy planetoids. Lighting is also working, but we have to use specific Gamebryo assets or else they get ignored when exported.

Currently I'm working on finishing the main character model so that I can create a KeyFrame file for it to start programming animation sets. Gamebryo doesn't allow you to edit .nif files much after you've exported, so it's very important to put in the extra effort in this stage to avoid problems later. The Animation Editor is fairly intuitive so I didn't spend too much time messing with demos. More on that once the .kf file is ready.

Monday, February 23, 2009

Camera is working great, I can export models from Maya to my app, gravity is programmed (but not tested), and I need to decide between PhysX and Gamebryo collisions.

Gamebryo will probably be easier to control for my own stuff, but PhysX will be better for objects that need to bounce around. I wonder how hard it would be to do some of each, and still have them interact? Probably harder then I want to deal with, but it's something to look into.

Sunday, February 15, 2009

Camera

Spent a few hours today figuring out camera and mouse/keyboard ui in Gamebryo. I have most of a basic system for flying around working, just need to debug it then adapt it for running around spheres and having alternate modes to distinguish running and jumping.

Monday, February 9, 2009

Alternative project idea

Probably better suited to a pure CS major then me, but something that really needs to be made:

A better way to manage linking multiple libraries together, so people like me don't have to spend hours trying to figure out all the different directories that need to be added to the project settings.

Maybe something that attempts to compile it, reads through the errors, and searches your computer / the internet to figure out what needs to be linked and what needs to be installed?

The current system has been a struggle for me every time I've had to install new SDK's onto a machine, and is almost as frustrating as debugging, only without that rewarding feeling of a working system you get when the bug is fixed.


Anyways, I've finally gotten Gamebryo to compile, though PhysX is still complaining about a bunch of classes not being defined (classes like NxClothMesh, which apparently don't appear anywhere in the SDK files). I'm just going to skip that for now and get some basic stuff running in Gamebryo, get back to PhysX when it matters and there are people nearby who have gotten it to work before.

Monday, January 26, 2009

Setting up

Finally have the Gamebryo demos running, and I've managed to launch a blank window with my own code.

Now lets see about installing physX...

Wednesday, January 21, 2009

Project Proposal statment

Might as well post this:

Intuitive Rocket Science, The Game

Procedural Planetoids and Non Static Gravity Physics

Objective

A video game where game play elements of Mario Galaxy (jumping from small planetoid to small planetoid, each with their own gravity well) meets the rocket jumping popular in Quake, Unreal Tournament, and Team Fortress. This is the first game we are aware of to focus specifically on rocket jumping, instead of including it accidently/incidentally.

Results Expected

A fully working game engine to include the following:
- procedurally generated planetoids/asteroids
- realistic* physics for jumping, with the option of blowing yourself up to propel you further (fire a rocket at an object near you, ride the explosion)
- realistic* physics for extra objects in the scene (barrels, boxes, other players, etc)
- first person or intelligent over-the-shoulder camera setups (players choice)

- Fully modeled and animated character/s with blending between animations and (possibly) rag doll behavior.
- bazooka/grenades that can be used to propel yourself mid jump

- this would require explosions, of course, and it would be really nice if we could implement an actual explosion simulation instead of using a sprite of some sort. We will look into using the built in PhysX for this.
- (possibly) multiplayer over LAN, internet (we have no clue how networking works, so we’re not sure about that.

- If we can’t do multiplayer, there will be some other form of challenge, possibly outrunning a bunch of aliens or something.

* the gravity being generated by the asteroids would be far more than an object of that size could possibly generate, and would fall off far faster, but I aside from that we intend the physics and collisions to be accurate.

Manner of presentation of results

Blog to be updated at least weekly

Working game with sample levels and videos of gameplay

References

Will be using the Gamebryo engine, which includes PhysX, and associated documentation

(need to research SIGGRAPH papers about implementing height field meshes on spheroids)

Test Post

Created blog. Project Proposal being posted soon.