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.
| Role | Name | |
|---|---|---|
| Developer & Researcher | Magallanes Lรณpez Carlos Gabriel | cgmagallanes23@gmail.com |
| Developer & Researcher | Barrรณn Pando Kevin Zaid | โ |
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.
| 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 |
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.
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
- 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 overheadfunctools.lru_cacheโ Memoization for expensive recursive functions
| 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 |
The research follows an adapted RAD (Rapid Application Development) methodology with 2-week iterative cycles. The data collection design is quantitative evaluative-experimental.
- 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
| 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 |
| 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 |
| 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 |
# Download the latest release
# Run directly โ no Python installation required
ModeX_Arcade_v1.6.exeAll 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 |
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
- ๐ Website: thenarratorvimmxx.github.io/ModeXArcade
- ๐ฆ Releases: github.com/TheNarratorVIMMXX/ModeXArcade/releases
- ๐ง Contact: cgmagallanes23@gmail.com
โญ A modular Python arcade system that proves interpreted languages can achieve professional-quality 2D game performance without commercial engines.
