New 3D Project
Posted by Joey on 9 May 2003, 02:32 GMT
Thibaut Chevalier is working on a new 3D project for the 89, 92+, and V200. It can reach 20 FPS, and will render scenes from a tilemap. No release date is set, but he plans to release a clone of the old 3D car racing PC game "Stunts" once the engine is perfected. Find out more at his website.
|
|
|
The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.
|
|
Re: New 3D Project
|
Joey Gannon
(Web Page)
|
If this project is anywhere close to as neat as the screenshots, I'd bet a lot of awesome new games for the 68k calcs will follow.
|
|
9 May 2003, 02:38 GMT
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: Re: New 3D Project
|
Chivo
|
I've actually been working on a 3D game for the TI-86 for quite a while now. It's a helicopter game (AH-64 Apache). It'll have conservative graphics (mostly wireframe, small blobs/dots for ground objects, and some sprites for the cockpit), but the physics simulation will be, I hope, very impressive.
The physics simulation is probably also the sticking point of my project, because I need to do more "research" (playing an Apache simulation) before I can implement a good working version of the physics engine. (I'm also constrained by limitations of the platform, like the 8-bit word size, small amounts of memory, etc., but that's a different problem in itself)
I should probably release the source so I can get help from anyone who is interested in it.
BTW, I've stated some time ago that I'll release it under the GNU GPL, but now I don't think that will be feasible, as I need to use code written by other people; I can't get permission from everyone whose code I will use. (I have nothing against the GPL; I just can't use it in this case. I will use it for other programs and/or function sets, though)
|
|
11 May 2003, 02:17 GMT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: Re: Re: Re: New 3D Project
|
Chivo
|
My physics engine actually won't be real-life; I'll make some shortcuts to simplify the engine, but I'll try to make it as real-life as I can. For example, I won't deal directly with forces and masses. Forces and masses are usually large and the magnitudes cancel each other out (remember F=m*a from physics? a=F/m, which is a large number divided by another large number, resulting in a small number). Besides, I need to avoid division wherever possible, since division is slower even than multiplication. Therefore, I will use accelerations directly; this will also allow me to use more constants for various accelerations that I get from my research.
WARNING: The following is just my venting (letting off steam). You don't need to read it if you don't want to.
This is a really complicated program, since I need to test the 3D graphics by "flying" around, but I have to test the physics (needed for "flying") by watching the graphics. Hmmmm... sticky situation.
I think I can solve this by writing a stub physics module, one that moves the helicopter directly by pressing the keys instead of dealing with forces, accelerations, and velocities. This will allow me to focus on the graphics and then focus on the physics once I know the graphics work well.
Another problem I have is strange behavior I've noticed in the Apache game I'm using for research. I don't know if I should copy it closely or just find a simpler, cleaner solution. Maybe I'm just stressing myself on all of these details too much.
</rant>
Well, that's all for now.
"I am a man,
but I can change
if I have to
I guess."
-- The man's prayer, Red Green Show
|
|
12 May 2003, 22:14 GMT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: Re: Re: Re: Re: Re: New 3D Project
|
Chivo
|
I know it's mostly impossible, as I've really learned after figuring out two equations (on my TI-92+, of course) for finding the helicopter's new orientation based on its current orientation. Although I haven't taken every variable I need to into account, they're quite long (several multiplications, additions, a square root, and some sines/cosines).
I don't need to use long equations like that for my game. The calculations it makes now are accurate enough when the aircraft's pitch is close to zero (almost level, which is most of the time), but they become very inaccurate as the pitch increases (e.g., in a vertical loop).
I could limit the helicopter's pitch to a reasonable range which would ensure the calculations are relatively accurate (say, 90% or more). I think arcade simulations do this too, though probably not for the same reason. The limit would mean the pilot cannot do any fancy flying, but it would be a little easier to fly. Does anyone oppose this idea?
|
|
16 May 2003, 02:54 GMT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: New 3D Project
|
Chivo
|
Yeah, I'm using trig for physics (trig and physics are just two of my favorite subjects, among other sciences). Thanks for offering me help, but I don't think I'll need help with the math; I've already figured out most of the equations I need for spherical trigonometry and such (and I haven't even taken any spherical trig. classes in school ;-).
What I need help with most is writing and testing it. I think the math will be the most difficult part, because I'm using fixed-point (as opposed to floating-point) numbers, and it can be easy to forget how to handle the result of a math operation (e.g., shift right or left and by how much).
Also, I need to figure out how to write lean and mean code so it gets a decent framerate (at least 8, preferably 12-15), but the code (physics engine) won't care about the framerate because it uses a time variable which is incremented once per interrupt, and I have a small routine to find the time that has elapsed since it was last called (used for dt, or change in time), and the physics math is based on dt.
BTW, are you trying to write a Medieval game that uses catapults or something? :-)
|
|
16 May 2003, 20:59 GMT
|
|
1 2 3 4 5
You can change the number of comments per page in Account Preferences.
|