0.5 is upon me

And that means the collision processing system is pretty much ready. It will undergo some additional refactoring, of course, but the general idea is working and i’m pretty happy with it.

Collision detector was broken, refactored, broken again, and i’m NOT happy with it. Will remake that from scratch again, since it’s one of the tight points of any game engine, and especially because of the complex nature of my objects. It should be tougher than a siberian man.

screen1

Here are typical cases of intersection solving, where black is for the object borders, red for the current step projectile vector, and blue for the future steps.

1 and 2 are pretty easy, and 3 isn’t that bad. Cases like 4 are currently broken and i see no easy way to fix them other than a completely new approach.

Unfortunately, i mostly have something like 5, which can be horrifying sometimes.

No strings for you today, have some particles instead. They change their color and cool down over time. Not that it was particularly hard to implement, but still interesting.

screen2

I’ve also managed to hit one bullet with another and it worked like it should be. Wow.

There’s three-four days of work left, including implementation of actual elastic and plastic deformation limits, some cleaning in a library and scanning the code for little remarks, fixing, adding and replacing various boring and not quite important stuff. Then i’ll make it 0.5 and a new cycle will start.

Bonus screenshot i forgot to post earlier, crashtesting of the collision detector:

screen3