Git Product home page Git Product logo

guild-master's Introduction

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

  • Configure the top-level parserOptions property like this:
export default {
  // other rules...
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    project: ['./tsconfig.json', './tsconfig.node.json'],
    tsconfigRootDir: __dirname,
  },
}
  • Replace plugin:@typescript-eslint/recommended to plugin:@typescript-eslint/recommended-type-checked or plugin:@typescript-eslint/strict-type-checked
  • Optionally add plugin:@typescript-eslint/stylistic-type-checked
  • Install eslint-plugin-react and add plugin:react/recommended & plugin:react/jsx-runtime to the extends list

guild-master's People

Contributors

chicken-curry-1337 avatar hexenone avatar

Watchers

 avatar

guild-master's Issues

Create game tick

Нужно создать игровую сущность "tick". Она будет отвечать за смену времени суток и все остальные эффекты в игре. Любые взаимодействия с персонажами будут обновляться во время смены тиков. Изначально можно сделать этот тик небольшим enum:

enum Tick {
  Morning,
  Noon,
  Night

Многие эффекты в effector могут запускаться во время смены тика. Таймер смены тиков можно будет настроить, например, запускать смену тиков раз в 20 секунд. На старте можно сделать небольшие часы в левом верхнем углу, которые будут показывать текущий тик. Пример - "don't starve".

Камера

Добавить возможность использовать камеру для увеличения-уменьшения вьюпорта игры. Это понадобится на поздних этапах игры, когда гильдия разовьется и нужно будет показывать много юнитов за раз.

Пример: http://www.kaleadis.de/lab/04-pixi-cam/

Создание миссии

Раз в несколько игровых дней нужно создавать определенный пул миссий. Пока что миссия может быть совсем простой: Уровень сложности, стоимость, доступное количество отрядов/героев, описание.

Нужно добавить заглушку с добавлением персонажей к миссии. У каждого отряда будет свой айди, по которому можно прикрепить отряд к миссии.

Если отряд уже прикреплен к миссии, то его больше нельзя никуда прикрепить.

Также у миссии будет кнопка сабмит, после которой отряд отправится выполнять миссию.

На старте любая миссия будет успешно выполняться. В будущем успех миссии будет высчитываться в процентах от нескольких характеристик: сложность миссии, минимальный порог скиллов отряда, уровень отряда etc.

game save logic

Добавить компонент сохранения-загрузки игры. В идеале, по клику на кнопку save все значения сторов приложения должны сохраняться в JSON-файл + возможно стоит сохранить текущее изображение главного экрана.

load game logic

По клику на кнопку load game должен подгружаться нужный JSON-файл, значения в файле должны подставляться в нужные сторы. В будущем, при помощи electron-обертки нужно будeт считывать файлы из нужной директории и показывать список сохраненных игр.

Modal

Need to create modal component

Создание персонажей

Раз в несколько игровых дней должны создаваться новые персонажи, если есть свободные места в гильдии.

Изначально персонажи будут предельно простые: имя, специализация, уровень, отряд. Отряд ставится по дефолту (на этапе мвп можно убрать). Когда персонаж вступает в новый отряд, его отряд-одиночка исчезает. Либо же проверять, есть перс в отряде или нет. Если есть, не показывать его в списке возможных персонажей для миссии.

Персонажи создаются полностью рандомно, НО в игре должен быть ограничитель по количеству персонажей одного типа, чтобы можно было удобно укомплектовывать отряды. НО обязательно один отряд должен быть недоукомплектован, чтобы создавать лишний головняк для игрока.

Также пользователь должен потратить свои игровые деньги, если ему нужен определенный персонаж. НО даже в этом случае скиллы персонажей должны высчитываться рандомно. Таким образом мы внесем элемент гачи в игру. Раз в определенное количество покупок (круток) можно с большим шансом отдавать какого-либо известного персонажа с сильными характеристиками: Илья Муромец, Добрыня Никитич, Финист - Ясный Сокол etc. Но даже этих персонажей нужно прокачивать.

ui-kit components

Нужно сверстать ui-компоненты из макета. В результате должны получиться независимые react-компоненты в папке src/lib/shared/ui

Макет: WIP

Взаимодействие между персонажами

Реализовать методы взаимодействия между персонажами-юнитами. Все эти взаимодействия должны срабатывать по определенному триггеру и работать без участия игрока. Все взаимодействия должны быть визуально видны на экране:

  • переход персонажа в состояние лидера отряда и запуск процесса найма юнитов в отряд
  • запись/регистрация юнитов в отряд
  • повышение уровня отряда
  • уход юнита из отряда в связи с повышением его уровня и желания создать свой отряд. Происходит рандомно после миссий в том случае, если определенный навык юнита становится выше, чем у лидера отряда.
  • Оплакивание смерти юнита в отряде (? нужно ли)

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.