GithubHelp home page GithubHelp logo

phoenix's People

Contributors

chaitanya57 avatar oyeb avatar vasanthaganeshk avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

phoenix's Issues

Need an error and event log

Currently

bot's STDERR -> debug_log
bot's STDOUT -> move_log

What an error_log might look like

What if the bot is making an invalid move? We register an exception on the gameloop STDOUT but the bot is never told that. The gameloop can log errors-that-happen-due-to-bots in a error_log.
There could be a error_log per bot.
This log cannot be seen by the bot, in any iteration. Should we send the errors-in-prev-iter to the bot as part of the new game-state?

What an event log might look like

There is some event logging in gameloop STDOUT, a tuple of (turn_no, [list-of-events]) would be a compact event log (Since turn_no is explicit, we don't need a row for empty turns).
This log cannot be seen by the bot, in any iteration. Should we send the errors-in-prev-iter to the bot as part of the new game-state?

Create "views-of-gamestate" for bots

This is not a trivial task. The amount of information available to a bot is the sum of information available to it's children.
So, we need to perform bounding-box (BB) tests for each child.
Relevant code: gamectl.py

Set bigger buffer size for pipe

The select syscall prematurely exits after the buffer is flushed. The STDOUT of the bots buffer size has to be increased exactly.

Make `gameloop` more exception safe

The server is exception-safe, handles stuff gracefully but phoenix doesn't.
If the game terminates due to an unhandled exception the game_state_log will be empty.

illegal winning

if a bot gains a bigger score and there are only two bots remaining on the map, if the bot with bigger score raises some kind of exception, that particular bot's execution stops. Then when there are less than two bots on map, the game execution stops. The bot with higher score just wins it, the bot with higher score can win with a cheat.

Need a better `summary`

The following are mandatory:

scores : [ ... ]
bot_names : [ ... ]
this_bot: <this-bot's-name> | null
map : "map"
iters : #
winner : ""
  • this_bot is null if the game is among real bots. If this game is being run for an online submission against sample_bots only, then the value is <this-bot's-name>

What more?

New API call: write_to_debug_log

Need to add this to botapi.
All writes for 1 iter must be clubbed in a list. Each of these lists must be mapped to iteration #.
There should be nothing in the dict for if there is no log for that iteration.

Debug log must be valid JSON.

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.