Giter VIP home page Giter VIP logo

shoko-rocket's People

Contributors

danishcake avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

luke-vulpa

shoko-rocket's Issues

Smooth scrolling

Should add smooth scrolling. New game grid can be used to compensate.

Mouse cursors

Players need to see colour coded mouse cursors for their opponents

Create multiplayer levels

I should create a few multiplayer levels to test with

Levels should have limits in the metadata, eg 2-8 supported players, name, author etc.

Create master server

The client should be able to obtain a list of servers. Add a master server to facilitate this.

Should be very simple - just a multiclient server that sends a long list of servers to client.

Announce readiness

Clients will take different amounts of time to load, so when they are done they should send a ready message to server. Once all are received then it can begin the game. Perhaps there should be a 20s timeout?

Allow saving of servers

Allowing saving of servers on the server browser. These could perhaps be drawn on a different background to the master server provided ones?

Add special event messages

Mouse Mania and Cat Mania, Everybody Move, Slow Down, Speed Up special events should occur every so often. When they happen the server should announce it, pause for 1000ms and then start again, with the new effect. A new message at the end will probably be needed.

Editor drawn outside bounds

The editor draws outside it's 12x9 bounds, so should be rendered offscreen first, so as to clip properly.

Modal widgets should be on top

Widget are currently drawn in order of creation. They should have a z order. Modal widgets should be boosted to the top of the z order!

Lobby bugs

The lobby has a few problems - new client names are always put in the client name entry box, not just when it's the correct client. On starting a new server the client readiness is not reset

Text input is incomplete

Text input is needed to enter author/level name in the editor. It is currently not working, so requires tests to be written and input implemented

Provide indication of running in the bottom left corner

When starting the game using the keyboard there is no visual clue to the game being run (if it has no entities)

It would be cute to add a little circle of mice who ran around each other, drawn in the bottom left corner. Might need to add animation to gui elements to achieve this however!

Rearrange lobby

The lobby makes inefficient use of space - ready widget could be removed and the player list used. The back button could be in a corner, and the chatarea/player list would have 128 extra pixels width.

Server configuration

Server settings like port, max clients, default map rotation etc should be added to seperate ServerConfig.xml file

Add score widgets

Improve the multiplayer user interface with widgets displaying the score. Arrow area looks good for this.

Editor should be able to open existing files

The editor cannot open saved files - this would be very useful!
a) Add a locked attribute to XML to prevent finalised levels from being opened
b) Add a menu item to open for edit to the menu

WASD input

Rather than having to drag to place, wasd should be used. There should also be backspace for reset & space for start

Speed up bitmap loading

Sprite frames are loaded from XML, but often packed into the same bitmap. These are currently loaded from disk repeatedly, so should cache them to speed up loading a lot. Can clear the cache once done.

Allow level downloads

The server should be able to send the client a copy of a level. It's usually only a few kb, so it would be a waste to no do so.

Lobby requires client list

In the lobby there should be a widget displaying the currently selected players, along with their ready state.

Server admin

Allow the first user on server to set level - this will usually be the client who created the server(as I have no dedicated server yet)

Therefore should implement an authentication stage, where the client object grab a key from the server object and then sends it to the server, which should allow a degree of extensibility for dedicated servers

Allow first user on server to set level

When the first user joins a server he should be able to control it's settings. This could involve automatic authentication if the server is not dedicated, rather than just granting admin to the first connecter

Poor performance even in low latency environments

Arrow-walker interactions seems to suffer poor latency, even in low latency environments. Walkers regularly tunnel through arrows for up to a second before being redirected. Should find ways to improve this.

a) Perhaps batching of entity arrow interactions could result in much lower overhead?
b) Better extrapolation - eg have entities guess when they will interact with an arrow and behave as if they have. Corrections could be made on the basis of possibility - eg keep a list of interactions believed to have occurred and invalidate/confirm as proper info becomes available. If invalidating then revert state and extrapolate

PlayerIDs not fully recycled

If a server has a client connect on ID 0, then disconnect, the next client will be assigned ID 1 not 0. This could lead to a client getting given an ID of 8, which would crash the client.

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.