Skip to content

red-dragon65/SuprSeed

Repository files navigation

SuprSeed Engine Logo Banner


SuprSeed is a light weight 2D Android game development framework. SuprSeed offers flexibility and modularity, allowing it to become the foundation for mobile games, custom game engines, as well as UI driven applications.

The frameworks architecture is built following SOLID principles and Design Patterns. As a result, any component of the Core package can be swapped out to a custom implementation using the EngineConfigurator (which handles the engines dependency injection). The framework also comes with a library Lib package that offers default classes to help provide a starting point for creating games. This allows the framework to be used 'as is' or to be customized as needed.

For creating games, the engine uses scenes which can contain sub-scenes or sprites. Each sprite can then be configured using components and shared data. This creates a separation of concerns which reduces code complexity, and increases code reusability.


Some of the engines Core features are:

  • Hardware accelerated drawing of bitmaps
  • Bitmap resolution scaling across different screen sizes
  • Coordinate scaling
  • Logic tick rate / Screen refresh rate scaling
  • Touch screen input handling
  • Scene management

The engines Lib features are:

  • Sound effects player
  • Image loading utilities
  • Collision handling
  • Font wrapper

Progress

Current Status:

  • v1.0.0 has been completed with various major and minor changes
  • See the release notes here

Expected changes to come in next version

  • Features / improvements
    • Effects emitter utility
    • Engine Fps counter
    • Asset streaming for lazy loading sprite images
    • Loading screens that animate in and out on scene changes
    • Animation playback estimation rather than hard coded playback speeds
    • Allow in frontof / behind api to LayerHandler
    • Seperation of scene management from engine core package
  • Github management
    • Build automation (ci/cd pipeline, unit tests, automated releases)
    • Docs (api docs, getting started docs)

Future wish list for project

  • Multi-platform support and optimization improvements
    • Interpolated rendering
    • Multi-threaded job queue
    • Realtime automated rendering configuration
    • Physics engine
    • Possible language migration
    • Texture streaming and shader support
    • Dynamic internal resolution scaling
    • Possibly use SDL3 as an engine backend
    • Scripting support for pre-fabs

Project Usage

Please follow the guide on the SuprSeed_Starter Github Repo

  • You can download the starter to start using the SuprSeed engine
  • Alternatively, you can follow the guide to manually setup a project with the SuprSeed dependency

GameDemo Asset Info

All assets used in the game demo came from Itch.io

Background

Hero

Enemies

Font

Sounds

Music

Assets are stored under the default project folders:

  • Images: app/src/main/assets/Images
  • Font: app/src/main/res/font
  • Sound: app/src/main/res/raw