-
Notifications
You must be signed in to change notification settings - Fork 0
Future Work
Allow designers to change the collision size of players and enemies directly from the Asset Manager. This provides greater control over gameplay balance while allowing the selected hitbox to be previewed before being applied.
- Three selectable hitbox sizes: Small, Medium, and Large.
- Separate hitbox resources for players and enemies.
- Live preview of the selected hitbox inside the Asset Manager.
- Preview remains aligned with the entity sprite by matching the collider transform.
- Option to toggle the preview on or off.
- Changing a hitbox updates every instance of that entity.
- Raycasts automatically adapt to different hitbox sizes.
- Hitboxes are implemented using reusable
RectangleShape2Dresources.
Expand the goal system beyond simply reaching the exit by allowing designers to define custom objectives for each goal. Different goals can require different tasks before they become usable.
- Goal type selectable through the Goal property menu.
- Supported goal types:
- Collect a specified number of coins.
- Defeat a specified number of enemies.
- Complete the level within a time limit.
- Goal-specific properties appear based on the selected type.
- Incomplete goals appear visually greyed out.
- Attempting to use an incomplete goal displays its requirements.
- Level objectives are shown when gameplay begins.
- Goal properties are saved and loaded with the level.
- Timer-only levels automatically fail if all timer goals expire.
- Optional custom goal names displayed on the completion screen.
Add more to the global settings menu to increase user accessibility.
- Auto Saving with a control for how often it should occur
- Language, adding in Spanish would be the first thing
- Colourblind mode toggle
- Changes the textures on the default tiles to make it clearer which is which (Adding symbols to them would work)
- Resolution Changing
- Themes / Light and Dark Mode
- Units of Measurement
- Imperial / Metric
Allow each level to use a customizable background selected through the Asset Manager, giving creators more visual variety and thematic flexibility.
- Background displayed behind the playable level.
- Background selected through the Asset Manager.
- Default background included for new levels.
- Optional scrolling/parallax backgrounds.
Sound Level Adjustment (Mostly Complete – Needs to be Wired into Settings.JSON) Volume Slider Branch
Allow creators to customize the playback volume of individual sounds without modifying code by exposing audio settings in the Asset Manager.
- Volume slider for configurable sounds.
- Slider updates the
AudioManagersound level data. - Sound settings saved with the level.
- Sound settings restored when loading levels.
Tile Settings (Mostly Complete – Awaiting Review) Tile Properties Branch
Expose gameplay properties for special tiles through the Level Settings menu, allowing each level to customize how tiles behave.
- Tile settings accessible from the Level Settings menu.
- Consistent slider appearance with the rest of the UI.
- Settings saved and loaded through Import/Export.
- Player movement responds to customized tile settings.
- Bounce tiles also affect enemies.
- Slider ranges limited to reasonable gameplay values.
Add additional settings that affect all enemies within a level.
- Always Active: Disables the check on enemies to have them not move until on screen.
- Tile Interaction: When disabled, turns off checks for enemies interacting with bounce/slow tiles. (Maybe add in a separate toggle for death block interaction.)
- Enemy/Enemy Interaction: When disabled, enemies won't collide with each other.
Add additional properties to the shooting enemy.
- Standing/Facing: Changes the way the shooting enemy is standing. (Up, Down, Left, Right) Shooting Standing Branch
- Tracking: Changes the firing logic to instead be based on line of sight with the player and proximity. Shooting Tracking Branch
- Tracking Size: Changes the size of the proximity detector. (Should be easy enough to put in)
Add a collectible item that restores player health, making longer levels more forgiving and providing a foundation for future power-up systems.
- Placeable entity available in the editor.
- Restores one missing health when collected.
- Does nothing if the player already has full health.
- Uses trigger-style collision instead of standard physics.
- Properly saved and loaded with levels.
- Option to fully restore health.
- Could become part of a generic power-up system.
Provide full controller compatibility for both gameplay and editor functionality, making the tool usable without a mouse and keyboard.
- Controller mappings for all gameplay actions.
- Controller navigation throughout the editor UI.
- Visual highlighting of the currently selected UI element.
- Compatible with property menus and editor controls.
- Intended to support complete editor workflows using only a controller.
Ability to connect multiple levels together so they can be played in sequence.
- Create "worlds", which are groups of levels that chain together
- Import and export worlds.
- (THIS WOULD BE REALLY DIFFICULT AND PROBABLY VERY INSECURE) Export a level/world as its own executable.
Export and/or import all the assets from a level at once.
- Ability to effectively reskin any given level. Turn your level from default to Mario to Sonic!
- Ability to partially import from a texture pack.
Use Ctrl + Z and Ctrl + Y to undo and redo changes.
- Track a history of changes
- Undo and restore those changes without losing progress
Change the size of a level after it has been created
- Either have this available in the level settings, or add little handles on the edges of the playable area that allow for it to be resized.
- Should keep level content, only erase if making it smaller
Smaller tasks that can make the project more fleshed out
- Toggleable input buffering on the player
- More shortcuts (especially relating to switching between play / edit)
- Editable forgiveness range for tile/enemy detection
- Describe shortcuts/hotkeys better in game
- Circular slider to select the angle for the shooting enemy
- More detailed control text on the bottom
- Better indication of tile mode / entity mode
- Colorblind accessibility with tile icons.
- Editable background color
- Hitbox visibility in asset manager
- Enemies interact with tile effects
- Pathfinding for flying enemies
- Adjustable volumes per sound effect
- Invisible walls
- Multiple basic blocks, or the ability to have multiple different assets for the same tile type.
- Copy and paste in the property menu
- Rotatable one-way tiles
- Keep property menu on screen after returning to editor, if it was open before going into the play mode.
- Changeable controls, for editor and play mode.
- Better onboarding
- Value snapping for sliders
- Eyedropper tool for tools
- Allow the property menu to be moved around
- Reorder the animations in the animation swapper for each entity.
- More feedback from the cursor for each tool
- Toggleable visible track for moving platforms
- If a property fails to import when loading a level, give a popup and load default properties
- Editable sprites for the projectile types
- More editable properties for the enemies
- Center camera to mouse button
- Additional animation for double jump and wall jump
- Change player animation speed based on movement speed
Resources
Known Issues
Future Work
Globals
Managers
- Main Menu Manager
- Master Manager
- Camera Manager
- Hotkey Manager
- Import Export Manager
- Audio Manager
- Animation Manager
- PopUp Manager
UI
Managers
- Editor Manager
- Tile Manager
- Entity Manager
- Icon Manager
- Preview Manager
- Tool Manager
- Asset Manager
- Custom Cursor Manager
Tiles & Entities
- Grid Lines
- Preview Line
- Tiles & Entities
- Enemies
- Patrolling Enemy
- Flying Enemy
- Shooting Enemy
- Stationary Enemy
- Moving Platform
- Property Editing
Asset Swapping
UI
Managers
Player