A browser-based game engine and editor for creating 2D pixel-perfect games. Built with HTML5 Canvas API, LightSeeker provides an intuitive interface for game development with no coding required.
lightseeker/
├── scripts/
│ ├── core/ # Core engine systems
│ │ ├── engine.js # Main game engine (canvas, loop, scene management)
│ │ ├── collision.js # Collision detection system
│ │ └── input.js # Input handling (keyboard, touch)
│ ├── entities/ # Game object implementations
│ │ ├── base/
│ │ │ ├── gameObject.js # Base class for all game objects
│ │ │ └── sprite.js # Sprite system for animations
│ │ └── characters/
│ │ └── player.js # Player character implementation
│ └── modes/ # Game modes
│ ├── play/
│ │ └── playMode.js # Gameplay mode
│ └── edit/
│ └── editMode.js # Map editor mode
├── assets/ # Game assets (images, sprites)
└── styles/ # CSS stylesheets
- Canvas management and game loop
- Scene management system
- Debug mode with performance monitoring
- Responsive canvas scaling
- Game object lifecycle management
- Base class for all game entities
- Collision detection integration
- Debug visualization support
- Movement and position management
- Flexible update/draw lifecycle
- Animation management
- Support for SVG and bitmap sprites
- Component-based character customization
- Z-index layering system
- Frame-based animation control
- Character movement and animation
- Stats and inventory systems
- Equipment management
- Quest tracking
- Combat mechanics (damage/healing)
- Gameplay scene management
- Player instance management
- Collision testing environment
- Game state save/load system
- Pause functionality
- Grid-based map editor
- Multi-layer editing system
- Tool system (paint, erase, select)
- Undo/redo functionality
- Copy/paste operations
- Selection tools
- Grid visualization
- Pixel-perfect rendering with HTML5 Canvas
- Debug mode with performance monitoring
- Scene management system
- Collision detection
- Input handling (keyboard/touch)
- Frame-based animations
- SVG support
- Component-based customization
- Dynamic sprite composition
- Grid-based placement
- Multi-layer management:
- Ground layer
- Object layer
- Event layer
- Editing tools:
- Paint/erase
- Selection tools
- Copy/paste
- Layer visibility controls
- Vector-based movement
- Animation states
- Inventory system
- Equipment management
- Stats system
- Quest tracking
- Clone the repository
- Open
index.htmlin a modern web browser - Use the mode switcher to toggle between Play and Edit modes:
- Play Mode: Test your game with keyboard or touch controls
- Edit Mode: Create and modify maps with the built-in editor
The project is actively under development. Current focus areas:
- Enhanced sprite animation system
- Advanced collision detection
- Map save/load functionality
- UI improvements
- Mobile touch controls optimization
See TASKS.md for detailed development progress.
This project is licensed under the MIT License - see the LICENSE file for details.