NEWS LITE™: Your source for news on Eric's project without the BS!!!

This is a condensed version of the news page. Click here for the expanded version.

 

4/30/2002:

The cannon cannot move through walls or objects. Also, the three action keys (pick up/put down, load, and fire) have been merged into one context-sensitive action key. May 1st is the deadline for presenting to the advisory board, so I have prepared this version for downloading as "Funland Beta"

 

4/28/2002:

Tested and tweaked. The barrier is now a part of the wall and you cannot cross it (unless you know the trick). Released the current state as "Funland Alpha"

 

4/24/2002:

The turbofan is functional. Things that pass above it are blown upwards.

 

4/23/2002:

You cannot walk through objects anymore.

 

4/21/2002:

The camera can not pass through the walls unless you really try (see the real news entry for an explanation). You slide smoothly along the wall instead of stopping on contact.

 

4/14/2002:

Polygon hit detection works great, things bounce off the walls. I also made a brick texture for the walls.

Download the current state of the project.

 

4/12/2002:

Discovered that my entire XY coordinate system is reversed, but it doesn't really matter.

Infinite plane collision detection works! Next will be actual polygon hit detection.

 

4/10/2002:

Made it so there is gravity and things bounce off the floor.

Working on making things bounce off the walls.

 

4/09/2002:

Made the cannon less soft. Check it out!

Last night I found a great website with a simple C-D routine and explanation.

4/08/2002:

Implemented vertex-shading! It makes the cannon barrel look like a big pillow.

 

4/03/2002:

Come and get it! The playable "Funland alpha preview" has been released.

 

3/31/2002:

You can interact with things! You can pick up ammo, drop it into the cannon, aim the cannon, and fire it! Things should move at the same speed on all systems.

 

3/29/2002:

Released the current state of the project. Major changes include First-person perspective with time-based (monitor-independent) camera motion, the tree, the target, the spring.

 

3/27/2002:

Made a new grass texture for the ground and changed the sky to a more cheery blue sky.

I scanned the doodles I used to design the objects:

The first one contains the evolution of the cannon (more or less top-to-bottom). The second one contains my thoughts on how to make the cannon in a low-polygon form. It also contains my first idea for the trampoline (now a spring). The third picture contains the evolution of the spring. It continues in the fourth picture. The fourth picture also contains a funny idea that I may or may not implement. The final picture has my doodles for the ammo tree. To the right is a 'guided missile' that I may use.

 

3/13/2002:

Added the ability to read in starting rotation coords for each object. Reverted to 800x600 resolution.

Modelled the target! I also made the ammo tree! See both of them in this screenshot and this screenshot.

 

3/11/2002:

Look at this screenshot. I am having issues with the framerate dropping to 30 fps at times. I discovered the reason my friend was getting 200 FPS was because he has his video card disabling vertical-sync automatically.

I have implemented first-person perspective.

I modelled the spring. The ground is 100% temporary and I am aware that it looks like crap. I will make the grass look better, too.

 

3/10/2002:

NeHe has posted my web site!

I am stealing code from www.GameTutorials.com for the camera class and adapting it for my project.

 

3/6/2002:

I was deciding on the technical implementation for collision detection. Objects that are on the ground and are generally not in constant motion (cannon, fans, springs) will have "collision meshes" which are ultra-low polygon meshes that vaguely resemble the object they surround. These meshes are invisible and are used for collision detection only.

I upgraded parseAse to accomodate for these meshes, and I upgraded the object initialization code to read the collision type of each object from a file. I also extended the Thing class to allow for a collision mesh and a collision type.

The apple_orange demo runs at 200 frames per second on a friend's computer (vs 61 on most people's).

 

3/5/2002:

Thought about collision and exploding objects.

Screenshots for the Counterstrike explosion and Max Payne explosion. These were fun screenshots to make :^)

I've decided to simply shatter the object on impact.

 

3/4/2002:

Released the Apple and Orange Special Edition! Instances: Only one copy of the geometry is stored, but there are several instances of the 'Thing'. This is more efficient than reading in several identical files and storing them all.

This new demo uses 1024x768 resolution!

Transplanted the project into a newer framework code.

 

2/27/2002:

New demo released! Check it out! It allows you to control objects as well as their parts. It also has the FPS-meter and a timer.

 

2/26/2002:

I can use fonts now, so I have a frames per second counter on the screen. I also developed a new class called GameTimer and it is a timer that can be paused and resumed and reset. It displays the time like 00:00:00 on the top of the screen.

 

2/25/2002:

Created a function called 'thingLoader' that assigns each mesh to its appropriate 'thing' and assigns each 'thing' to its appropriate 'master'. It knows this information from the name of each mesh that complies with a simple naming convention.

I made a logo for the game and I decided that I will name my 3d graphics engine "Whisk" in the spirit of my previous independent study "Spork".

 

2/18/2002:

I designed and modelled the 'spring' (formally referred to as a 'trampoline'). It rocks bigtime and here is a screenshot of it's current look. I also gave the turbofan a renovation.

 

2/13/2002:

Control both the cannon and the turbofan independent of eachother! Download it!

 

2/11/2002 at 3:22 AM:

I decided to normalize the normals myself.

 

2/10/2002:

I'm wrestling with a problem I just noticed with the face normals of the models that get loaded.

I've set up the 'Thing' class which will be used for organizing objects.

 

2/10/2002:

The ASE Parser is now FULLY operational I am brainstorming a way to organize how objects will be stored.

I have made more progress on the cannon.

 

2/6/2002:

I had some fun and slapped a cool texture onto what I have of the cannon.

 

2/5/2002:

I split my project into multiple files. I had no idea what the guidelines were for doing this, and OVER TWO HOURS LATER I finally got my project to compile and build :^) I'm learning everything the hard way!

I had sent an e-mail to Jeff Molofee from NeHe Productions enquiring if he would be interested in my ASE parser when I finished it. Today I heard from him! He said he would love to have it!

Check out this partially textured turbofan!

 

2/3/2002:

I wrote a parser for the 3D Studio Max ASCII Object Export (asc format) and it actually worked! Unfortunately, the power in my dorm went out mid-debugging and I LOST THE ENTIRE PROJECT!!! I had NO BACKUP of my project. Visual C++ was no longer able to compile anything. But I stumbled upon... A COPY OF THE PROJECT THAT I FORGOT ABOUT! I had to rewrite the parser, but I was going to have to do that anyway!

I planned to use the 3D Studio Max ASCII Scene Export (ASE format). I decided to write all the parsing code and all the display code compiler-less! I wrote about 240 lines of code this weekend and I have no clue if it works or not!

I am extremely proud of my parser and I have dubbed it "ParseASE".

 

1/28/2002:

I used a ridiculous method of hand-extracting vertices from the Maya Ascii format and then plotting them on a post-it note and figuring out the vertex order for each polygon myself.

I have discovered that 3D Studio Max has a great ascii exporter that creates a text file that is beautifully formatted in nearly plain English.

 

12/13/2001:

I decided to make my turbofan model using Maya 3d modeling software. I decided it would be fun to get the model data the hardest way possible.

DOWNLOAD the fan demo!!!

 

12/04/2001:

I drew a picture of some of the elements of the world previously referred to in the last news entry. Enjoy.

 

12/04/2001:

I'm thinking that this environment should be loaded with spheres or sphere-like objects, and the user can fire them from cannons and watch them bounce off of walls and bounce off of eachother. There can be trampolines or air-jets and other crazy stuff to add to the mayhem. I've done the research and I think I can handle that.

I would like to acknowledge that my project has changed in focus from the original 'vague' description, but I think it is for the better. I plan on finding a decent Collision Detection algorithm and optimising it for this particular environment.

 

11/28/2001:

Collision detection is REALLY hard! I wish I took linear algebra.

I am disappointed at my lack of actual progress as far as the project is concerned, but I am learning a lot of extremely complex stuff at a very fast pace.

 

11/27/2001:

Collision detection is REALLY COMPLICATED!!

 

11/26/2001:

I did more research tonight.

More research to come...

 

11/19/2001:

I am getting a clearer idea of what will be needed for this project as well as developing a firmer idea of the project. I've decided that the original idea was frustratingly dull and too open-ended. Therefore I want to make it more of a game. I will try to somehow encourage the user to create some kind of Rube Goldberg-esque contraption, but still nothing is forced. This will require a primitive physics model as well as collision-detection.

 

10/31/2001:

Up until now I have been reading textbooks and browsing the internet so that I can familiarize myself with both C++ and OpenGL. I have worked with all the NeHe tutorials up to and including number eight: "blending".

Download my project up to this point. This is not my real project, it is merely a learning exercise.