Coder Social home page Coder Social logo

ciberus-faraway-test's Introduction

ciberus-faraway-test

Test task commits - https://github.com/Ciberusps/ciberus-faraway-test/compare/34475dd22317a6af85e7c2eb54769c6b960bd336...9662e39cf557f6406e39fdf5e4beb53e0075b0cd

Project - https://playcanvas.com/project/883292/overview/ciberus_test_task branch - feature/test-task DefaultGym(scene) for testing purposes

Build - https://playcanv.as/p/DysznB0H

Setup

  • Install dependencies npm i
  • Copy .pcconfig to your home directory e.g.
    • windows - C:/Users/<username>
    • macos - /Users/<username>
  • Copy pcconfig.example.json and rename to pcconfig.json. This file is needed to configure playcanvas-sync to upload the file to correct PlayCanvas Editor project.
  • In pcconfig.json fill PLAYCANVAS_API_KEY, PLAYCANVAS_BRANCH_ID, PLAYCANVAS_PROJECT_ID using https://github.com/playcanvas/playcanvas-sync#config-variables
  • now you ready to go start npm run dev

npm scripts

Command Description
npm run dev Compiles tsc files and push to playcanvas.com project
npm run build Performs build and push to playcanvas.com project

Improvements

  • mb parcel is overkill, ts-node-dev enough

  • mb decorators/classes/property-decorators also overkill and there is way to make typesafe code with prototypes

  • mb scripts load order broken

  • typescript classes cant inherit methods types from parent and also methods cant be arrow functions because they lost "this" may be somehow methods can be binded in createScriptDecorator but i didnt found how

  • "debug subsystem" like ue4, map with flags that turn on/off debugCategories, should be invoked from dev tools console like debugSubsystem("%system_name%", true)

  • probably refactor project code structure in ue4-like style

      ├── characters
      │   ├── enemy
      │   ├── player
      ├── components
      │   ├── movementComponents
      │   │   ├── playerMovement
      │   │   ├── lookAtMainCamera
      │   ├── weapon
      │   │   ├── shooting(better split on weapon barrel)
      ├── ui
      │   ├── enemyHpBarView
    
  • mb types should be from latest github release of playcanvas engine installed like this(dont works) npm i https://github.com/playcanvas/engine/releases/latest -D) for now its installed via npm i https://github.com/playcanvas/engine/tree/v1.51.7 -D strict to some version probably better than use dev branch... npm i dont work with playcanvas repo(

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.