Coders Strike Back : The future?

I completely agree with Magus and was thinking about making a similar post about the future of this site in general (with recent developments regarding smash the code and the new CSB format as an example).

I really don’t have anything against offering beginners ways to have fun, but there’s also some things wrong with the “beginners would be scared by additional input, so we dumb it down for everyone” argument. There are already lots of fun puzzles in the easy section, even with a hint system. People that are scared by additional input variables will still have fun challenges there. But people who solved those are “stuck” with the AI section, so this section should primarily target people that have at least some basic programming knowledge and don’t have a problem with an additional variable that says enemy_pod_angle.
Especially, since there have been multiple posts by people from CG telling people that “CG is a place to practice, not to get introduced to a completely new world”. Recent developments seem inconsistent with these statements…

About the new forced tutorial on CSB:

Yes there are some people in the world that want to be told every tiny step they have to do, we have a “hey friend am new here plz help how can play where to click???” post in the chat everyday (no offense to people that actually ask for help with constructive questions :D), but the new CSB seems a little overkill: Click here, congrats next league, now write this, congrats next league.

I like what Magus said about keeping the current CSB as a separate tutorial, and adding the “real thing” without having to grind through wood/dirt/dust leagues. If a league/ruleset sounds scary for a player he/she will just choose an easier setting (like a difficulty setting in a game, that the PLAYER chooses). But unskippable unnecessary tutorials are really frustrating, I’m sure you guys at CG have experienced this at least once in video games. Besides that, I don’t see any drawbacks of the new league system and I think it’s a win for this site.

Regarding releasing the rules from the beginning:

I 100% think the rules should be known from the beginning. Especially in a contest, it can even greatly influence the language choice. For example in smash the code, at the beginning one might think Python or similar languages might be a good choice, but if you look at the leaderboard you will see that choosing a slow language pretty much gives you an upper bound on your ranking. No one could have seen this coming from looking at the Bronze league rules…

I understand that you want as many new people as possible here and I admire your efforts to make programming more accessible to beginners, but please don’t forget that there are also other people here that really enjoy this site as it was and that are concerned with recent developments.

Thanks for reading, if you really did… :stuck_out_tongue:

TL;DL: more input, less tutorial plz kthxbye

3 Likes

Hey guys,

Can’t you calculate the ennemy bot speed ?
You have it’s position from turn to turn so with just a little substraction you can get it… or am I completely wrong ?

I totally agree thought that we should get all the rules (even if deactivated) from the beginning…

You can’t be sure because of the collisions. And you can’t be sure of the next checkpoint of the opponent so you can’t really predict where is he going.

u can, but not that way - his current speed is 85% from the last move vector, cuz the friction force affects pod’s speed after it’s been added to the current position
like that:

pos += velocity;
velocity *= 0.85;

but beware of wrong speed calculations when pods collide

I don’t think that there is can be found silver bullet.

Mostly beginners scared to fight with “no chance to win” opponents. Reduce input is try to avoid such case.
I don’t think that big input scary beginners.

I think that good idea is to make input similar to contest and place contestants who are already have some code from contest to specific league.

Leagues must be have same input, changing rules is ok and I prefer do not know higher league rules.

Hey, I was going to write almost the same post with the leagues thoughts.

So, there are 2 things that need to be addressed (in my opinion) in the current state of leagues – incomplete rules and forced tutorial.

In my opinion it could be addressed like that:

  • Split the game onto 2 parts: wood leagues with simplified rules (aka demo version) and metal leagues with the same rules among all metal leagues (aka real game).
  • Make the wood leagues skippable for ‘experienced’ codingamers (for example, grand master and above).

For example, I see this CSB multi game as 5 levels of wood league (and maybe you’ll agree – you overdid it) and bronze, silver, gold (and maybe legend) – split by different bosses.

So if the beginner wants to play in the easy demo version of the game – they have an option to do so. And they have option to skip all tutorials and jump right to the bronze with full rules and easy default AI.

So, wood leagues for demo with any rules. Meal leagues with constant set of rules for the real game.

P.S> Not sure if I sumed all things right, please ask questions if I missed something.

8 Likes

yea, that looks like the best option, i’d do like that

