CodeNewbie Community 🌱

artyom7777
artyom7777

Posted on

Game Engine 3 — A Shell for Visual Game Programming in Python

Application development made easier, more powerful, and more visual

Hello! Today I want to tell you about my project — “Game Engine 3”, a software shell for creating 2D games and applications.

Introduction

Game Engine 3 is a tool for creating 2D games with physics and animation. Being open-source, featuring an intuitive visual programming editor based on nodes, and offering capabilities for working with graphics, physics, and animation, it is suitable for both beginners and professionals. It allows you to create applications without writing code, thanks to a convenient and understandable interface. This article will explore what makes this shell unique.

Project Technical Details

The Game Engine 3 shell was created using the Python programming language, as well as Cython for optimization (which allows working with a Python-like language while having strictly typed variables, resulting in higher performance).

Architecture:

  • The Game Engine, which provides sprite rendering, collision handling, physics, animations
  • The Shell, which allows project creation.
  • The Website, which hosts documentation on using the shell.

Game engines are the heart of any modern game. They determine how quickly and conveniently developers can bring their ideas to life. The Game Engine 3 shell has its own physics engine, which implements collision detection (object contact) and object interaction (the ability for one object to move others). The rendering system uses Pygame's capabilities to draw graphics on the screen. Sprites and textures are implemented using Pillow's features.

The shell has its own editors for objects (changing their parameters), scenes (the ability to add objects and assign them specific properties), and functions (allows writing programs using nodes).

On the project support website https://artyom7777.pythonanywhere.com you can find information about the shell, descriptions of nodes and functions.

Downloading and Launching the Program

The shell is intended for writing applications on Windows (fully operational) and Linux (in beta testing). You can download the program from the https://artyom7777.pythonanywhere.com.

Extract the archive and run "Game Engine 3.exe".

Creating First Project

On the program's initial screen, there are 3 menu tabs: File, Project, and Help. In the File tab, you can create and open a project (And also a create project from the template), as well as create a project from a template.

Project and Collision Settings

After opening a project, on the left you are greeted by the project directory panel. The "project.cfg" file contains the main project settings: window size, title, and icon, setting max FPS and TPS, fullscreen mode, and the initial scene. In the "collision.cfg" file, you can set collisions between different groups of objects.

Files, Objects, Scenes, Functions

The program allows you to create objects, scenes, and functions. In objects, you can change their parameters, configure hitboxes, sprites, and animations. A scene allows adding objects and setting which object the camera will be attached to. Functions are an editor, written in nodes, that allows creating various algorithms.

Physics

There are four types of objects: Static, Dynamic, Kinematic and Particle. The parameters of dynamic objects include velocity, jump force, gravity, and braking force. Each object also has mass, which is used for interactions between objects. These properties allow for creating good physics and interesting games.

A kinematic object, unlike a dynamic object, can be moved using kinematic objects.

Animation

Let's focus on animations. In the animation editing menu, you can create groups. Each group has its own sprites that will be played during the animation. There are also settings for each animation group: whether it will loop, its speed, and whether the animation will start immediately when the scene begins.

Node Editor

Let's focus on Functions, which are presented as an editor where you can create nodes and connect their inputs and outputs to write various algorithms. For example, you can make the text "Hello World!" appear in the console when the game starts. Nodes are divided into categories: Events, Loops, Working with Text, Numbers, Logic, Objects, Animations, Other, Working with Lists and Dictionaries. More than 80 nodes are currently implemented. It's also worth mentioning the node that allows writing code in Python.

Created Projects

Several simple projects (Google Dino, Snake, and a Platformer) have been implemented using the Game Engine 3 shell to demonstrate the product's capabilities. These examples are published in a separate repository on GitHub.

Advantages

  • Ability to create games and applications without writing textual code.
  • Convenient editor and simple interface, easy for beginners to understand.
  • A website hosting information about the engine and a guide for creating your first project.

Future Plans

  • Ability to write shaders.
  • Ability to create projects for Linux, iOS, Android, Web.
  • New nodes to increase the editor's functionality.
  • Ability to create sprites within the engine.

Conclusion

Game Engine 3 is project for 2D games (applications) developments. With its node-based editor, powerful physics, and flexible animation system, it reduces time spent on routine tasks, allowing you to focus on creativity. Try the engine in action — it might become your new favorite.

Links:

Thank you for your attention! If you have any questions — please share them in the comments

Top comments (6)

Collapse
 
lilyfloori profile image
joli

That’s such a fascinating project! I love how Game Engine 3 simplifies 2D game development using a visual approach — it reminds me of how creativity and simplicity can make complex tasks enjoyable. I’m not a game dev myself, but I do work with food content creation, and this type of user-friendly interface gives me similar inspiration when I design layouts and visuals for my site.

If you ever need a break from coding, check out some delicious ideas I’ve been sharing at Menu
it’s all about Chipotle’s secret recipes, menu hacks, and flavor inspiration. It might give you some “fuel” for your next creative project!

Collapse
 
proseosolution7sketch profile image
proseosolution7-sketch

That sounds like an impressive and well-structured project — combining Python, Cython, and a node-based visual editor really makes Game Engine 3 stand out as an accessible yet powerful framework for 2D development. The inclusion of built-in physics, animation, and scene management tools is especially valuable for both indie creators and beginners who want to learn game design without deep coding. You can explore more insights, resources, and similar development ideas here

Collapse
 
3pattino1 profile image
ALIRAZA

Really insightful post — I like how Game Engine 3 simplifies the visual programming workflow while keeping Python’s flexibility intact. It’s inspiring to see such tools evolve for indie developers. I’ve been exploring similar concepts in my own project, card game3pattino1
, and found that visual scripting can make prototyping game logic much faster.

Collapse
 
essohy profile image
Essohy • Edited

I'd love to read more about how you handle collisions internally. hypackel

Collapse
 
ebeth2649prog profile image
ebeth2649-prog

Really insightful post I like how Game Engine and It is really nice to such tool. I have been working on the same concepts one project. You cab have a look here.

Collapse
 
hypackel777 profile image
Hypackel

Thanks for sharing this amazing tool, i will try to create new game today to publish on hypackel.online

const modalMarkup = `
`; // 2. Append the markup string to the end of the document body document.body.insertAdjacentHTML('beforeend', modalMarkup);