Navigation

    Colyseus
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Users
    1. Home
    2. halftheopposite
    H

    halftheopposite

    @halftheopposite

    Chat Follow Unfollow
    7
    Reputation
    9
    Posts
    1171
    Profile views
    1
    Followers
    0
    Following
    Joined Last Online
    Website github.com/halftheopposite/tosios

    • Profile
    • More
      • Continue chat with halftheopposite
      • Flag Profile
      • Following
      • Followers
      • Topics
      • Posts
      • Best
      • Groups
    halftheopposite Follow

    Posts made by halftheopposite

    Flipcards - A casual multiplayer party game

    Hello everyone,

    After taking a break from other projects I decided to use Colyseus to develop a casual party game named https://flipcards.online!

    The goal of the game is to be the first one to find which picture matches the moves and to have the highest score after 10 rounds. If you don't want to play against random people, you can also create your own protected game and share it with your friends and/or colleagues.

    0_1614590597401_Screenshot 2021-03-01 at 10.22.10.png
    1_1614590597403_Screenshot 2021-03-01 at 10.22.38.png

    It is even playable on mobile (although lacking from a "players list" view I'm working on):
    2_1614590597405_Screenshot 2021-03-01 at 10.22.55.png

    I'd love to have feedback on anything that could improve the game. Here are a few features I'm working on right now:

    • Adding more languages: french, spanish, italian, german
    • Improved mobile experience
    • A chat for people to exchange
    posted in Showcase •
    RE: Check out my game TOSIOS: The Open-Source IO Shooter.

    Hi everyone!

    It's been a long time since my first post on this forum, and I have made a lot of changes since to TOSIOS (https://github.com/halftheopposite/tosios).

    These changes include:

    • A simplified code structure (I will try to simplify the code even more).
    • A fully working mobile mode (still a few bugs with the orientation of the device sometimes).
    • A revamped HUD written purely with React (this should have been a no-brainer from the beginning, as composing interfaces in React with the power of CSS makes things 10x faster. This HUD includes:
      • Better messages from the game's events.
      • More contextual information.
      • A leaderboard.
      • A menu to explain keymaps and to share a game's link.
    • Simple AI for flying bats that patrol, chase and attack players.
    • A Team Death Match mode.

    The new HUD:
    0_1589125257938_banner.jpg

    The leaderboard:
    1_1589125284181_Screen Shot 2020-05-10 at 2.09.08 PM.png

    The menu:
    0_1589125284180_Screen Shot 2020-05-10 at 2.08.32 PM.png

    The mobile version of the game:
    0_1589125262547_mobile.jpg

    In the incoming months I have a few plans regarding the game:

    • A better and more generic client-side prediction and lag-compensation.
    • Power ups (other weapons, buffs, etc.)
    • Bouncy bullets (for a more challenging gameplay)

    As always the game's licenses does not changes and you a free to explore and modify the source code as you wish (regarding the MIT license).

    I am in need of any feedback that could improve the gameplay and the developer experience too, so please do not hesitate to share what's on your mind!

    Thank you all

    posted in Showcase •
    RE: Organizing message sending/calling room methods.

    What you could do is pass a callback method to the state during initialisation

    In your room:

    class MyRoom extends Room<MyState> {
    
      onCreate() {
        this.setState(new MyState(this.mySuperCallback));
      }
    
      mySuperCallback = (playerId: string) => {
        this.send(...);
      }
    }
    

    And in you state:

    class MyState extends Schema {
    
      private mySuperCallback: (playerId: string) => void;
    
      constructor(mySuperCallback:  (playerId: string) => void) {
        super();
    
        this.mySuperCallback = mySuperCallback;
      }
    

    This is how I have done it to broadcast important messages to all players in room when one of them dies, wins...

    posted in General Discussion •
    RE: Check out my game TOSIOS: The Open-Source IO Shooter.

    @marwan38 Needless to say that I'm flattered! I'm glad that my little project has been able to help you so far, as I am really not a game dev at first. Lately I've improved the whole architecture by removing a lot of code, making a cleaner and more flexible hud, using r-trees for collisions on the client and server side, and making actions more responsive. Though there are still a few minor bugs, but nothing really critical.

    And nice to hear the game was working great on mobile! I'm really working hard to have a similar experience on both desktop and phones.

    PS: I'll check your pm

    posted in Showcase •
    RE: Check out my game TOSIOS: The Open-Source IO Shooter.

    @marwan38 hey thank you very much! That is really nice to hear as I did not know what to expect when publishing this game the first time. I have released a beta version of the mobile mode (which is 95% complete) that you can test. It cleans the HUD a lot and makes it much easier to mod from one entry point. I'll be adjusting the mobile viewport and controls over the weekend and migrate to the latest Colyseus version!

    Thank you again for your support :)

    In the future, once the game basics are set, I'll go on optimizing the game with quadtrees.

    posted in Showcase •
    RE: Check out my game TOSIOS: The Open-Source IO Shooter.

    @endel Thank you very much, and thank you again for your libraries which are a delight to work with!

    posted in Showcase •
    RE: Check out my game TOSIOS: The Open-Source IO Shooter.

    @3mcd Hey, thank you very much for your support and for testing!

    I try to keep code as organised as possible in general, especially when I share it. I still have to improve the README though and add a few more details on modding. I also try to simplify as much as I can the different layers of the application (HUD, players, collisions, textures...), so people who are not used to application or game development can still understand what is going on.

    I am not in the Colyseus discord yet, but will join soon! What questions would you have regarding the making of the game? I could maybe answer you with some basics answer first.

    Thank you again, and please don't hesitate if you have any suggestions regarding the game.

    posted in Showcase •
    Check out my game TOSIOS: The Open-Source IO Shooter.

    Hi everyone,

    I've been working for a few months on a browser multiplayer shooter game: TOSIOS GitHub page.

    0_1569237950425_968a12a2-009c-4c99-8aa5-009f5a2865a6-image.png

    DEMO: https://tosios.online

    Goals
    I had 3 goals in mind when I developed this game:

    1. Code my first multiplayer browser game.
    2. Make it open-source.
    3. Provide an easy way for anyone to deploy and modify it.

    Game's rules
    The game principles are fairly easy to grasp:

    • Every player is positionned randomly on the map during the lobby.
    • When the game starts, each player must take down others.
    • There are some potions on the map that restore health.
    • The last one alive wins 🎉.

    Movements

    • Move: W A S D or ↑ ← ↓ →.
    • Aim: Mouse
    • Shoot: Left click or Space

    Tech stack
    The whole project is a monorepo using yarn workspaces and coded in TypeScript. It is composed of:

    • client: A react application using PIXI.js
    • server: A colyseus (why would I post it here otherwise) and express.
    • common: A set of utils and constants used in both project.

    You can either use the docker-compose file which uses an automatically published image from Docker Hub.

    You can also build the docker image yourself using the Dockerfile.

    Future
    I play this game with friends regularly and we all have much fun (this is how the project started in my mind), and there are a lot of features that I'm developing or that I will develop:

    • Mobile-mode (~50% complete)
    • Other potions/buffs
    • A 4th map
    • Better compatibility with Windows (the mv command doesn't work, I should use the move instead)

    Please tell me what you guys think, and please don't hesitate to share this with friends or colleagues at work!

    posted in Showcase •
    RE: Colyseus.js "Cannot read property '_schema' of undefined".

    Hi @KiloGram,

    I ran into a similar issue a few weeks ago, and this problem has normally been resolved in the lastest versions. You can check out this GitHub ticket that I had created -> https://github.com/colyseus/colyseus/issues/227.

    TD;DR: Delete your node_modules and package-json.lock and run an npm i.

    posted in Questions & Help •