Skip to content
This repository was archived by the owner on May 25, 2025. It is now read-only.

Concept

Jonas Götz edited this page Jan 12, 2024 · 1 revision

Topics

  • General Concept
  • Game
  • Sockets
  • Server
  • Rules

General Concept

#TODO cleanup and ready for introduction about 4 weeks before event #TODO do we want to give the information about there are COREs you have to destroy in advance

  • Strategy game
  • Easy to enter the competition -> we provide a Sample Bot and a C Socket lib => can be extended if they want to for more control
    • Only code the bot no other stuff that's boring
  • King of the Hill concept
    • reset after set amount of time (1 month / 2 months / 3 months)
    • You win when you have been the Team with the most time on top of the hill in the cycle time
  • Played by own bot
    • in C (we will provide a C socket lib for basic server communication)
    • Rust / C++ / (other languages like GO?) => They have to code their own socket connection following the rules
    • everything in dev container
    • no external library is allowed
  • Communication with sockets (player bot <-> game <-> king of the hill bot)
  • The winner gets something (eval points?)

=> first we do organized tournaments to show people the game and get more ppl interested. Winner will be king of the hill

Event

  • Every 3 Month there is a big event with new patches. All players come together and create their bots in 10h.
    • After the 10h all players play against each other.
    • No attacks during the event
    • Group phase
      • to get the group
        • every group fights the start bot.
        • ranking of fastest winner to fastet defeat
      • After that winner vs. winner
  • After the event the rest of the three months can be used by all teams to optimize their bots with the current patch.

Game

Rookie League

  • Mirrored playing field
  • accessible up to Intra Account level 4 => more fun for newer coders
  • simpler Game (doesn't get updated like the "advanced" game)
  • is able to play in the advanced League once the team won once

Advanced League (later)

  • Random / more advanced field
  • more advanced an complex game
  • harder to enter
  • get updates each KOTH cycle
    • new Ores
    • new Troups
    • new Buildings
    • ...

Socket

No error messages. Invalid input will be ignored!

Serde for validating and converting JSON in Rust

Old versions of the game should work with newer patches -> send attributes of all entities once after all parties have joined the game

Who what?

What Who
Game jgotz, jkauker
Martin pgrossma
Library pgrossma
Debug visualizer lzipp
server pgrossma, jgotz
 website tpaesch, jgotz
 Presentation visualizer tpaesch, jkauker
 Socket jkauker, jgotz, pgrossma
 Gamedesign jkauker
 Publicity tpaesch
 Organization jkauker

How to work

  • Code
  • Documentation !!!

Code environment

  • install.sh script
    • pull core repo
    • replace martin submodule with $(userinput team-repo)
    • git add
    • git commit
    • git push
    • => ready
  • update.sh
    • holt über Schnittstelle repo von aktuellem koth
    • aktualisiert damit starloard submodule
    • pullt core submodule

=> THE GAME NOW WILL BE THE ROOKIE LEAGUE LATER

Clone this wiki locally