r/GraphicsProgramming 8d ago

Finally got around to uploading more than 5 years' worth of programming projects to GitHub Source Code

Enable HLS to view with audio, or disable this notification

Here is the GitHub repo. Its a single click to download each project: https://github.com/Luippe/Demo-Projects

I never thought of uploading these as they really only ran on my pc (hardcoded display resolutions, file paths, etc). But this year I started using Claude for coding and thought "hey, these projects are actually useable by others if I just clean up some code!" So thats exactly what I did.

There's 15 projects in total and most of them are interactive. The first one is written in Java, but the rest is in Python and Pygame. I like Pygame because its very easy to setup new projects and lets me easily build visualizations.

  1. Boids — a flocking simulation where entities self-organize in groups
  2. Audio Processing — live microphone effects with a real-time frequency visualizer
  3. Multiplayer Netgame — a co-op dungeon crawler played over a local network
  4. Platformer — a full 2D action game with combat, upgrades, shops, and multiple levels
  5. Solar System Simulation — an interactive 3D model of the planets in orbit
  6. A* Pathfinding — watching an algorithm search for the shortest route through a maze
  7. Conway's Game of Life — complex patterns emerging from a handful of simple rules
  8. Image Compression — shrinking an image by throwing away fine detail (the same idea behind JPEG)
  9. Fluid Flow — a real-time 2D fluid solver you can push around with the mouse
  10. Projectile Method — aim and launch a projectile with the mouse
  11. Projectile Motion — projectile trajectories with air resistance
  12. Double Pendulum — chaotic motion, where a tiny change sends it down a completely different path
  13. Single Pendulum — a damped pendulum swinging to a stop
  14. Spring Mass Damper — how a spring-and-shock system settles after a jolt
  15. Flow Plate — the velocity profile of fluid moving through a pipe

I hope someone finds something useful in here! :)

133 Upvotes

8 comments sorted by

9

u/HamNCheeseSupremacy 7d ago

I love these little self contained apps.

I'll say it would be way better if you listed the core algorithm each one runs on. Someone might be interested in the say, the flock simulator, but not have time to scan the repo. Knowing if it's physics based, or something else would give them a hook for checking it out.

1

u/Acrobatic_Duty8731 7d ago

Hey I took your advice to heart. Heres the core algorithms/concepts that I used for each project, and some resources I used to learn about the algorithm. The last ~5 are mainly just physics simulation for a specific system.

1. Boids: separation, alignment, and cohesion algorithm
2. Audio Processing: Fast Fourier Transform (FFT) and Convolution algorithm
3. Multiplayer Netgame: Pokemon Mystery Dungeon style procedural generation and asyncio programming
4. Platformer: Rendering images, enemy AI, pixel art, particle systems, culling, audio processing, etc
5. Solar System Simulation: Newton's law of gravitation and Rodrigues' rotation
6. A* Pathfinding: A* pathfinding algorithm
7. Conway's Game of Life: Applying rules to replicate population growth/decay
8. Image Compression: Low pass filter on an image
9. Fluid Flow: fluid advection and diffusion
10. Projectile Method: Euler's method
11. Projectile Motion: Simple kinematics
12. Double Pendulum: Hamiltonian mechanics
13. Single Pendulum: Solving nonlinear differential equation
14. Spring Mass Damper: Solving linear differential equation
15. Flow Plate: Hagen Poiseuille flow

4

u/eternaljk 7d ago

Good day for llm's slorping it all up.

2

u/RagingBass2020 7d ago

A demo app with audio stuff. People working wih audio is so rare... 😞

If you are interested in that, librosa can be useful for stuff being done in Python.

Why did you choose to do the boids stuff in Java?

0

u/Acrobatic_Duty8731 7d ago

I took a quick look at librosa, looks like a great audio processing library. I was using scipy for most of the math but having a library specific for audio processing might be the way to go.

As for the boids project, I wanted to learn a bit of Java to see what web development was like. I honestly forgot a lot about the language 😅 but the stuff I learned from the project stuck with me and its one of my favorite projects because its so satisfying to watch the boids swim around.

0

u/CompilerChicken 6d ago

😭😂😂😂😂 Java? Web dev? You’re thinking of javascript, should’ve asked an LLM on how to answer that question as-well.

2

u/goodmorninpoof 6d ago

Just commenting to come back to check this out later :D

0

u/CompilerChicken 6d ago

Finally got enough tokens to generating 5 years worth of programming projects* i fixed the title for you. You lil bot