/ewge

Primary LanguageJavaScriptMIT LicenseMIT

EWGE - Emoji-based Web Game Engine

EWGE is a comprehensive web-based 2D game engine that uses emojis for all graphics. It provides a complete framework for creating, editing, and playing games with emoji-based visuals, grid-based maps, inventory systems, turn-based battles, and more.

🎮 Features

Emoji-Based Graphics System

  • Uses standard Unicode emojis for all game graphics
  • Supports emoji rendering across all major browsers and platforms
  • Allows combining emojis to create more complex visuals
  • Supports emoji animations through sequence transitions
  • Includes a comprehensive emoji picker/selector in the editor

2D Grid-Based Map System

  • Implements a tile-based grid system with configurable dimensions
  • Supports multiple layers (background, collision, event, sprite, GUI)
  • Allows each grid cell to contain multiple emoji elements across different layers
  • Includes camera controls for scrolling through larger maps
  • Supports map transitions and connections between different map areas

Inventory System

  • Implements a flexible inventory data structure
  • Creates a customizable inventory UI using emojis
  • Supports item collection, usage, combination/crafting, equipping, and categorization
  • Includes inventory sorting and filtering options

Turn-Based Battle System

  • Implements a Pokemon-style turn-based battle system
  • Supports character stats, move selection, status effects, battle items, and escape mechanics
  • Creates battle animations using emoji transitions
  • Includes AI for enemy behavior in battles

Save/Load System

  • Implements game state serialization and deserialization
  • Supports multiple save slots and auto-save functionality
  • Stores save data using browser localStorage or optional cloud storage

Web-Based IDE

  • Provides a comprehensive web-based IDE similar to Bitsy or RPG Maker
  • Includes map editor, emoji asset manager, event editor, character editor, and more
  • Implements a user-friendly interface with drag-and-drop functionality
  • Includes real-time preview capabilities

Add-On System

  • Creates an event-driven architecture for add-ons
  • Supports JavaScript-based add-on development
  • Includes an add-on manager in the IDE

🚀 Getting Started

Coming soon - The engine is currently in early development.

📖 Documentation

Coming soon - Comprehensive documentation will be available as the project develops.

🛠️ Development

EWGE is built with modern JavaScript and follows functional programming principles and object composition patterns. The project adheres to strict engineering standards for code quality, performance, and accessibility.

Technology Stack

  • Vanilla JavaScript (ES2020+)
  • Native browser APIs
  • Minimal build tools

Architecture

  • Modular, component-based architecture
  • Functional programming paradigms
  • Object composition over inheritance

📅 Roadmap

See the tasks.md file for a detailed breakdown of planned features and implementation tasks.

📝 Changelog

See the CHANGELOG.md file for a history of changes to the project.

📜 License

This project is licensed under the MIT License - see the LICENSE.md file for details.

👨‍💻 Author

Andrew Wooldridge