Giter Club home page Giter Club logo

halite's Introduction

Halite

Travis Badge License

Halite is a programming competition. Contestants write bots to play an original multi-player turn-based strategy game played on a rectangular grid. For more information about the game, visit our website.

Contributing

See the Contributing Guide.

Questions

See the Forums and our Discord chat.

Authors

Halite was primarily created by Ben Spector and Michael Truell for Two Sigma during their summer 2016 internship.

Many others contributed to Halite's developement, including Matt Adereth, Trammell Hudson, and Jaques Clapauch from Two Sigma and Arnaud Sahuguet and Scot Spinner from Cornell Tech. Halite's participants, including Nick Malaguti, Travis Erdman, and Janzert, have also been instrumental to the project.

halite's People

Contributors

adereth avatar arseniybanayev avatar benjaminfspector avatar bovard avatar dkambersky avatar erdman avatar fohristiwhirl avatar gliliumho avatar hmwildermuth avatar j-clap avatar janzert avatar jaywilson avatar jcgrant avatar jerold avatar joshuagruenstein avatar jpelgrims avatar klfrost avatar lukethomas1 avatar nmalaguti avatar pepers avatar randre03 avatar sahuguet avatar shubhamjain0594 avatar slegrand45 avatar srivastavaanubhav avatar truell20 avatar veden avatar xukai92 avatar yangle avatar yogin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

halite's Issues

Python adds wierd newline character on windows

We delimit messages between processes with the '\n' character. Python changes this to '\r\n' on windows. So the message "Done" will show up as "Done\r" when the environment reads it in. So far, this has not conflicted with our parsing. I want to be aware of this. I cannot find a good way to fix this.

Environment Bug

When I run a game (settings: "30 30 DebugBot.exe StillBot.exe"), the StillBot loses a ton of strength (255 -> ~100) during the first move and then starts behaving normally. Additionally, the amount of strength lost depends on the defense_bonus - with a higher defense_bonus, it loses comparitively less strength.

Found Bug (Ghost). Halite Crashes

Happened while running a 60 by 60 game. The running the environment from the exe in the debug folder. Ran the C++ Random example bot from a Visual studio. Ran the python example bot from cmd. the C++ bot was player 1. Haven't since been able to replicate the bug. This may be due to the randomness of the two AIs that were being run.

Starterpackages lack example bots.

We should probably include a couple of bots in each starter package. I was thinking of a random bot, a basic bot, and an expansion bot. Right now we just have a random bot.

Issues with messages being ignored, etc in current master

Hey guys,

FYI, the current master branch has some serious issues that were causing me to tear my hair out this weekend. Messages are received inconsistently, even with -t enabled. (On an ubuntu machine). Just warning you so you make sure to QC it thoroughly before releasing.

Best,
Chris

Redundant code

There is a massive amount of copied code in the halite folder.

Small Maps

Really small maps and games produce non-functional files.

Add more email messages

  • email to acknowledge a bit has been submitted
  • email to acknowledge the bot has been compiled successfully
  • email when games I have been played

You want people to come back to the platform.
Give them a reason to do so.

Scalability Tests (After AWS switch)

  • Creation of 120 users
  • Make sure autoscale works
  • Check that pagination is good
  • Check that db latency isnt too bad (would result from manager stress)
  • Check manager latency

Java ugly again

In thee Java API Networking Class, to exit on error, we do this in one of our methods:
System.exit(1);
return null; // the java compiler is stupid.
Is there a prettier way? The compiler makes us put a return statement even though we are exiting.

Revamp reference materials

Opening an issues b/c there is a lot of stuff here

  • Reshoot quickstart video
  • FAQs
  • Make game spec more visual
  • Emphasize dev lifecycle in quickstart spec
  • Strategy spec that goes over things that are always good and some avenues for exploration
  • Better sections (Advanced section for IO spec)
  • Add python and c++ code to spec

Documents to Rewrite

  • Game Spec
  • Contest Spec
  • Visualizer Spec
  • Quickstart
  • ML tutorial

HCE integration tests

  • Compile bot, update source, update status, update history
  • Run game with bots, update trueskill, update stats

Extra security on HCE

  • Ensure that worker has posted the results to right game, alert us if hasn't
  • Ensure that worker isn't running games super quickly (indicates taken over and manipulation of rankings in progress)

Visualizer Lag

I took out the FTGL text rendering, since it's another library to deal with and it's not really universally supported anymore (It's been finnicky on my laptop).
I rewrote our text rendering in straight OpenGL with FreeType2.
The text rendering works perfectly, except for two things:

  1. It adds about 20 milliseconds onto the time for rendering. Not a huge amount, but significant enough to bother me, and I don't see why it should take so long, given that all it has to do is draw a couple of Quads to the screen.
  2. Every ~30ish frames, the Visualizer lags in a very noticable way. It averages about 750 milliseconds on the lagged frames, whereas it averages 20-50 (depending on map and game size) on other frames. I have no idea what's causing that.

Make code submission instructions clearer

  • submit file and not folder
  • submit using the correct file name

The info appears in the email message you get with a bot submission error. This is too late and frustrating. It should appear sooner. Create a dedicated page for bot submission.

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.