Jesper Falkenby

Résumé
Publications
Physically-based fluid-particle systems using DirectCompute for use in real-time games
Blekinge Institute of Technology • November 3, 2014 • Bachelor's thesis
This thesis ultimately tries to provide the reader with a well-performing and scalable fluid-particle system simulated in real-time using a great number of particles. The fluid-particle system implements two different fluid physics models for diversity and comparison purposes. The fluid-particle system will then be measured for each fluid physics model and provide results to educate the reader on how well the performance of a fluid-particle system might scale with the increase of active particles in the simulation. Finally, a performance comparison of the particle scalability is made by completely excluding the fluid physics calculations and simulate the particles using only gravity as an affecting force to be able to demonstrate how taxing the fluid physics calculations are on the GPU.
The fluid-particle system has been run using different simulation scenarios, where each scenario is defined by the amount of particles being active and the dimensions of our fluid-particle simulation space. The performance results from each scenario has then been saved and put into a collection of results for a given simulation space.
The results presented demonstrate how well the fluid-particle system actually scales being run on a modern GPU. The system reached over a million particles while still running at an acceptable frame rate, for both of the fluid physics models. The results also shows that the performance is greatly reduced by simulating the particle system as a fluid-particle one, instead of only running it with gravity applied.
With the results presented, we are able to conclude that fluid-particle systems scale well with the number of particles being active, while being run on a modern GPU. There are many optimizations to be done to be able to achieve a well-performing fluid-particle system, when developing fluid-particle system you should be wary of the many performance pitfalls that comes with it.
About
Born 1992 in Gothenburg, Sweden. Computers have always been part of my life, and it all started with the legendary Amiga.
My passion for video games got me into programming in high school. I studied programming and game development, and I was introduced to languages such as Java and C++.
After high school I decided to study for a Bachelor's degree in Computer Science at Blekinge Institute of Technology in Karlskrona, Sweden. I was taught all the fundamentals of software development; software architecture and design, agile software development, advanced programming, software testing, and more. In the final year, I worked with six other students to develop a large scale game from the ground up. My role was to lead the development of the computer graphics engine.
I later moved to Uppsala for a Master's degree in Computer Science from Uppsala University. I was taught a wide range of Computer Science subjects such as Machine Learning, Artificial Intelligence and Parallel Programming. The second year, I got the opportunity to study abroad for one semester which I did not hesitate to take. I chose South Korea, to study Computer Science at Seoul National University, and this was an incredible experience.
After my semester in South Korea, I was writing my Master's thesis at King, the makers of Candy Crush. Finishing the thesis was a lot of hard work, but it turned out to be a very rewarding experience.
I started my professional career as a Systems Developer at Retriever. I was doing front-end work in JavaScript and React, and back-end work in Java.
I am currently working as a Full-Stack Developer at Kambi in Uppsala. I have been part of a wide variety of projects. I have been doing lots of DevOps work with AWS and Terraform, front-end work in JavaScript and TypeScript, back-end work in Java and Kotlin, as well as Node.js.