• Home
  • My Work
    • Strategy/Simulation Demo
    • City Generator
    • Root Wars - GGJ2023
    • Unreal 4 slice
    • Unity slice
    • Simple 2D platform game
    • Angry Birds
    • Physics Simulation
    • Pong
    • Space Invader
    • Breakout
    • Whack A Walrus
    • 3D Animation
  • CV
  • Contact
  • More
    • Home
    • My Work
      • Strategy/Simulation Demo
      • City Generator
      • Root Wars - GGJ2023
      • Unreal 4 slice
      • Unity slice
      • Simple 2D platform game
      • Angry Birds
      • Physics Simulation
      • Pong
      • Space Invader
      • Breakout
      • Whack A Walrus
      • 3D Animation
    • CV
    • Contact
  • Home
  • My Work
    • Strategy/Simulation Demo
    • City Generator
    • Root Wars - GGJ2023
    • Unreal 4 slice
    • Unity slice
    • Simple 2D platform game
    • Angry Birds
    • Physics Simulation
    • Pong
    • Space Invader
    • Breakout
    • Whack A Walrus
    • 3D Animation
  • CV
  • Contact

N-Body simulation in 2D

This is a long-form text area designed for your content that you can fill up with as many words as your heart desires. You can write articles, long mission statements, company policies, executive profiles, company awards/distinctions, office locations, shareholder reports, whitepapers, media mentions and other pieces of content that don’t fit into a shorter, more succinct space.


Language: Python

IDE: PyCharm


Please see the codebase on GitHub (Naive / Barnes-Hut)


Back to the Portfolio

Naïve- approach

This version calculates all the gravitational forces from each objects, then calculates the movement vector for each body.

Barnes-Hut algorithm

Applying the Barnes-Hut algorithm by creating a quad-tree to the same simulation. This solution was able to simulate the movement of ~20% more bodies without a loss of frame rate.

Copyright © 2022 Norbert Kupeczki - Game Developer Portfolio

All Rights Reserved.

  • Privacy Policy

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

DeclineAccept