fifty_world_engine 0.1.2
fifty_world_engine: ^0.1.2 copied to clipboard
Fifty Flutter Kit world engine - Flame-based interactive grid world rendering for Flutter games
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.2 - 2026-02-22 #
Fixed #
- Synced CHANGELOG.md with published version history (pub.dev compliance)
0.1.0 - 2025-12-30 #
Added #
- Initial release as fifty_world_engine (renamed from fifty_map_engine / erune_map_engine v0.3.1)
Core Components #
FiftyMapController- UI-friendly facade for map manipulationFiftyMapBuilder- FlameGame implementation with pan/zoom gesturesFiftyMapWidget- Flutter widget embedding the map
Entity System #
FiftyMapEntity- Data model for map entities with JSON serializationFiftyMapEvent- Event marker model with alignment optionsFiftyBlockSize- Tile-based size wrapperFiftyEntityType- Entity type enumeration (room, monster, character, door, furniture, event)FiftyEventType- Event type enumeration (basic, npc, masterOfShadow)FiftyEventAlignment- Event alignment enumeration (9 positions)
Component Classes #
FiftyBaseComponent- Abstract base for all entity componentsFiftyStaticComponent- Static entities (furniture, doors)FiftyMovableComponent- Movable entities with animation support- Movement:
moveTo,moveUp,moveDown,moveLeft,moveRight - Effects:
attack(bounce),die(fade out) - Sprite swap at runtime
- Movement:
FiftyRoomComponent- Room containers with child spawningFiftyEventComponent- Event markers and overlaysFiftyTextComponent- Text overlaysFiftyEntitySpawner- Factory for spawning components with custom type registration
Services #
FiftyAssetLoader- Asset registration and bulk loadingFiftyMapLoader- JSON loading and serializationFiftyMapLogger- Centralized logging
Utilities #
FiftyMapUtils- Position and rotation calculationsFiftyMapConfig- Grid configuration constants (64px block size)FiftyRenderPriority- Render layer priorities (background through uiOverlay)
Extensions #
FiftyMapEntityExtension- Entity cloning, position changes, type checksFiftyEventTypeExtension- Event type parsingFiftyEventAlignmentExtension- Alignment parsing
Camera Controls #
- Smooth pan with single finger drag
- Pinch-to-zoom anchored at midpoint (0.3x - 3.0x)
- Programmatic zoom in/out/reset
- Center on all entities or specific entity
Changed #
- BREAKING: Renamed package from
fifty_map_enginetofifty_world_engine - All classes renamed:
FiftyMapController->FiftyWorldController,FiftyMapWidget->FiftyWorldWidget,FiftyMapEntity->FiftyWorldEntity,MapConfig->WorldConfig,MapBuilder->WorldBuilder,MapLoaderService->WorldLoaderService - Platform plugins renamed accordingly
Platform Support #
- Android (com.fifty.map_engine)
- iOS (FiftyMapEnginePlugin)
- macOS (FiftyMapEnginePlugin)
- Linux (fifty_map_engine_plugin)
- Windows (FiftyMapEnginePlugin)
- Web (FiftyMapEngineWeb)
Naming Convention #
All classes renamed to FiftyXxx pattern:
- MapEngineController -> FiftyMapController
- MapBuilderGame -> FiftyMapBuilder
- GameMapWidget -> FiftyMapWidget
- MapEntityModel -> FiftyMapEntity
- MapEntityEventModel -> FiftyMapEvent
- BlockSize -> FiftyBlockSize
- EventType -> FiftyEventType
- EventAlignment -> FiftyEventAlignment
- BaseEntityComponent -> FiftyBaseComponent
- StaticMapEntityComponent -> FiftyStaticComponent
- MovableMapEntityComponent -> FiftyMovableComponent
- RoomComponent -> FiftyRoomComponent
- EventComponent -> FiftyEventComponent
- OverlayTextComponent -> FiftyTextComponent
- MapEntitySpawner -> FiftyEntitySpawner
- RenderPriority -> FiftyRenderPriority
- MapConfig -> FiftyMapConfig
- AssetLoaderService -> FiftyAssetLoader
- MapLoaderService -> FiftyMapLoader
- EruneMapEngineLogger -> FiftyMapLogger
- Utils -> FiftyMapUtils
