Giter VIP home page Giter VIP logo

twg-22's Introduction

twg-22

todo

  • инструменты: генератор карт
  • игровые возможности: менеджер заданий,
  • возможности игрока: нанесение/получение урона
  • враги: ai, получение/нанесение урона
  • Составить общее описание методов

todo-code

  • Переработать, реализовать события/жизненный цикл методов задания координат и коллизий для GameObject
  • Реализовать классы Player, Enemy, Character

Заметки

  • gameManager отвечает за загрузку всех остальных менеджеров (audio, level, task)
  • Разрешение спрайтов в пикселях: gameManager.ts:24
  • Установка - npm i
  • Скрипты: dev и build

Предложения

  • пусто

twg-22's People

Contributors

babulekh avatar pentiummmx200 avatar thevostle avatar

Watchers

 avatar

twg-22's Issues

Коллизия объектов

Коллизию объектов стоит реализовать через отдельный компонент и подключать её к любым нужным объектам.

У компонента как минимум должны быть свойства:

  • isTrigger - булевое свойство для включения/выключения препятствия
  • actorsToIgnore - массив объектов, для которых коллизия не будет срабатывать (примеры: прострел стен пулями или база, на которую не смогут зайти враги)

Коллайдер не нужен, потому что изначально игра рассчитана на объекты одинакового размера/формы

Перед перемещением объекта на нужную клетку нужно посмотреть если там объекты и есть ли у какого-либо из них коллизия с isTrigger = false. Если такая есть - вызываем функцию столкновения, но на клетку не перемещаемся, иначе - вызываем функцию и перемещаемся на ту же клетку

Так же при столкновении должен вызываться интерфейс, в котором будет информация:

  • кто столкнулся (инициатор)
  • с кем (цель)
  • сообщение (на некоторые ивенты можно накинуть доп информацию о цели столкновения)

Создание события onTick для всех объектов на карте

Думаю, нам стоит реализовать событие onTick внутри GameObject, которое будет вызываться на каждом кадре, чтобы любой объект мог менять свое состояние

Сейчас движение врагов реализовано в renderer, который ищет на карте всех врагов и перемещает их

gManager.currentScene.enemies.forEach((enemy) => {

С помощью onTick логику ботов можно перекинуть в их собственный скрипт - renderer будет вызывать это событие для каждого gameObject на сцене, и каждый экземпляр сам решит что ему продолжать делать в данном кадре.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.