nharraud / playfulbot Goto Github PK
View Code? Open in Web Editor NEWPlatform to organize programming tournaments
Home Page: https://playfulbot.com
License: GNU Affero General Public License v3.0
Platform to organize programming tournaments
Home Page: https://playfulbot.com
License: GNU Affero General Public License v3.0
Players will test their Bots in the Debug Arena with many games. They should see immediately which bot won the game.
The debug arena view should show the game end state instead of the start state. Animations are less important and should be disabled for now.
Once the game is finished the winner and loser should be made explicit.
Sometimes bots will stop responding or take a long time to play. This is ok for debug games but not for competition games. Competition games should have a deadline. The main difficulty will be to decide if somebody won the game. The simplest solution is that each bot has a maximum time to play. The first bot to consume all its time to play loses.
Players need to understand how to program a bot. They should have clear and simple instructions for the programming language of their choice. The page should also describe how to connect bots to debug and competition arenas.
As a first version this ticket will only target Typescript and Javascript programming languages.
Currently tournaments can have only one game. The goal is for Playfulbot to support multiple games. A tournament's game is chosen when the tournament is created.
Sometimes the frontend fails with an error "Cannot read property 'version' of null" when a new game is started in the Debug Arena.
Playing a game requires the players to understand the rules.
Games should provide a subpage which will be automatically added to the tournament info page. This page should describe how to play and win a match.
Tokens are signed with a secret which was hardcoded for easy prototype development. It needs to be generated automatically.
Currently users can access tournaments they haven't been invited to. As they can't join or create a team it makes sense to forbid access completely with a coherent message.
Players shouldn't have to wait for a round to know how if their improvements work against other teams' bots.
Players will be able to test their bots against other teams' bots connected to the Competition Arena between rounds. They will simply start a game in the Debug Arena and ask a team's bot to play in it against their bot.
The landing page currently uses multiple icons from https://thenounproject.com. They are under Creative Common license, which means that authors' name should be mentioned somewhere. The easiest solution is to have a "credits" page.
Invitation links work for non authenticated users but not for authenticated users.
Use type="password" for password fields on login and register pages.
Currently the game display is truncated, i.e. doesn't fit in the game canvas in some screen resolutions. This makes the game impossible to play.
Playfulbot will enable users to chose between different games. Each game has its own Game State and set of valid Game Actions. Players should be able to understand the structure of Game States and Game Actions.
JSON Schema is a good way to document these structures.
Users will want to try a tournament in a few clicks. Thus it should be easy to create a tournament which starts immediately.
The tournament creation page should by default create tournaments starting immediately. It will still enable to provide a later start date.
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.