/isometric-tatics

A typescript + vite + pixi js project for a isometric tatics game

Primary LanguageTypeScript

Isometric Tatics Game

A typescript + vite + pixi js project for a isometric tatics game.

(In the future implement Socket.io for 1v1)


Concept

The game consist in a 1v1 where the player is a especial type of entity: a summoner.

Players can summon 1 unit/monster per round, if having enough mana. Each unit has an element attribute that influences movement depending on the terrain and the damage that takes.

Wins who defeat the adversary summoner. (Think of other condition of winning)


TODO

The ideias listed here in the moment is just for the concept.

PRIORITY : Insert two entities in a map and control each through socket io

  • Create BASIC Unit/ Summoner class (Sprite, container)

    • Spawn on the map scene
  • Create my own tilemap editor

  • Implement the A* algorithm

  • Implement Socket io for the connection


  • Game Manager

    • create application

    • manage change of scenes

    • update current scene

    • Refactor the initialization from main.ts to the game class

  • Map Scene

    • Tile class

      • Create basic isometric tilemap
    • MapScene class

    • Map Editor (export in JSON)

    • Load and create instance of map from JSON file

  • Render

    • pixel perfect
    • scale based on window
      • Give a max size or full document screen?
      • Maintain the proportion to screen
  • A* path algorithm used by the BattleManager

  • "Camera"

    • render only the visibile entities ( On map scene class)

    • movement

      • move to target entity ( On the MapScene Class)
      • mouse Zoom in/out (Input)
      • Mouse Drag (Input)
      • (debug mode on arrows)
  • Player Units

    • Summoner / Monster Units

      • Status
      • Basic Unit Class
        • Summoner Class
        • Monster Class
    • actions / states

    • animations

  • Assets loading

    • Basic Map*(JSON) and Image loading
  • UI Manager ( HTML or pixi UI ?)

    • Actions (Atack, Move, Magic, Wait)

    • Description box (Skills,etc)

    • Skill list

    • Character Status (Sprite, lvl, hp,mp, strength, speed etc)

    • Minimap?

    • Main Menu

    • Online Room

      • Map selector

      • Character

  • Battle Manager

    • Turns

    • Queue of Action

    • Battle States

    • Victory/Defeat Conditions

  • Multiplayer

    • Use Socket.IO
    • Rooms
    • Hosting ( Render, Pie socket?)