Site hosted by Angelfire.com: Build your free website today!

 

Project X1

By Ahmed Ali max3d_123@hotmail.com

April 9, 2004

 

Download: ProjectX1

Download and extract all the stuff. Run "ProjectX1.exe" in x1 directory. After you close the app a file "stat.htm" is genrated. Please tell me about FPS and timedelta. Also about your hardware. And any problems.

The source is not avaiable because it has no real stuff.

 

Details about X1

Purpose

The actual purpose of this project or series was to learn ways to make a game in shortest time. And what are the factors which slowdown the project and make progress discontinious. However x1 is not a game but this is just a start.

The two experimental objectives have been achieved. Use of 3dsmax as a level editor. And figure out a physics engine needed for platformer game. Graphics were under low rating.

What went right

Despite some breaks I think the project becomes exactly what I planned and imagined excluding physics stuff. I decided to make it technically simple so I can have a clear of how it will work. Every things is 2D except what you see. I also made different things independent from each other. For example the physics were done in 2d using SDL without other game data and gfx engine, at the same time I was working on irrlicht to load level & char data when the level was not done, and at same time I was modeling that ugly level in 3dsmax. So in middle I just easily integrated them. A time smoothing class was built which fixed jitters.

What went wrong

I interpreted that I could complete it in 2 days of hardwork only. But it took me week. I was forced to do some hacks to save my self from slipping time.

Factors which slowed down the whole project:

I started to write clean code until when series of problems started. So due to haste and some hacks I ended up with comment-less, non-organized code.

The physics part was done in a 2d enviroments. This is what took my major time.I tested it with primitive objects which seemed to work right. But when in irrlicht I integrated it with complex level data. I started to see unexpected results. At that time in 3denv/Irrlicht I didnt had any visual debugging tool. A lot of time was wasted on that hacked debugging stuff and hacked physics. I had to cut down some physics features.

When I was working on the project I ignored any kind of debugging because I thought I can do it without them. But that resulted into serious series and chains of problems . I estimated that if I properly and carefully applied debugging measures of 2 days then they could save my 4 extra days.

One day was spent on finding means to export collision data from 3dsmax because this was my first time using maxscript.

Little drops of water make a sea and Recompile, Recompile, Recompile this becomes a big part of the time I spent on project (I believe if debugging and GUI aiding stuff were present I could save a lot compiles).

The verlet physics integrator shows different experiences at different FPS. I had no idea about this problem. So I have to do some filtering, some clipping. Some constants were changed to variables(mathematically speaking) ie The amount of impulse an actor needs to jump was constant and independent. But at different FPS/timedelta the results where different. So many independent constants where made dependend upon performance of system. This however reduced but not completly eliminated the problem.

Future

This project is closed now. The source code is very embarising but x2 will be opensource! I will start working on preX2 projects in start of June. At that time I will also ask help from others.

My background

Im a self-learned 18 years old programmer. I have no resource excpet a begginers c++ book and Internet. Internet is what from I learned so much. I started to learn programming around 2000. For a long time I had no idea about game programming. Some friends,family members and relatives didnt apreciated my interests. And as I'm self-learned there are lot of holes of lacking experience and knowledge which start to apear when I practically do some thing. But I will always try to learn more and more.

Credits & Thanks

I got alien model from planetquake.polycount. Created by Andy "BoogieMan" Craft (boogieman10@hotmail.com)

Background music was take from http://www.grsites.com/sounds/

Thanks to me for that ugly primitive test level

Godbless those people how expose their work in form of codes, articles, tuts which help others.

 

 

 

 

 

Copyright Ahmed Ali 2004