-
-
-
-
-
- ๐ Gameplay loop closes
-
-
-
-
- ๐ Game is Playable
-
-
-
- ๐ Game's done!
-
- Windows build
- Web build
- Make Itch.io page
- Intro info screen
- Main menu
- Metagame for spending points after dying
- Camera zooms in for DNA collection
- Better enemy sprites lol
- Monsters flip horizontally
- Save / Load your points from disk
- Save / Load into into the cloud
This is a project template for getting up-and-running quickly for game jams. It is configured for creating 2D games in Unity. Included are a bunch of common plugins, code and prefabs that I use when developing games. This is to save on overhead that would otherwise occur during the jam, setting up a new project and copying over any specific library code from other games.
The code included is all focused on automation and making code easier to write, it does not "pre-code" any features or mechanics.
The project currently includes:
Plugins
- Zenject
- A dependency injection framework, for implementing a composition over inheritance pattern in developing.
- NotNullAttribute
- A C# attribute for marking Serialized properties in the Unity inspector as required.
- A console error is logged, and the game is prevented from running at all (not just when your GameObject enters the scene) whenever any "Not Null" fields are null.
- Very useful for reducing errors in the Unity Editor, especially for non-programmer contributors.
Scripts
- A small Easing library
- Written by me, for adding juice to your game.
- A bunch of utility extension methods
- Vector extensions for fluently manipulating vectors
- Texture extensions for performing common operations on textures
- Rigidbody extensions for performing common physics operations on Rigidbodies and their attached colliders
- A small Debug Drawing library
- For drawing dots, lines etc. on the screen
- PathStack
- Class for easily working with FileSystem paths
- Removes need for string operations, references to "Path separator" constants, etc.
- PointService
- A service for easily generating points in games
- ThreadedCoroutine singleton
- A singleton for easily offloading work to REAL background threads
- Reminder: You cannot do any operations on Unity objects from a background thread
- MasterInstaller
- An "Installer" instance for Zenject that wires up a few simple concepts
- Sets up Singleton reference to ThreadedCoroutine
- Has some quick dependency injection hooks for injecting sibling components, instead of calling
GetComponent<T>()
all the time
Prefabs
- _SceneContext
- An object to add to your scene to pre-configure Zenject stuff
Scenes
- Game.unity
- Basic scene set up and ready to go for development, contains a _SceneContext instance and things.
The project has the following structure:
Assets/
โโโโ Audio/
โ # files and music
โ
โโโโ Materials/
โ # Physics or Visual materials
โ
โโโโ Media/
โ # Image assets, textures, etc.
โ
โโโโ Plugins/
โ # Any kind of addon to Unity
โ
โโโโ Prefabs/
โ # Prefabs
โ
โโโโ Scenes/
โ # Scenes
โ
โโโฌโ Scripts/
โ # Your code
โ
โโโโ Components/
โ # Scripts for extending the functionality of GameObjects
โ # e.g. "PlayerHoldable" etc.
โ
โโโโ Config
โ # Configuration scripts e.g. Zenject Installers
โ
โโโโ Entities
โ # Scripts specific to certain objects in your game
โ # e.g. "PlayerController", etc.
โ
โโโโ Singletons
โ # Singleton objects
โ
โโโโ Util
# All sorts of raw coding logic that exists as
# a utility for other code