World streaming and fixed-point math
Since i’m using fixed point math (Q20.12) in the physics engine and some other places to keep things deterministic i had some issues with keeping all the calculations in the range −524288 to 524798.999. This range seems like a lot, but belive me, it’s not…
The solution for the limited range in the physics engine is to introduce world streaming tech. World is divided into chunks, each chunk has it’s own physics system and keeps all the positions relative to that chunk. Bodies can collide inside of the same chunk along with the chunks that are adjacent to that chunk. While comparing/colliding bodies that are in two separate, but adjacent chunks you just shift them to the same origin and BOOM – NO MORE MULTIPLICATION OVERFLOWS!
Similar solution is used with floats due to limited precision far from the origin. You can read more about this issue in paper called Using a Floating Origin to Improve Fidelity and Performance of
Large, Distributed Virtual Worlds by Chris Thorne.
Normal people
I was always fascinated by people who are considered completely normal, because I find them the weirdest of all.
Johnny Depp
Retro 3d engine
I have been fascinated by the old school id tech engines (DooM, Quake 1) and always wanted to make something similar in spirit for that age. I sat down 3 years ago (yeah, shit takes time) and started crafting my doom-quake love hybrid.
Some things:
- basic cross-platform framework
- fixed point math library
- terrain rendering
- sector based level structure with portal rendering
- level editor
- physics engine (soft and rigid bodies)
- entity component system (scriptable)
- steering behaviors
- vehicle physics (in progress)
- procedural locomotion/animation system(in progress)
Web Snooker and Get Rigged! revived
Just finished uploading and setting up two old projects that went offline some unknown amount of time ago. These games were specifically crafted for Mozilla GameOn.
You can now access Web Snooker and even play online with your friend. Also, don’t miss the chance and drift around in the Get Rigged! desert.
A world of inconvenience
Always striving towards perfection and higher standard you leave yourself vulnerable to being upset and frustrated at the tiniest of inconveniences. Is this the state of mind you want to live in?
Time Traveler’s Journal #2
Observe the moment, adapt yourself, shape the outside. The ol’ timer said to me once, the name of whom I cannot even remember anymore, if he was really ever there. Sane or not, the idea remained in me, and will most likely prevail. And so the guy lives, a part of him. Observe, adapt, shape. You’re not perfect. Not you is not perfect. You are watching and so are them.
A good trade.