Didn’t read all stuff, sry if my post repeat what has already been said.
Got a lot of frustration from this new version of CSB, so I wanted to add my point of view.
I really like the league system. But here I feel like it can’t work that way.
Wood league is fine, it’s like a small tutorial and newbies might like it.
But then… I dont understand the progression…
Why would you add collision when essential informations are not in the inputs ?
To get out of silver, I had to save checkpoints coordinates, and calculate pods pseudo-speed… Knowing that these informations were provided in the original contest is so frustrating
In my opinion, we might have :
Wood League : as it is, maybe skippable.
Bronze : full input ( speed, checkpoints, etc ) for one pod ; also keeping the wood inputs (nextCpAngle & nextCpDist)
Silver : add collision & shield
Gold : second pod
Ultimately, it would be great if a “gold pod” could run in bronze league.
Maybe by adding a few inputs like “podCount” “isShieldActivated” “isCollisionsActivated”.
So as an improvement it would be possible to fight a friend without being in same league, with the lower league rules.
nah, they wanna simplify inputs for newbies, not to add more extras
it’d be better to move all the simplified rules to the wood league, and starting maybe even from the bronze league there’d be 2 pods and thrust=200
do u know that there’s gonna be max thrust=200 in the legend league? your selected constants are gonna become bad ones when thrust 200 will come
They don’t need to add the extra inputs later, though. The example of gtsbaka seems on-point to me: you can compute your speed and the list of checkpoints in silver. Why make it easier in gold league by giving this information for free?
I’m not gonna edit anything in my AI before the legend league. But i was wondering if the 200 thrust limit will come back or not. If we have a 200 thrust limit in the legend league it’s a good thing for everyone.
The boost feature is good thing too. Because anyone played the contest can keep his code from the contest and just add the boost feature in it. It’s something interesting to do.
I’m sorry we haven’t come back to you earlier on this. We’re really aware that this has been very much frustrating for some of you. Let me try to make things clearer.
The goal behind the new multi game Coders Strike Back - League is two-fold:
have a tutorial to AI games
explain the league system
We decided to use Coders Strike Back, because it was the most recent contest (we were working on this before Smash the Code) and a lot of you had asked to play it.
The main problem is that Coders Strike Back is a relatively difficult game and thus we have encountered a lot of issues trying to:
introduce the league system in it
make the tutorial simple and progressive
In particular we wanted to propose simple inputs in low leagues for the beginners not to be afraid of the complexity of such a game.
At the end of the day we still wanted to offer the game as it was during the contest, that’s why in gold we changed it for it to be very similar to CSB contest.
We’re still convinced about the need to make AI games more accessible, but we agree that we’ve made some mistakes on the road. We are really excited by the league system and we’re still tweaking it so that it gets better. Here’s what we have in mind for the future considering all of your remarks:
the league system will be added to other non-league current AI games, one at a time, regularly
the rules changes will be limited. For contests, it will be most likely possible to know them but for normal games, we’re willing to keep a bit of surprise to players
the inputs won’t change. This way, you won’t have to delete your own code and it will always be possible to compare your code to AIs of different leagues.
the CSB tutorial will most likely stay as it is now. Legend league will be added in the following days. We’re thinking of putting the thrust max at 200, and keeping the rest of the rules/inputs. What do you think about it?
I hope I’ve reassured some of you. Don’t forget that we’re still working on it and don’t hesitate to react to this post, we’re listening
PS: @MadKnight@grandjeanrenald if that’s ok with you and as suggested by grandjeanrenald, I’ll delete your posts about PR in this thread, so it remains clear for everyone
PS: @MadKnight@grandjeanrenald if that’s ok with you and as suggested by grandjeanrenald, I’ll delete your posts about PR in this thread, so it remains clear for everyone
yea, delete it, that conv is already over
the inputs won’t change. This way, you won’t have to delete your own code and it will always be possible to compare your code to AIs of different leagues.
that idea for simplified inputs may be an ok idea only for a skippable tutorial such as wood league with very simple enemies, but then this wood league is the only good place for simplified rules too
and why didn’t u describe the physics engine in gold league just like in the CSB contest? it should be there already
I will also add some additional information:
CSB was created to eventually replace the current Onboarding. So we could not use the same inputs as the contest for the tutorial.
@MadKnight I already asked for the physics engine, still no response yet.
The thrust max at 200 is a “must have”. Like pb4608 said one day, CSB is easy to handle but hard to master. With a thrust max at 100, it’s so much easier to master and it reduce the gap between a good AI and a very good AI.
The boost rule can stay. It’s fun. We can keep our code from the contest but we must add the boost rule in it. If you the add league system to others games, you should always do like this: Keep the same inputs, just add some minor rules.
You can always test it, but yes it is still a -18/18° limit.
But still, it’s been almost a week I work on reverse enginerring the physic engine so yes please do provide it. I actually found magus csb post-mortem somewhere in the forum that explain it well, But that shouldn’t be the main resource!
On each turn the pods movements are computed this way:
Target: if the angle to the target exceeds 18 degrees, it is bounded.
Thrust: the normalized vector between the position of the pod and its target is multiplied by the given thrust value. The result is added to the current speed vector.
Movement: The speed vector is added to the position of the pod. If a collision would occur at this point, the pods rebound off each other.
Friction: the current speed vector of each pod is multiplied by 0.85
The speed’s values are truncated and the position’s values are rounded to the nearest integer.
Yup, the physic of this thing is absolutely abnormal ; if you push a thrust of 100 the first turn, you will end up with a distance travelled of 100 and a final speed of 85 (physically impossible, you can’t have travelled more than your final max speed starting from 0, that would mean you acquire a 100 speed immediately at the beginning, and at the end of the turn, it drops immediately from 100 to 85, leading to infinite acceleration and deceleration ; the thrust should be the acceleration, and friction cannot be just simulated by a reduction coefficient on the speed).
Rules changes will more likely affect wood and bronze leagues. For example in Smash the Code contest, from bronze to silver, the colours could be different, but the input had the same structure.
Changing a rule in a multiplayer game can be fun and challenging but it’s also a complex thing to do as it should not obliged players to revise their entire code. A rule change reflects the progression of difficulty and must be somewhat seamless.