@etaiami09-cmd on PSim - Particle Simulator
PSimUltimate Is Ready!
I made a particle simulator desktop application in C++ with heavy extension support.
Overview
PSimUltimate models real physics, but also allows you to inject your own behavior. Using a simple development API that even someone with no C++ experience can understand, you can create, compile and load your own custom modules to the simulator and watch the behavior you’ve coded in action. PSim even ships with 2 of these modules built into the binary, and 3 more modules that you can load dynamically.
PSimUltimate also comes with a very simple UI, one that anyone could be comfortable with within minutes.
How it works
PSimUltimate has documentation for creating your own modules, and compiling them is very simple with a few commands. You can then load the modules, and PSim knows how to run your module and follow its physics.
PSimUltimate is written in modern C++, using Raylib and Dear ImGui to provide a clean UI and good support in multiple platforms. While it only ships a Windows binary, you can easily follow the instructions in README.md to compile in other platforms.
How to try it
You can download the PSimUltimate installation wizard in this page . For more instructions and information, including information on support for other platforms, check out README.md in the source code.
Challenges I’ve faced
This project took a lot of effort to complete. It is the largest single solo project I have worked on since I started programming, and it included a lot of technical software design and infrastructure that I had to familiarize myself with, like dynamic libraries and using and altering 3rd party libraries (I altered portable file dialogs and Dear ImGui to suit my needs). I also had to deal with moving to a new computer, and then when that computer broke down due to a faulty motherboard, I had to move back to my old computer. I also started a full-time internship at a tech company. All that, coupled with some massive life changes, made it much harder to work on this project. But I enjoyed making it nonetheless, and I’m proud to show off what I’ve created.
- 16 devlogs
- 64h