mirror of
https://github.com/NoelFB/tiny_link.git
synced 2024-11-25 18:18:56 +08:00
added some documentation & explanations
This commit is contained in:
parent
68bb409f98
commit
7173d65263
3
content/map/readme.md
Normal file
3
content/map/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Due to making this game under heavy time constraints, I opted not to make or use a level editor. Instead, each object is assigned a color and I used a generic paint tool to design the levels.
|
||||||
|
|
||||||
|
Under normal circumstances, I would argue against this method and instead use something like Ogmo Editor or Tiled. It's really hard to remember what object is what color!
|
5
content/sprites/readme.md
Normal file
5
content/sprites/readme.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
The sprites are stored in the [Aseprite](https://www.aseprite.org/) format, and you'll need Aseprite to edit them.
|
||||||
|
|
||||||
|
A few other notes:
|
||||||
|
- Animations are loaded automatically using Aseprite's `Tag` feature. Each tag is a unique animation
|
||||||
|
- Sprite Origin points use Aseprite's hidden `Slice` feature, which can be used with Shift+C. You can draw slices and give them a pivot point, which we're using to set the origin point of the sprite.
|
1
content/tilesets/readme.md
Normal file
1
content/tilesets/readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
The tilesets are stored in the [Aseprite](https://www.aseprite.org/) format, and you'll need Aseprite to edit them.
|
|
@ -21,9 +21,18 @@ namespace TL
|
||||||
static constexpr int st_reflect = 5;
|
static constexpr int st_reflect = 5;
|
||||||
static constexpr int st_dead_state = 6;
|
static constexpr int st_dead_state = 6;
|
||||||
|
|
||||||
|
// health during our first phase
|
||||||
static constexpr int max_health_1 = 10;
|
static constexpr int max_health_1 = 10;
|
||||||
|
|
||||||
|
// health during our second phase
|
||||||
static constexpr int max_health_2 = 3;
|
static constexpr int max_health_2 = 3;
|
||||||
|
|
||||||
|
// current health value (assigned to phase 1 health to start)
|
||||||
int health = max_health_1;
|
int health = max_health_1;
|
||||||
|
|
||||||
|
// phase 0 or 1
|
||||||
|
// 0 = running along the ground and slicing
|
||||||
|
// 1 = flying around in the air shooting orbs
|
||||||
int phase = 0;
|
int phase = 0;
|
||||||
|
|
||||||
GhostFrog();
|
GhostFrog();
|
||||||
|
|
|
@ -8,6 +8,9 @@ using namespace Blah;
|
||||||
|
|
||||||
namespace TL
|
namespace TL
|
||||||
{
|
{
|
||||||
|
// Automatically checks if the provided collider ever overlaps
|
||||||
|
// with something in the `hurt_by` mask. Makes it easy for enemies
|
||||||
|
// to check if they were hit by `Mask::player_attack`
|
||||||
class Hurtable : public Component
|
class Hurtable : public Component
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -6,6 +6,8 @@ using namespace Blah;
|
||||||
|
|
||||||
namespace TL
|
namespace TL
|
||||||
{
|
{
|
||||||
|
// Factory to create game objects
|
||||||
|
|
||||||
namespace Factory
|
namespace Factory
|
||||||
{
|
{
|
||||||
Entity* player(World* world, Point position);
|
Entity* player(World* world, Point position);
|
||||||
|
|
|
@ -5,6 +5,8 @@ namespace TL
|
||||||
{
|
{
|
||||||
struct Mask
|
struct Mask
|
||||||
{
|
{
|
||||||
|
// bitfield masks for collision types
|
||||||
|
|
||||||
static constexpr uint32_t solid = 1 << 0;
|
static constexpr uint32_t solid = 1 << 0;
|
||||||
static constexpr uint32_t jumpthru = 1 << 1;
|
static constexpr uint32_t jumpthru = 1 << 1;
|
||||||
static constexpr uint32_t player_attack = 1 << 2;
|
static constexpr uint32_t player_attack = 1 << 2;
|
||||||
|
|
|
@ -111,6 +111,11 @@ namespace TL
|
||||||
public:
|
public:
|
||||||
static constexpr int max_component_types = 256;
|
static constexpr int max_component_types = 256;
|
||||||
|
|
||||||
|
// NOTE:
|
||||||
|
// I tossed this reference here at the very end of making the game,
|
||||||
|
// just so that the boss could tell the game to shake the screen.
|
||||||
|
// Ideally I think there should be a Camera component that handles
|
||||||
|
// that instead.
|
||||||
Game* game;
|
Game* game;
|
||||||
|
|
||||||
World() = default;
|
World() = default;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user