Giter Club home page Giter Club logo

gamecontroller's People

Contributors

akasch avatar alexarossi avatar bidski avatar dennisschuerholz avatar drewnoakes avatar dseifert avatar fthielke avatar gregwar avatar jgueldenstein avatar luncf avatar maikepaetzel avatar medrimonia avatar ohing504 avatar omichel avatar schra avatar sgssgene avatar sheepsy90 avatar skuzzle avatar thomasroefer avatar timonegk avatar ysims avatar yuzong 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gamecontroller's Issues

Drop-In: Customizable number of players

We should show up to six players for each team as in the regular games. It should be possible to mark either one or two of them as (sub), meaning they are not active in the game. Currently all five are always active, even if only five players participate.

Drop-In game: Counting of individual points

If a goal is scored by team A, only robots from team A who are not suffering from a penalty and are not in service should receive a point. Currently all of them receive a point.

Penalty Kick

The goal is to introduce Penalty Kicks into the Game Controller.

In order to to that - the Game controller needs two new buttons for each team:

The following should happen when the button is clicked:

  • The game enters into a secondary state: PENALTY_KICK_PREP
  • The game pauses and a timer runs down to indicate when the 15 seconds are over
  • After that the according penalties (removing robots can be dealt with)
  • When pressing the button again the game goes back to normal

GameController doesn't end correctly in Windows

We are running the GameController in Windows. When you close the GameController, you can't open it again because it says there is another instance already running. You have to manually end the javaw process in the Task Manager before you can start it again. It looks like when you close it by clicking on the "x" on the top right it doesn't shut down the process correctly. Would be excellent if that could be fixed.

3 State Phase on Penalty Kick

As in the Direct and Indirect Free Kicks also the penalty kick needs a 3-phase protocol with the secondary game state byte being set.

2 yellow card -> 1 red card

If a second yellow card is added for a robot, a red card should automatically be assigned as well. Right now, this has to be done manually.

Make clear which team is on which side

Currently in the re factored version it is not entirely clear which team is which in the GameController during the game. There should be some beauty added again.

Drop-In: Opening Dialogue

Drop-In games cannot be knock-out games. So the checkbox should be removed. Since there is only one half time, automated color switching doesn't apply either. Checkbox can be removed as well.

Compilation problem in Helper

When cloning we get a compilation error in eclipse in class Helper.java on line

import org.junit.Rule;

The import is not needed and can be removed.

Mercy rule

It appear that the mercy rule (game stopped when score difference is more than 10) is not present anymore in the official 2017 rules for kid size, however it is still implemented in the official game controller

Team names are not swapped for half time

During half time, the teams switch to the other half of the field. In the GameController, only the red and blue labels on the robot buttons switch, but not the team names and colors on the top.

Add a team logo

It is easier to differentiate the teams if the logos would be shown next to the team names as in the old GameController.

Pushing used SPL code

The physical contact penalty used the code from the SPL and therefore had the problem of giving 45 instead of 30 seconds penalty.

Add a third state for free-kicks

Currently the free-kicks have two states - "Prepare free kick" and "Execute free kick". We need a third state before the current first one which is just called "Free kick". This has to be added in the UI and send to the robots. This issue is rather critical.

Allow to start GameController from within Eclipse

May be I did something wrong, but for me it did not work to clone the game controller, import it in eclipse and run it. It is not able to find the resources like config/spl/teams.cfg

The typical cure for this is to add the resources folder as source folder in eclipse. This has two problems here:

  1. The dropins folder will then show compilation errors. Not sure if dropins is really properly located in the resources folder since it contains source files.

  2. The files are still not found. To be able to have both, finding resources in source and jar, one should use getResourceAsStream() method. This would have to be changed at least at:
    TeamsLoader.java (71)
    InputStream stream = getClass().getClassLoader().getResourceAsStream(PATH+dir+"/"+CONFIG); Scanner s = new Scanner(stream);
    Teams.java (83)
    InputStream inStream = getClass().getClassLoader().getResourceAsStream(PATH+dir+"/"+CONFIG); // InputStream inStream = new FileInputStream(PATH+dir+"/"+CONFIG);
    Teams.java (142)
    Helper dummy = new Helper(); InputStream inStream = dummy.getClass().getClassLoader().getResourceAsStream(PATH+Rules.league.leagueDirectory+"/"+CONFIG);

With 2 changed the files are still not found when running as jar. The build process in build.xml would have to be changed to include the config folder in the classpath. I stopped here.

Drop-In: Exception thrown

Exception in thread "main" java.lang.StackOverflowError at controller.ui.ui.HL_DropIn.dispose(Unknown Source)

Unfortunately not easy to reproduce, but thrown at some point and then very often in a row. Doesn't seem to affect the functionality, only printed in the console.

Timeout does not count down

If teams or the referee take a timeout, the game time should stop (which works), but the timeout time should count down. However, the counter of the timeout does not go down.

