Skip to content

netgfx/Arcus-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Arcus Engine

A game engine made with Dart and Flutter, based mainly on Canvas/Custom-Painter




Todo

βœ”οΈ (done) ❗ (important) πŸ§ͺ (needs testing) ❌ (problem) 🚩 (revisit) πŸš€ (launch) πŸ”¨ (fix) πŸ‘Ύ (bug) 🏭(in progress)

Release v0.1

  • Custom events on canvas elements 🏭 (click is working, need to support drag also and hover)
    • check effects to use centered pos when clicked (could be a self property like useCenterPosition=true)
  • keyboard events (https://api.flutter.dev/flutter/widgets/KeyboardListener-class.html)
  • Depth sorting βœ”οΈ
    • Event honoring depth, so only first is supported βœ”οΈ
    • Make drag event
  • Tweens 🏭
    • Add enumerable properties e.g (x, y) or make it read dot notation
    • Tween working with item Id now (so all items should have an id)
  • Sprite rotation
  • Pooling 🚩
  • port Arcade physics ❗
    • Simple physics 🏭
    • generalize the collision 🏭
    • fix collide with bounds βœ”οΈ
  • create master Sprite class for all game objects to inherit basic properties via mixin βœ”οΈ
  • Sprite cache βœ”οΈ
  • loader class for all assets βœ”οΈ
  • audio (https://pub.dev/packages/just_audio) 🏭
    • Basic sound playback, working βœ”οΈ
    • Need to add repeating background sound πŸ§ͺ
    • Might need some preloading work or cache
    • Add global mute πŸ§ͺ
  • Shapes βœ”οΈ
  • Group component 🏭
  • Plugin template 🏭
  • Proper tilemap and culling
  • Autoscroll tile-sprite
  • Particles 🏭
  • Camera 🏭
    • need to test with scrolling sprite (WIP)
    • need to test moving sprite
  • Get name for library... ❗
    • Arcus βœ”οΈ

Sample games for v0.1

  • whack a mole
  • auto-runner
  • Bullet-hell
  • Arcanoid

About

A Dart game engine based on Flutter Canvas and Custom Painter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages