make a game, vehicles

Blitz3D Forums/Blitz3D Beginners Area/make a game, vehicles

Santiworld(Posted 2008) [#1]
becouse i learn new things about entitys, mesh, how optimize the game...

i want to know, to make a game with a lot vehicles, whitout crash the pc....


1. i need to make the models, with no more than 5k polys...

2. i can make one animate mesh, and split component in blitz?.

3. to make more than one vehicle, i must copymesh, no load for each vehicle....

4. no use vector, and use types... is correct?

5. use only one texture for each class of vehicle..

6. use a proxy to make the collision of each vehicle..?

7. if i use terrain blitz, what is the best way to make the vehicles alling to the terrain? (i use 4 cubes to alling)

8. the vehicles lods?, how is the best to do that?...

¿what more can i consider?

the whells, turns, and the front whells rotate for direcction, so, what is the best way to do that...

without use external libraries...


Ross C(Posted 2008) [#2]
1. yes
2. It's the best way to do it in my opinion. Whatever ways works for you though i suppose.
3. I'd use CopyEntity() rather than copymesh. Textures aren't copied with copymesh. Problem though, is any vertex level changes you make, will be shown on ALL copies. In fact, any mesh operations will be reflected on all copies, so still to entity commands.
4. Not sure what you mean here. The two things you describe show work together fine.
5. The less textures the better if it makes no noticable difference to the quality.
6. Use proxy meshes on very detailed meshes. The more polygons, the longer it takes blitz to process a SOMETHING > POLYGON collision. Only applies if you use polygon collision though :o)
7. Rest later. Work time for me!


Ross C(Posted 2008) [#3]
For point 7 and 8, you might want to look into having a physics library do these things for you :o)


GfK(Posted 2008) [#4]
Personally I think you're taking on too much. Discover how to do things one at a time.

Make small games at first. Yes, they'll be crap, but they'll arm you with a wealth of knowledge and you'll understand much better how things work than just asking a hundred questions at once.


Santiworld(Posted 2008) [#5]
yes, the best way to learn is with small programs...
i need make a big game... i only need more experience in blitz detail...

the lastet days i've leaned so much with this forum... in few days, i restar from cero the tank game, with all things i learn..... for that, i need make that list....


Dreamora(Posted 2008) [#6]
1. i need to make the models, with no more than 5k polys...


You mean less than 2000 if you use bone animation and want to attach stuff like tires / tower to the base "body" + bones


2. i can make one animate mesh, and split component in blitz?.


Yupp. You can attach the tires etc to the bones and they will be transformed when the bones are (-> rotated)


3. to make more than one vehicle, i must copymesh, no load for each vehicle....


Use CopyEntity. CopyMesh will drop animation and bones. It only copies the geometry of frame 0 (-> the collision mesh)


4. no use vector, and use types... is correct?

Normally vectors are done through types as you most likely want to create functions that use vectors. But depending on what you want to do, the TFormPoint / Normal / Vector functionality might be suited as well


5. use only one texture for each class of vehicle..


You can use more. If you mainly have the tanks and few textures and use copy entity, it will be less surface intense than it might look at the first look


6. use a proxy to make the collision of each vehicle..?


You don't need to create a proxy. Moving objects need to be ellipsoid collision anyway. for the projectiles to do mesh collision use PickMode and linepick (between the projectiles current position and the one at the next frame -> very short distance, lightning fast)


7. if i use terrain blitz, what is the best way to make the vehicles alling to the terrain? (i use 4 cubes to alling)


Vertical linepick -> pickedny and align that to the vehicles y axis


8. the vehicles lods?, how is the best to do that?...


There is no best, but I would assume that the simplest is through types. if you store handle(typeinstance) in the entity name, you can easily cast it back to the type by using object.lodmeshtype( entityname(typeinstance) )


Santiworld(Posted 2008) [#7]
:) thanks, i go to study that :)...
thanks for the big answers!!..


Ross C(Posted 2008) [#8]
For what it's worth :o) I think Bones are a bit overkill for something as simple as turning a wheel. It would be alot faster simply to find child, get the wheel, and turn it via

TurnEntity


Something to consider if things are running slow and your looking for ways to speed up things.