Skip to content

gutioliveira/FGAme

 
 

Repository files navigation

image

image

FGAme is a physics-based game engine for Python 3. Its aims to avoid boilerplate and to be so easy that even a child can play with it (and learn how to program with it!). Check this pong implementation:

from FGAme import *

# A 10px margin to keep things on the screen
world.add.margin(10)

# Create a ball in the middle of the screen. We also add some random speed
ball = world.add.circle(20, pos=pos.middle, color='red') 
ball.vel = vel.random()

# Create both players as AABBs (axis aligned bounding boxes). Infinite 
# masses prevent them from moving when hit by the ball
p1 = world.add.aabb(shape=(20, 120), pos=(30, 300), mass='inf')
p2 = world.add.aabb(shape=(20, 120), pos=(30, 300), mass='inf')

# Connect long press events with the correct functions
on('long-press', 'w').do(p1.move, 0, 5)
on('long-press', 's').do(p1.move, 0, -5)
on('long-press', 'up').do(p2.move, 0, 5)
on('long-press', 'down').do(p2.move, 0, -5)

# Start main loop
run()

FGAme currently requires Pygame to run. We have plans to make it backend agnostic and in the future it will support SDL2, Kivy, Qt and maybe others.

About

A simple 2D game engine for Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Shell 0.2%