index_01.gif index_02.gif
index_06.gif index_07.gif index_08.gif index_09.gif index_10.gif index_.gif index_12.gif
 

menu

July 2006
June 2006
May 2006
April 2006

 

menu

Our Profile
Our Staff
 
Screen Shots
 
Gamedev
Igda
Gamasutra
Siggraph
 

 

 

 

 

 
 

Monday, May 29, 2006

Hansel added heath, gem and coin status display in the main game view so that the player can see how much health, gem and coin do he have, also implemented the collision detection for the game walls with reaction of a bounce when knock on to wall it is up and running but there is some flaws in it as when it bounce, direction of the character can be change and when it change, there is no collision detaction done, therefore it can get to the other side of the wall when this happens. So currently looking in to how to make it more smarter, also looking in to way to reduce the number of wall checking to be done for wall that are way from the character. as for frame rate wise, frame rate are good, running at and average of 59 - 60 fps on a Nivida 6200 graphic card.

Nigel integrated spring camera prototype with hansel's collsion detection prototype. Version now 5. Camera is observed to be very jerky, when the 'w' key is depressed all the way and the distance between cam and charatcer is at max.

Completed springy camera, using my own special method with the mathematical formula from Treglia Dante's example.

Thought of a new approach where the update_camera() will be called in glIdleFunc(), with parameters taken directly from the camera class itself. Those parameters will be supplied separately rather than condensing both setPosition and UpdateCamera into a function.

Begin work on new and perhaps final build of the springy camera.

Used a different approach by coding the springing by myself, with only the math forumla taken from the example. Managed to build however the camera position is not updating properly, and a function call placed in the glIdleFunc() causes the camera position to get sucked out into infinity.

Sought help from teacher for debugging dante's code. Real work can now begin. Tried to implement the code without success: either my standard is too low or his formatting is atrocious.

Discussed about all the collision detection needed in the game. A document was produced.

Ren Hao last week renhao did the customise key setting. He implemented four more buttons in the customise menu to change the buttons key for the movement of the character. He also added the game sound in the game world.

Now the player can change his key input in customise setting. This customised key input is also being saved so there is no need for the player to customise the key setting again when he restart the game.

Now renhao will implement the customisation of mouse sensitivity in customise setting.

Melissa thanks to Nigel, I discovered what went wrong with my codes. I did not use the proper call functions for each loader. So we created an ID for the loaded texture, so that it could be mapped onto the model. As for mapping the texture correctly onto the model, I have to use an unwrapper to map my texture. This is because the texloader maps (0,0) of my texture to the first polygon.

Learning how to use Ultima Unwrapper. It's abit tricky...

Discovered I did not save the almost-complete texture loader. Had to redo. Couldn't complete because I couldn't compile without Ren Hao's Fmod. Need to ask Nigel about a recurring ( and irritating) error...

 

redline

 

Friday, May 13, 2006

Hansel have improve the control system of the game which now able to move front, back, left, right and diagonal by using flags. Also used render list for maze and skybox whcih have very much improvement on the frame rates. Also helped nigel with intergration of the menu to the gameworld and enable to start new game, exit from the gameworld and also exiting game from menu.

Nigel Begin work on implementing Dante's code for the third person camera and second attempt to understand and disect the code. This is just to ensure the camera is "chasing" rather than rigidly following a certain point behind the character.

Successfully implemented thrid person camera in gameworld v3-4 (now gameworld v4). It is a rigid third person camera where no difference is observed in the feel of the game, except that now the character no longer "spins" on its own axis. Uploaded to ftp as gameworld v4.

Begin work on third person camera. Character is to be controlled directly by keyboard and mouse inputs, and the camera is positioned a certain distance behind it and looking in the direction of the character, consistently.

Tried to understand Treglia Dante's code for camera and spring damping but failed, too messy and unclear beyond my abilities. Main issue includes being unable to find where camera positions are generated.

Hansel has returned back the game skeleton and named it gameworld v3-4. Background is changed, and character now follows the camera. Movement and facing of both the character and camera is parallel and thus the character appears to spin on its own axis. Uploaded the final build of game skeleton to hansel.

Integrated hansel's gameworld into the menu system, named as game skeleton. I have used the game state software design approach, where upon selected , the buttons will change the game's state accordingly and the game environment will automatically create the required classes and run them.

Done the mouse input for the gameworld, where the mouse movement corresponds to the direction where the character is facing, just like a shooter game. Difference of the mouse coordinates of the current and previous frames is set as the angle of rotation for the camera and character.

Ren Hao this week continue to work on putting sound in the menu. Have implemented the background music for the menu and it can loop once it played finish, also implemented a wav sound when the mouse move the buttons in the menu, and also come up with the GUI for the customising of sound volume.

Now i am current working on the customise menu to adjust sound volume. The volume can be adjusted by using the keyboard. But now i am working on adjusting the volume using mouse.

Melissa use Ms Dioselling's obj loader to load models into game temporary. Completed the models for miscellanous items (coins, gems) as well as monster and corrupt guard.

Working on obj loader code so that it can load texture in as well. Changed menu background to .tga format.

Found a way of loading .3ds models, with bitmap texture. Figuring out how to implement it to read datas of multiple polygons, by parsing through addresses of these polygons and storing their vertices, and other information. First need to find out how to get the addresses of these information.

redline

 

Wednesday, May 8, 2006

Hansel completed the map designer using flash and gameworld with some dummy TGA textures on the wall and floor also implemented the camera with control into the game world.

Nigel completed mouse input for the menu, where a callback function will call up the method in menu class, which will in affect the indivual buttons. This bypassed the problem of glut not allowing callback functions in classes.

Implemented alpha channel for the textures, as the button's textures have a background behind it, which needs to be hidden by means of an alpha channel.

A new problem turns up, when the buttons spin upon selection, the transparent backgrounds of the buttons' texture "cuts" into neighbouring buttons, especially those lower down the screen. This is due to orthographic view not being used before drawing the buttons, so they are angled slightly to the camera. However this was easily resvolved by just reversing a loop to draw the lower buttons first, so that they show through the transparent background of the textures.(All hail good programming practices!!!)

Ren Hao researching on fmod in order to play music and sound in the game and figured out how to use fmod. I Will begin the implementation of the sound into the menu background, menu buttons, and the gameworld.

In addition, i also helped out with our designer, Melissa to get the object loader working.

Melissa finished 3D model of hero using Maya 7.0 . There's alot of polygons used, which will lag the game, so I need to find out how to reduce the polygon count, without comprimising the quailty of the models, graphics etc.

Improved wall texture, and completed 3 types of floor texture. Improved menu graphics.

 

redline

 

Wednesday, May 3, 2006

Hansel started on coding out various parts of the gameworld loader. starting from reading in of files and and store in to array, and also studied the various type of wall design need to form a dynamic maze that can be reference from the text file. Got a tga loader from website www.morrowland.com, it uses winmain but manage to convert it to be used in our game.

Nigel realised that when the glRotatef is used on the buttons, the buttons don't display. After referring to the returned prototype from yesterday, which had the buttons rotate and display correctly, realised that setting orthographic view to draw the buttons is giving problems. This is due to the matrix that isbeing manipulated to set orthographic view, affecting the rotation function, as openGL collapses matrices for camera coordinates and world coordinates into a single matrix.

In light of this issue, I am overhauling the system of the drawing of the buttons to simply find the correct position in 3D space, rather than in 2D. Thankfully, I need only change the naming of the varibles to reflect (x,y,z) coordinates rather than just (x,y); the camera view now is such that z is the side vector.

Renamed GameWorld class to Menu class.

 

redline

 

Tuesday, May 2, 2006

Meeting with Ms Dioselin, discussion of the problems encountered in coding mouse input and also showcase the game flow concept and gameworld map loader concept.

Hansel returned the prototype with keyboard input detection and included background music. During meeting with Ms Dioselin, talk to her about the gameworld concept as well as the game flow concept.

Nigel solved the framerate problem, which is due to loadtextures being called in DrawSelf(), rather than in main. This means that intially the loadtexture was being called at every frame, and thus slowed the machine. cleaned up some of the hard-coded numbers and reverted back to the example of the first glut-sample where position of the vertices is calculated by the computer exclusively and the variables, rather both a combination of variable and numbers, are passed as parameters into the glVertex3f(int,int,int);

Melissa saved buttons in tga format once alpha channel is implemented. Couldn't do 3D model, because Maya 6.5 crashed on home desktop. Designed monster of the game.

 

redline


index_17.gif
index_18.gif index_19.gif
Copyright © 2006 Mikonos
http://www.geocities.com/mikonosStudio
The best view with 1024 by 768 pixels resolution.
                 
Hosted by www.Geocities.ws

1