Friday, April 8, 2011

GDW Progress 5 (What's this?!)

The current build of my group's GDW game.

Yes, we now have some form of functioning game. It required me to not bust, but utterly murder my ass off last weekend. I tried my best to get it done for Tuesday night, but guess what, the due date gets extended for another week. Great, the stress isn't over, but at least I have more time to actually make a more decent game. You may think that given the fact that it's been a few days since last weekend that I haven't stopped working like an animal. But the truth of the matter is that I have. I've been so totally drained that I had to take some sort of break. I also focused on other subjects like Accounting to refresh my knowledge of it (as it is one of my five courses this semester) for a good 5 hours followed by a sleepless night of laying in bed, but my sleep habits are another story. Today, I planned to work on my Design Homework 2 with my friend Tinaye, and started off with the "question" where I have to critique a game. I choose the game "The Path", and it took me around 4 hours to traverse most of the game. Now I have to write a critique on its Mechanics, Dynamics, and Aesthetics, as well as research the game's history. Just so you know, "The Path" definitely it isn't your typical Mario or Call of Duty game. That "question" is only one of four major questions of that homework assignment. The big problem is that it's due next week, the same time my GDW is due. What to do...

"The Path" by Tale of Tales is not - I repeat - NOT your typical game. In fact, some may not even call it a game; some may instead call it art. You can download it here for $9.99: http://tale-of-tales.com/ThePath/buy.html

Anyway, I should probably explain more about how my GDW game currently works. It is a racing game, but it's not at a stage where you can call it "fun" at the moment. Right now, there are two paths; left and right. the player starts on the left, two CPU players are on the right, and one CPU player is on the left, but in front of you. You push the up key on your keyboard to move forward, and press the spacebar to switch lanes. You race on a straight path until you reach the end of the race. That's it. The speeds of each character aren't tuned well (one CPU is unbeatable for how fast it is), collision detection is broken, and not all models have been placed in the game yet. The game is supposed to be about a bunch of desserts racing through a desert to avoid melting. So I have to incorporate 3D dessert models (which will replace those cones) that a teammate of mine created in a program called Autodesk Maya. Reagrdless, the game's mechanics are not up to par with the other GDW groups. The game is bland and not fun. Who's fault is it? Mine.

An example of my sun and moon system.

Anyway, I had my game tried out by my Game Design Professor, Dr. Hogue, and then he later tweeted me a video of an iPhone game called that I can use as an inspiration. Its mechanics are simple, yet it seems to call player-game dynamics well enough to be considered fun. All it consists of is passing cars, and you gain ten points for each one you pass. It's essentially a "how long can you survive" game. So I plan to incorporate its mechanics into my group's GDW game without impacting my group member's work any way possible. It may be a doozy to try, but at this point, I must do the best I can to pass the design course. I'll also have to leave some time to create my technical design document, as my other group members are handling the rest of the design documents.

Also I quickly would like to explain my sun and moon system. Basically at the start of the race, the sun rises, lighting up the whole area. Then as the sun sets below the terrain, it "shuts off", and then the moon rises, shining a dim light. That leaves you to turn your headlights on, as you can see in the picture above. The sun and moon system utilizes my light manager system, where I first set the location of the sun and moon, then set a point-light that shines only on the sun and moon to give it its look. Afterwards, I create a directional light that points in the direction of the sun/moon relative from the game-world origin (0,0,0). That light is applied to the terrain, path, and racers. Then another directional light is generated in the opposite direction of the first directional light, and is applied to the sky model only. So to keep this short, here are all the lights in the game:

1) Sun Positional Light
2) Moon Positional Light
3) Sun Directional Light (terrain, path, racers)
4) Moon Directional Light (terrain, path, racers)
5) Sun Directional Light (sky)
6) Moon Directional Light (sky)
7) Player Headlight
8) CPU1 Headlight
9) CPU2 HeadLight
10) CPU3 HeadLight

Wait, that's ten lights! How could that be possible if OpenGL only supports eight?! Well thanks to the light system I've coded, I can have a light applied to a few objects, and have another light applied to another. Which allows ten lights (or even more) to be displayed! Apparently I also have to include a light that emanates from the camera, but that shouldn't take too long. What will take a long time is changing the mechanics of the game to match the one Prof. Hogue sent to me, as I don't think he sent it to me solely for kicks.

This is bird's-eye-view mode. Yes I'm aware that it looks ugly.

Another problem is to eliminate these CPU competitors, and include a dynamic list of racers. Of course I've done something like that before in my earlier game, Happy Culture Shootout. However this time I can only declare a fixed number of sounds at discrete positions. So that will be another challenge; adapt my 3D sound system to be dynamic like the way my light system is.

I digress. The fact of the matter is that I need to get going on the rest of the coding, and do as much as possible to make my game at least half as good as everyone else's. Wish me luck guys! :')

2 comments:

What do you think? Comment below: