Git Product home page Git Product logo

rtype's Issues

BUG - Client crashes on windows

Client crashes on windows inside ecs::system::draw at line 38: sprite.setTextureRect(animations[i].value().getFrameRect());

getFrameRect is called while _animFrames::_currentFrame is uninitialized

 	ucrtbased.dll!00007ffea489afec()	Unknown
 	ucrtbased.dll!00007ffea489af37()	Unknown
 	r-type_client.exe!std::vector<ecs::component::Animated::AnimFrame,std::allocator<ecs::component::Animated::AnimFrame>>::operator[](const unsigned __int64 _Pos) Line 1757	C++
>	r-type_client.exe!ecs::component::Animated::getFrameRect() Line 65	C++
 	r-type_client.exe!ecs::systems::<lambda_4>::operator()(ecs::World & world) Line 38	C++
 	[External Code]	
 	r-type_client.exe!ecs::World::runSystems() Line 39	C++
 	r-type_client.exe!ecs::Engine::run() Line 74	C++
 	r-type_client.exe!main() Line 146	C++
 	[External Code]	

CLIENT - Menu - Design/Style

This feature must allow the menu to get these elements :

  • Proc a music starting the menu
  • A clean background in the theme
  • Display leaderboard from previous games / score
  • Display the name of the game
  • Chose a font style
  • Button assets
  • Stylized selector (Used to move between the different buttons of the menu)
  • Manage options interface

CLIENT - Menu - Moving in Menu

This feature must allow the player to select the action he wants to do, listed as bellow :

  • Moving from any button to another
  • Manage Volume, - + (every clic must increase/decrease the sound by 10%)
  • Display How to play
  • Join a room, connect to the server, receive package of the game

Advanced feature :

  • Consult the scores of all the players

ECS - Create systems for network

Create a system for each outgoing message type, i.e. position update, entity creation, entity death...

  • Update Position
  • Entity Creation
  • Entity Death
  • Player Powerup
  • Entity Healing/Damage

ECS-System

  • Iter. a fucntion that applies a logic on a component

Units Test - ECS Part - Registry

Test these following functions :

  • SparseArray register_component()
  • SparseArray &get_component()
  • SparseArray const &get_component()
  • Entity spawn_entity
  • Entity entity_from_index()
  • SparseArray add_component()
  • SparseArray emplace_component()

Unexpected diagonal movement error

Describe the bug
If you start moving diagonally you will keep moving diagonally until you stop moving altogether

To Reproduce
Steps to reproduce the behavior:

  1. Start game
  2. Move down and right or any other diagonal direction
  3. Release one of the directions
  4. You still move diagonally

Expected behavior
When you release a certain direction you should only go in the direction that you are holding

CLIENT - Menu - HUD

The goal of this feature is to arrange some elements on the menu World, listed as bellow :

  • Start Button
  • Start button must allow the player to select a port to join a room
  • Volume Mixer
  • Quit game
  • How to play button

Advanced :

  • Leaderboard / score management

Units Test - ECS Part - Sparse Array

Testing the following function of SparseArray class :

  • iterator begin()
  • const iterator begin()
  • const_iterator cbegin()
  • iterator end()
  • const_iterator end()
  • size_type size()
  • reference_type insert_at() copy
  • reference_type insert_at() move
  • reference_type emplace_at()
  • size_type get_index()

ECS - Part 1 - Create a networkID

Create a networkID that will bind the Server entity id entity_t and the Client entity id entity_t

  • Create a function taht will bind the entity_t and the networkEntity_t

ECS - Dev. guidelines and tutorial

Create a developer guidelines containing:

  • Best praticies when using the ECS
  • How to integrate a new component (give a clear example with a component)
    • Components developement best praticies
  • How to create a new system (give a clear example)
    • System developement best praticies
  • How to use a component inside a system
  • How to manage events inside the ECS (create read update delete)

RebindKeys

Gives the player the possibility to change the keys on start menu.
Don't forget to switch the H bind for the Hitbox

ECS-Registry

  • Regiter component
  • Get component
  • Get component const

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.