DEV Community

Nathan C.
Nathan C.

Posted on

I’ve Been Building a Python Game Engine

I’ve been working on a project called ABS Engine, a Python game engine focused on keeping projects simple and organized.

Instead of making developers write massive setup code, games are mostly controlled through a project file called game.absp.

It can define things like:

  • entities
  • connected scripts
  • image assets
  • fullscreen settings
  • resolution
  • cursor visibility

Example idea:

Player entity
→ script: scripts/player.py
→ texture: data/images/player.png

Game settings:
→ fullscreen enabled
→ cursor hidden
→ resolution: 540x320

Scripts can still access the engine API directly using:

from engine.core import *
Enter fullscreen mode Exit fullscreen mode

The goal is making game projects easier to structure while still giving advanced users full access to the engine itself.

I’m also working on build tools so projects can be packaged and shared easily without manually hunting for dependencies and assets.

Still early in development, but it’s been one of the most fun programming projects I’ve worked on.

Top comments (0)