Skip to content

Latest commit

 

History

History
79 lines (58 loc) · 2.75 KB

README.md

File metadata and controls

79 lines (58 loc) · 2.75 KB

Floppy Sticks Logo

< Installation | Features | Requirements >
< How to Play | Extra >

Floppy Sticks

1. Description

Floppy Sticks is a 2D puzzler inspired by a numerical method used to integrate Newton's equations of motion.
Despite the silly name....
Floppy Sticks emits a rather relaxing and statisfying atmosphere when playing.

2. Installation

3. Features

  • Start Menu ▶️
  • Tutorial 🎯
  • Visual Effects ✨
  • Dynamic Background 🌀
  • Notifications 🔔
  • Music & Sound 🎵

4. How to play

The goal of the game is to convert all the given points into dynamic points. There exist 3 types of points (clickable, dynamic, static) in the game, which are represented by differently coloured circles.

  1. Clickable Clickable
    • Initially they are static and don't move. However when clicked they turn into dynamic circles.
  2. Dynamic Dynamic
    • On conversion, they become affected by gravity and will begin to fall.
  3. Static Static
    • Spends most its life locked in place, the only way to convert it into a dynamic circle is to knock it with a dynamic circle.

5. Requirements

  • Python >= 3.10
  • Pygame >= 2.0

6. Extra

If you come from a Game Developement background, you've probably heard of Euler Integration. This is a numerical method that is used very often for movement in games. This method is by far the simplest and easiest to implement. However up to a point this method becomes very inaccurate when using larger more precise numbers. This is why Floppy Sticks makes use of Verlet Integration. Verlet allows for more accurate and realistic movement.

Here is an example of how you implement both integrations.

# Euler Integration
position = position + velocity
# Verlet Integration
velocity = position - last_position
last_position = position
position = position + velocity

This creates surprisingly realistic behaviour.

7. Credits

8. License

Floppy Sticks is licenced under an MIT licence.