but what about going from wood to bronze? will your wood code be saved? or it’ll be resetted to the new default with the right inputs?

u can reset the code to the new default code and show that the user can take his old code from the History tab

1 Like

I share these concerns. I don’t mind getting simplified rules in early leagues, I don’t even mind getting simplified inputs in early leagues, as long as code does not get obsoleted.

For example in the contest version of the game, our speed was given. Here we have to compute it.

On the other hand, we get as input the distance and angle towards the next checkpoint.
The distance is easy to compute with the given inputs (unlike the speed, for example). The angle is useless with bronze written rules (if the 15° rotation limit is still in use, it’s not written in the rules).

An easy way out of the dilemma of dumb vs intimidating inputs could be to have the AI send a string, prior to any input, stating what input it expects.
It could also solve the problem of making lower-league AIs compatible with the next-level ruleset…

1 Like

the rotation limit is 18

The pod will pivot to face the destination point by a maximum of 18 degrees 
per turn and will then accelerate in that direction.

but how do u think, could’ve full inputs of CSB contest scared some newbie players in the very easy wood league? i think no

Still not written in the bronze rules, unless I’m mistaken.

[quote]but how do u think, could’ve full inputs of CSB contest scared some newbie players in the very easy wood league? i think no
[/quote]
Full inputs in the wood league could have complicated the thing because it is really easy, but starting in the bronze league, I think such concerns are unwarranted.

that’s written in the ol’ CSB contest rules

Really strange decision about how Coders Strike Back league system is introduced! So I can’t just copy-paste my good code from contest and improve it further. I first need to downgrade it, by removing reads of missing game data, and by implementing reads of simplified game data of Wooden league.
And then, after getting to the Legend league, I need to reimplement it back. Not so interesting!

3 Likes

yea, that’s what we’re talkin about - the best idea is to hide all the simplified inputs into a skippable tutorial, place it instead of the wood league for novice players, and starting from the bronze league there’d be the full inputs

Another idea for fellow strongmen/women of CSB contests is to be able to jump league depending on the ranking you had on csb?

Another Idea for a flexible game like CSB would be multiple disciplines, i.e. totally independent settings based on the same game engine:

  • Classical CSB: 2 vs 2, first Pod wins race for his team
  • Classical 1 vs 1: Like the current silver league with input like in CSB
  • Just Race: 1 vs 1, No collision, just racing. Best racer wins
  • Optimization: Finish a set of hidden validators in minimal time, no collisions, no enemy team
  • Survival/Arena: 2-4 players, no racing, if you leave the arena, you loose. Kick your enemies out of the arena. Last team standing wins the game
  • Reversed: Classical 1 vs 1 where one team has a reversed order on the checkpoints

POINT BASED GAMES:

  • Capture the Flag: Steal the flag from the enemy base, return to own base. Hit enemy pod to return your flag to your base.
  • Game of Zones: Like Game of Drones, with fewer zones. Each owned zone gives 1 Point per gameturn
  • Token: Collect the token, each turn you own the token, you get 1 point. Hit the pod with the token to steal the token, protect your token pod with your other pod.
2 Likes

and the same amount of copy-pasted movement engine code, with fixing a bug in each game in a row

that’s a good idea, but first it needs a possibility to divide your code into different files

At this point I think the best solution would be to give up completely on the full set of input. Add the last rules (2 pods, maybe additional rules…) but don’t add any input information that we can compute with the current inputs. For example do not give the pod speed, do not give the list of checkpoints…

The opponent’s next checkpoint is questionable. We can try to guess it after lap 1, but it will always be only a guess…

On the other hand, an example of information which could be useful but cannot be computed atm (afaict) is the number of laps required to complete the race.

They would make it a totally different game, the CG staff needs to keep some freedom of movement for future contests.

Also, for game of zones, you would want a game of drones with physics? Isn’t GoD already complex enough as-is? :wink:

No, I was thinking like 1-2 pods and 2-3 Zones that are too small to be occupied by more than 1 pod at a time. This would remove most of the complexity of Game of Drones and it would be more like classical CSB than GoD :slightly_smiling:

maybe like 1-2 pods per player, and 5-8 random zones? it’ll be like Capture and defend