Jump to content

Suggestion to optimize voxel performance. Read some the stickies to get edumacated.


rescue86k

Recommended Posts

I developed a flash game years back, a complicated one. Then optimized it. SO IM A BELEIVER. it can be done. It took much tricks and creativity, as flash games running through adobe flash platform sucked in performance compared to game maker which have now. I had to struggle. Spent 2 years then sold the thing and said never again, not in flash will I.

 

Boring story. Heres my suggestion for voxels, kept thinking "waste of time, don't suggest it, probably said before".

 

Mentioning in the occurrence it hasn't been thought of. >>

 

Clump voxels together. Group them as 1 unit. Multiple minigroups with flags /tags, for reference to bypass the slow vertex search techniques.

 

Initially have voxels (cubes in game I think) make love to their neighbors, the ones they like most. cement with cement, wood with wood, identify, clump together. Building falls apart in clumps instead individually peice by peice will be the most interactive visible change to the player. FPS (if this trick/hack works) would hopefully be the invisible other change.

 

So rendering a falling 7 voxels, instead is rendering a different object. That looks like them all attached together. But isn't really. Perhaps the voxels are deleted, and its an object of deceased information visually falling down. Hit the ground, the information creates new corresponding voxels, and blows up anything in the way, saying the floor isn't... flat.

 

This object or group may be an entire room of a building. Might be funny. Looks like I live on the 2nd floor now instead of the 5th.

 

If that saves fps then it might later be expanded into the world where groups of voxels , (10 cubes vertical and adjacent) called group 3767278 in the game world, a string, is called upon, for any perpose. Slowly replace aspects of the game that used to detect vertices, and just call upon the group, that perhaps was built, and named, during map generation in rng editor.

 

Thats my suggestion. Its the one thing I think about with performance, before considering trees, rocks, birds, and zees.

 

Edit: Forgot about all that custom texture work to save. Maybe just clump like minded voxels that best fit this new "object". So a 6x6x1 cement floor falling, will group relative voxels of cement in the same form together, during rng mixer generation. That made no sense. Um. If rwg mixer detects a 6x6x1 voxel formation, attach them to a string/array? (group) "cement slab 12345321 [36]" and set conditions for if that will "fall" together. If falls together, delete it all, and send out the 3d object that convienantly is 6x6x1 in size, to fall for them.

"Send 1 for the many."

 

This idea, does suggest increasing rwg mixer creation time, but id be down with it if it ment in game the world performs faster.

 

The one thing I kept with me is what helped me improve fps most was tree branching. I originally had a character object, enemy 1, 2, 3, 4, 5, 6,....12 objects, and ally objects. My end game improved, had only 1 object, sort of like your "entity". This object, was the player, the enemy, and the ally. Depending what I changed variables to, to determine stuff. So Im expanding that to the voxels, tree branch them with strings. Group together, and call 1 for the many.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...