Skip to content

Latest commit

ย 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

es

๐ŸŽฎ ModeX Arcade

Python Pygame Arcade Games FPS Sessions Architecture Version Contest

A modular arcade system developed in Python using the Pygame and Arcade libraries. ModeX integrates four 2D games with different mechanics into a single standalone executable, validating that Python can achieve stable 60 FPS on conventional hardware without commercial engines.


๐ŸŽฌ Preview

ModeX Arcade Preview

๐Ÿ‘จโ€๐Ÿ’ป Team Information

Role Name Email
Developer & Researcher Magallanes Lรณpez Carlos Gabriel cgmagallanes23@gmail.com
Developer & Researcher Barrรณn Pando Kevin Zaid โ€”

๐ŸŽฏ Project Description

ModeX Arcade is a technology research project that answers one central question:

Is it technically feasible to develop professional-quality 2D games in Python with open-source libraries, achieving stable 60 FPS on conventional hardware?

The answer, backed by data from 75 playtesting sessions, is yes.

The system integrates four games across different genres โ€” racing, platformer, fighting, and co-op shooter โ€” all sharing a common modular architecture, an automatic performance measurement system, and a standalone executable that requires no Python installation.


๐Ÿ•น๏ธ Games

Game Genre Library
๐ŸŽ๏ธ Neon Rush Top-down racing Arcade
๐ŸŒŒ Cosmic Odyssey 2D platformer Arcade
โš”๏ธ The Ghost Tsushima 1v1 fighting Pygame
๐ŸงŸ The Past Z Co-op zombie shooter Pygame

๐Ÿ“Š Performance Results

Results from 75 playtesting sessions (25 per game) on an Intel Core i5-8th gen., 8 GB RAM, Intel UHD 630:

Game Avg FPS Median FPS Std Dev Frame Drops
Fight 60.41 60.45 0.75 0.00%
Platformer 58.75 58.79 1.05 0.21%
Racing 58.10 58.10 1.20 2.90%*

*Racing drops are exclusively from synchronous level-transition loading spikes (~2,237 ms and ~2,791 ms). The median in normal conditions is 58.10 FPS.

Memory: Constant 50 MB RAM across all games and sessions. 0 memory leaks detected.


๐Ÿ”ง Architecture & Optimizations

ModeXArcade/
โ”œโ”€โ”€ main.py                  โ† Entry point
โ”œโ”€โ”€ utils/
โ”‚   โ”œโ”€โ”€ singleton.py         โ† Singleton metaclass
โ”‚   โ”œโ”€โ”€ paths.py             โ† Absolute path resolution
โ”‚   โ””โ”€โ”€ colors.py            โ† Color constants
โ”œโ”€โ”€ games/
โ”‚   โ”œโ”€โ”€ neon_rush/           โ† Racing game (Arcade)
โ”‚   โ”œโ”€โ”€ cosmic_odyssey/      โ† Platformer (Arcade)
โ”‚   โ”œโ”€โ”€ ghost_tsushima/      โ† Fighting game (Pygame)
โ”‚   โ””โ”€โ”€ the_past_z/          โ† Shooter (Pygame)
โ”œโ”€โ”€ assets/                  โ† Shared assets
โ””โ”€โ”€ state/                   โ† SQLite persistence

Key optimizations applied

  • Object pooling โ€” Reuse of bullet and particle instances
  • Sprite batching โ€” Grouping draw calls to reduce GPU trips
  • Spatial culling โ€” Skip update/render of off-viewport entities
  • Spatial hashing โ€” Avoid redundant collision calculations for static objects
  • __slots__ โ€” Fixed-size attribute storage eliminating per-instance dict overhead
  • functools.lru_cache โ€” Memoization for expensive recursive functions

๐Ÿ† Contest Results

