eonarheim / belltowerescape Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
If two elevators with the same amount of freespace are trying to load meeple from a floor, the meeple should equally split. I talked with @eonarheim and he seems to be on board with this. Not a game breaker - but still something that's worth having.
Elevators don't seem to have to stop to pick up/drop off Meeples, It still needs to be explored some more, but that's what appears to be happening!
If you set the timing options to:
public static int START_DELAY = 5000; // 5 seconds
public static int TURN_DURATION = 200; // 2 seconds
public static int SERVER_PROCESSING = 2000; // 2 seconds
You'll generally get a Server is processing, please try again soon
- which doesn't make sense. The error appears in less frequency if TURN_DURATION
and SERVER_PROCESSING
are similar (if you set them both to 200 or 500, most of the time it'll work correctly). Also, it seems possible to just spam the server with move requests and prevent players (it might just be your opponent, I haven't looked into this much) from moving entirely. I'm thinking we should abort a player if they issue to many move requests per turn, as they are likely cheating.
@randombits01 mentioned that once frustrated meeples get off your elevator, they can just as easily get back on in the next turn by issuing the "Stop" command on the next turn. I think we shouldn't allow this. Thoughts?
We need to build the api layer
How does the agent know if it should send a player 1 or player 2 command, and how does agent 2 get the auth token and game id from player 1?
Basically create two new logon commands that get the game running. First one sends back the guid/id and the second one uses those as logon parameters. BAM!
We need to build the following functionality w/tests
We need build a separate screen for visualizing running games.
and they come in all frustrated like.
I think the easiest way to make this happen is for the game server to write a replay file to the App_Data folder (just serialized .net commands with time information). Since we are using the command pattern, we should be able to easily replay the commands back at the engine with a "ReplayAgent" or something.
Some things to think about:
so, when you connect to the server, you get a real feeling of competition!
A few initial issues with Azure that were noticed:
This is a weird one. The game "freezes" if both elevators are on the same floor and the "stop" command has been sent (there may be more to it than this...). I have never been able to actually complete a game because of it.
The stop
seems successful (and all Meeples transfer correctly):
{"Success":true,"Message":"Stopped elevator 0 successfully"}
{"Success":true,"Message":"Stopped elevator 1 successfully"}
but from then on out, both elevators return:
{"Success":false,"Message":"Elevator has already been moved"}
{"Success":false,"Message":"Elevator has already been moved"}
and then the status is always returned the same (including the "TimeUntilNextTurn")
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.