Disable free-kicks in penalty shoot-out

In penalty-shoot out mode, it is not possible to get free-kicks. In order to not make mistakes when operating the GameController, this option should be disabled.

Free Kick timeout

Hello,
From the official rules:

the ball is in play when it is kicked directly out of the penalty area (new): or 10 seconds after the referee gave the signal

If we want this rule to be applied, I think we need the 10 seconds counter to be visible in the Game Controller, and maybe also broadcasted

Kick-Off is switched after Timeout

Currently the kick-off switches if the team has taken a timeout. Instead, it should remain the same as it was before. This was a bug in the previous version already.

Robot Penalty Cards

The robot should get the information how many yellow and red cards it has.

Regular games: Opening Dialogue

Since a game can never start with both teams having the same color, it would be convenient if they are by default one blue and one read. Right now they are both blue by default.

Changes in free-kick secondary state order

Currently, the GameController goes to "prepare free kick" first and counts down the 15 seconds and then goes to "freeze free kick". This is the wrong order! The following changes should therefore be made without changing the protocol (for direct, indirect free-kick and penalty kick):

  1. In the UI, have the "freeze free-kick" first (without secondary game time) and then "prepare free kick"
  2. Change the labels on the UI - instead of "freeze" have just "Free Kick" / "Indirect Free Kick" / "Penalty Kick"
  3. Once you click on the button - instead of "prepare" have "Free Kick Ready" (the others accordingly)
  4. Execute Free Kick stays as is.
  5. Please change the description in the protocol and wiki as well, but do NOT change the actual bits that are send in each case.

Drop In Games with Robot Points

In the start interface, allow to select drop-in as a game type.

The interface then looks the same as for regular games, except that it has up to five regular players for Kid and up to four regular players for TeenSize, no supplement players.

Only one ten minute half exist, no penalty shoot-outs

Behind each player’s number on the button is shown the total point count for this game. This is automatically calculated like this:

-- If a goal is scored, all robots from the team scoring a goal who are active (not suffering from a removal penalty, are in pick-up or service) automatically receive one point

-- All robots from the opposite team receive -1 point

-- For each robot, there is a plus and minus sign allowing to manually add or remove points in case they were awarded points by mistake (for example, they just got a removal penalty when the goal was scored, so the removal penalty was not pressed in the game controller yet)

-- The robot scoring the goal gets one point awarded manually by the assistant referee (with the plus button at the respective robot)

Free Kick

The goal is to introduce Free Kicks into the Game Controller.

In order to to that - the Game controller needs two new buttons for each team:

The following should happen when the button is clicked:

  • The game enters into a secondary state: FREE_KICK_PREP
  • The game pauses and a timer runs down to indicate when the 15 seconds are over
  • After that the according penalties (removing robots can be dealt with)
  • When pressing the button again the game goes back to normal
    (There is the open question here whether a second sub state should be active for the 10 seconds or if the players need to realize themselves that there is the logical transition back from FREE_KICK_PREP)

Last action in time-line is shown in reverse order

In previous GameController versions, the last action was always displayed on the right most end of the screen. Now it's the left most end of it. Would be good to have that as in previous years again.

Align Adult League Screen

As a referee the games in the Adult League will be 'normal' games in a similar fashion as in the
Kid and Teen Size League.

  • Make the adult siye screen a normal game screen like the other two sizes

Original Email Text:
No dribbel and kick competiciton anymore, they should get the same interface as Kid and Teen, but with only one active player at a time

Refereee Timeout

The SPL features a referee timeout that can be activated for humanoid league as well.

Secondary time in Free Kick state 1 (old "freeze") changes randomly

It was reported that the secondary clock when you first click on "free kick" (which was the old "freeze state") keeps changing randomly and takes crazy values. This is not good, because even though it is not important in this game state, there might be teams listening to it and getting confused still. So if there is a fix for this (even a hot fix that just sets it to 0 hard coded) would be very helpful.

Dynamic CoachMessage Size

Check if it is a good design decision to add a field coachMessageLength that expresses how long the
following coachMessage is.

Check if penalty is removed too quickly

I'm not sure about this one, but today it seemed like the robots got the information that their penalty was removed already when the 30 seconds were finished counting down without the necessity for the GameController assistant to manually "free" the robot by clicking on it again. That shouldn't be the case - the robot should only get the signal after the button was pressed and is not blinking yellow anymore. This might not actually be the case and only observed by mistake, but please just confirm that this is not the case.

Manually penalized

Hello,
In the game controller return data, the robot can "manually penalize" itself
I don't really understand what does it means regarding the rules, is it a way that the robot can signal its own malfunctioning for instance?

Dynamic RobotInfo Size

Check if it is a good design decision to add a field numRobots in the TeamInfo that specifies how many robots the team has. Additionally one can add a field isFirstRobotCoach that is true or false whether the
first robot in the array is the coach.

What Benefit: Smaller package size

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.