Contest Date Version Result
Local Prototype Contest (DGETI) Nov 25โ€“26, 2025 v1.2 ๐Ÿฅˆ 2nd Place โ€” Software
State Contest 26-AS3414 Mar 11โ€“13, 2026 v1.5 ๐Ÿฅ‰ 3rd Place โ€” Software
TecMilenio Hackathon Apr 22, 2026 v1.6 ๐Ÿฅ‰ 3rd Place โ€” STEAM

๐Ÿงช Methodology

The research follows an adapted RAD (Rapid Application Development) methodology with 2-week iterative cycles. The data collection design is quantitative evaluative-experimental.

Metrics collected per session (every 2 seconds, automatically)

  • Instantaneous / average / historical minimum FPS
  • FPS 1st and 99th percentiles
  • FPS standard deviation
  • Frame time (ms)
  • RAM consumption
  • Garbage collector (GC) data
  • Active entity count
  • Estimated draw calls
  • Consecutive frame drop frequency

๐Ÿ’ก Value Proposition

Aspect ModeX Unity Unreal Engine
Software cost $0 MXN License required License required
RAM requirement 8 GB 8 GB (min) 32 GB (recommended)
Install size 250 MB Several GB Several GB
Learning curve Low (Python) Mediumโ€“High High
Replicability Full documentation Limited Limited

๐Ÿ› ๏ธ Tech Stack

Technology Version Purpose
Python 3.11.4 Base language
Pygame 2.6.1 Fighting & Shooter games
Arcade 3.3.2 Racing & Platformer games
Tiled Map Editor โ€” Level design (TMX)
SQLite Built-in Score and state persistence
PyInstaller โ€” Standalone .exe packaging
Pytest โ€” Unit testing

โš™๏ธ System Requirements

Component Minimum
Processor Intel Core i5 (8th gen.) or equivalent
RAM 8 GB
Graphics Intel UHD 620/630 or equivalent integrated GPU
Storage 250 MB
OS Windows 10 / 11

โ–ถ๏ธ How to Run

# Download the latest release
# Run directly โ€” no Python installation required
ModeX_Arcade_v1.6.exe

๐Ÿ“š Documentation

All documents are available on the project website.

Document Description
๐Ÿ“Š Research Document 75-session performance analysis and hypothesis validation
๐Ÿ”ง Technical Documentation System architecture, design patterns, UML diagrams (26 pages)
๐Ÿ“– User Manual Complete gameplay guide and controls
โš™๏ธ Installation Manual Setup, requirements, and troubleshooting
๐Ÿ““ Binnacle Chronological development log

๐Ÿ“ˆ Development Timeline

Feb 2025  โ†’ Algorithms, flowcharts and C++ foundations
Apr 2025  โ†’ Zhyniria: first game (C++, class project)
Sep 2025  โ†’ ModeX v1.0: Singleton, logging, utils, Neon Rush
Oct 2025  โ†’ ModeX v1.1: Cosmic Odyssey, The Ghost Tsushima
Nov 2025  โ†’ ModeX v1.2: The Past Z, first .bat executable
Nov 2025  โ†’ ๐Ÿฅˆ Local Contest: 2nd Place
Dec 2025  โ†’ ModeX v1.3: SQLite, redesigned views, resizable window
Jan 2026  โ†’ ModeX v1.4: Global performance optimizations
Feb 2026  โ†’ ModeX v1.5: 75 playtesting sessions, .exe, full docs
Mar 2026  โ†’ ๐Ÿฅ‰ State Contest: 3rd Place
Apr 2026  โ†’ ModeX v1.6 โ†’ ๐Ÿฅ‰ TecMilenio Hackathon: 3rd Place STEAM

๐Ÿ”— Links


โญ A modular Python arcade system that proves interpreted languages can achieve professional-quality 2D game performance without commercial engines.

About

A 2D arcade videogame with four games implemented using Python, specifically the specialized 2D Arcade and Pygame libraries. The game genres are racing, adventure, fighting, and shooting.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors