First person shooter

pbourke's picture

Has anyone put together a "simple" wander around a plane demo, such as might be the basis of a FPS game. It wasn't obvious to me (at least so far) how one might achieve this with 3Dtransform, gllookat, and other patches. Some of the bits seem to be there but not the whole solution.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

mfreakz's picture
AI: artificial intelligence = IA intelligence articielle

I think you've got all basics patches to start those kind of project. There is an useful "hit detection" patch (in Private patch) that could help for collision with the set and the enemy/projectile. I don't remember if this patch work in 2D or 3D but i think it's 3D (that's necessary for you !). With Kineme 3D you could import a 3D map or part of a big map set and use a 3D transformation to navigate "in" it. Now, it will become more difficult... 1) Before freely "walk" into this map, you had to solve collision between "your character" (the main camera view with a defined abstract volumic size) and the walls and grounds of your set... You need to get the coordinate of those elements, but i don't know if it's possible. You won't get nothing from the Object loader... 2) You'll have to manage with other collision settings (Ennemy, bullets...)

3) Then you come to the best part: IA management ! You can choose a kind of random system (for the place of your ennemy, special gifts...), but it would be a bit boring ! There's no way to create IA in quartz Composer ! You could build a kind of Statistic/random, use random values (Javascript random are better) by sliced probabilities, but nothing as real as a good IA (like neuronal networks for exemple). Things couls become quickly stupid and repetitive without a good management of IA...

4) Then you'll have to build a points/lifes/score/level/etc... management interface and system. That's workable.

Your project is ambitious but really interresting. I will stay in touch !