You are browsing as a guest. Sign up (or log in) to start making projects!

Rev

  • 8 Devlogs
  • 37 Total hours

A 2D physics engine

Open comments for this post

1h 8m 36s logged

I’ve begun work on entities, right now I only implemented a wondering behaviour. The plan is too implement multiple different behaviours so you can config them. Like for example if hungry wonder and find a carrot

0
0
12
Ship #2

I implemented rigid bodies and more optimizations in this release.
I wanted to implement detection of floating bodies and automatically turning them into rigid bodies but I realized it’s pointless. It needs to be solved in world gen then only do a basic check around an area of change.

  • 4 devlogs
  • 23h
  • 17.50x multiplier
  • 394 Stardust
Try project → See source code →
Open comments for this post

9h 18m 43s logged

I have been working on improving rigid bodies. Along with adding collisions to them by the player so you can pick them up. I’ve been working on floating terrain detection but I realized it’s either gonna be a very expensive and complicated algorithm or something in world gen. I am probably gonna leave it at that even though the rigid bodies are incredibly janky and just release it. I am tired and want to move on to a side project

0
0
5
Open comments for this post

7h 5m 9s logged

Not visual. However I’ve been working on optimizing the engine. I’ve implemented face culling for physics object. Eg only pixels that aren’t covered will have collision checks with other objects. As well as AABBs, so that unless their general shapes collides, no per pixel collisions arise. I implemented multiple light optimizations, most important is rendering it a lower resolution as at this scale, as at half resolution it’s indistinguishable from native. As well as I started work on a player controller.
So for example light update went from 39157us to 3399 us.

0
0
7
Open comments for this post

3h 45m 7s logged

I have implemented rigid bodies into the engine. Rn this is a very basic and slow version. I plan to finish their interactions with lighting, optimize their collisions and then add JFA to check for disconnected terrain to become rigid bodies. Happy coding

0
0
6
Open comments for this post

2h 21m 10s logged

I’ve been working on multithreading and general optimizations. I use OMP for it, it makes multihreading much easier however I still needed to make some changes. I split away everything rendering related from physics and lighting updates. I am using OMP as well because CA is much more of a problem of throughput than one of on demand updates. As you update millions of pixels every frame and don’t need to care about splitting physics and sound. However in the future I will ideally have a combination of both. Let’s say 4 threads manually controlled for sound, enemy ai, physics so that they can be responsive while CA uses 8 threads for pure throughput. Please keep in mind light updates are not done every frame, so it being 39157 us doesn’t mean it actually runs at sub 60 fps. One other thing I improved as well is support for larger world. You can have any size you want as long as it is smaller than the 32 bit integer limit.

0
0
3
Ship #1

I made a little physics engine.
I am shipping it for the competition but I will come back to it later.
It’s a cellular automata based physics engine, every single pixel is simulated.
Technically it can support any world size but you might need to play around with the source code, it’s hard set at 1920x1080 rn.
You can edit the cell behaviors as well.
Wish you a nice day.

  • 3 devlogs
  • 13h
  • 13.86x multiplier
  • 184 Stardust
Try project → See source code →
Open comments for this post

2h 49m 37s logged

In the meantime, I’ve worked on optimizing the project. I am trying to implement a more traditional physics solver but I am tired of rigid bodies constantly failing. So I am shipping it as it is in a bit. I will come back and work on it in the future as I still want to play around with it

0
0
4
Open comments for this post

5h 24m 17s logged

I’ve been working on Rev, I have implemented simple lighting, and improved the code structure. The world size can be edited however it’s still tied to the window size. Something I plan on changing. I want to support large worlds. Have a wonderful day

0
0
6
Open comments for this post

5h 7m 9s logged

I’ve been working on a physics engine. I’ve implemented basic CA behavior along with chunking and dirty chunks and different cell behaviors and rules like gases, liquids, static objects, dissolving. Alongside basic terrain gen.

2
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…