Lövie (pronounced like "love-ee") is an interactive showcase of LÖVE framework features and techniques, organized into categories for easy reference when creating games.
- LÖVE version 11.4 or later
-
Clone this repository:
git clone https://github.com/drewnix/lovie.git -
Run the project with LÖVE:
cd lovie love .
Alternatively, you can download a release and run it directly.
Lövie is organized into categories with various demos:
- Basic Drawing: Demonstrates fundamental drawing operations (shapes, colors, lines)
- Documentation: Guide to creating your own scenes and extending the framework
- Animations: Various animation techniques including tweening and transforms
- Particles: Visual effects using LÖVE's particle system
- Shaders: GLSL shader examples and effects
- Audio: Sound generation and manipulation techniques
- Physics: Showcases Box2D physics integration with interactive objects
- Camera Systems: Different camera behaviors and effects
- Resolution Management: Handle different screen sizes and resolutions
More demos are being added regularly. Check the roadmap for planned additions or add your own scenes using the tools described below.
A Makefile is included for common tasks:
make run # Run the project
make package # Create a .love file for distribution
make clean # Clean up temporary files
make new-scene name=scene_name category=Type # Create a new scene in specified category
make remove-scene name=scene_name # Remove a scene
Lövie includes a dynamic scene loading system that makes it easy to add new demonstrations:
-
Use the
make new-scenecommand to create a scene template:make new-scene name=my_cool_feature category="Graphics" -
This creates a new scene file in the
scenesdirectory and registers it in the configuration. -
Edit the new scene file to implement your demonstration.
-
Run the project, and your scene will automatically appear in the menu under the specified category.
Scenes are organized into categories for easier navigation:
- Basics: Fundamental LÖVE features and documentation
- Graphics: Visual effects, animations, and rendering techniques
- Audio & Input: Sound and user interaction examples
- Systems: Architecture and management systems
- Debug: Testing and diagnostic tools
You can add your own categories by editing the config/scenes.lua file.
Lövie now features a dynamic scene loading system:
- Scenes are loaded automatically from the
scenes/directory - Scene configuration is managed in
config/scenes.lua - New scenes can be added without modifying
main.lua - The menu system organizes scenes by category
- Multi-column layout with scrolling for handling many scenes
- Responsive menu adapts to window size
- Multi-column layout shows more scenes at once
- Scene filtering with search functionality
- Categorized scene organization
- Visual styling with category colors
See the ROADMAP.md file for the planned demo additions and features.
Contributions are welcome! Please feel free to submit a Pull Request.
- Create a new scene using
make new-scene - Implement your feature or demonstration
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.