[FVG]: Difficulty Levels

i know this doesnt need to be decided right away, but i figured why not start now? we need to decide some things:

how many difficulty levels we want to have

  • which are available from the beginning and which must be accessed
  • has anybody noticed how much i love the list code? :smiley:
    *]what we want to name the different difficulty levels

We should start off with 3 diffuculty levels:

Rookie == easy == limited AI, a few smart moves by the computer, etc.

  • Veteran == norm == good AI, more smart moves, etc.
  • Expert == hard == extremely good AI, makes very smart moves, able to predict opponets moves, etc.

I am tempted to put a 4th, harder level of difficulty, but these three will do.
:smiley:

Rookie Mode
Normal Mode
13 Year Veteran Mode
Dean-Like Mode

The only problem with the difficulty being the AI is, well, that AI is hard to do, expecially considering that there will be dozens/hundereds of robots that the AI might have to handle, each with different capabilties/stregths. Also, the field isnā€™t very static, meaning there are balls bouncing around, other robotsā€¦ All in all, AI will be the hardest part of the project (after we get the framework up, of coures.

A better idea might be to make the different levels give your particualar robot various levels of ā€œhandicaps.ā€ For instance, on rookie, your robot might be able to always climb the platform (assuming itā€™s so equipted). Also, HP accuracy is something easy to write that could be used.

Perhaps not ā€œDean-like Modeā€ but simply ā€œDean Modeā€. That would be amusing :slight_smile:

MrToast

i was actually thinking it should be:

Rookie
Veteran
Expert
Gracious Professional :smiley:

A given AI will only support a given set of bots.

Iā€™ve been thinking, and hereā€™s how it goes:

  • The AI is sepperate from the robot (malicious code)
  • The AI recieves info on the robotā€™s speed, position, orientation, and the feed back data.
  • The AI outputs an OI packet
  • The packet is screened before going to the bot (malicious code)

The goal is to prevent an AI from interacting directly with the robot (preventing cheaters), but allow the AI to be easily made and quickly ran.

I think the levels should be:

Preseason Scrimage - barely functional opponents
Early Regional - half of Opponets work and little strategic play
Late Regional - 3/4 of Opponents work and play strategically
Championship - all Opponents work and play strategically

I was thinking that one way we could change the AI would be to add time delays to when the AI receives/can use and react to the other robots. So hard, when you moved the AI would know almost immediately and be able to react to you and prevent you from doing something faster, where as on easy maybe add a few tenths of a second to that, so it would be like the AI driver had slow reflexesā€¦ just a thought.

If this is the case, then each robot would have to include a ranking of its strengths and weaknesses (e.g., more defensive, better hanger, etc.). Note that it would be rather complicated, and not necessarily very effective (esp. for time put in) to do it this way, ā€“ at least at initial inspection. It seems to me, though, the computer AI needs just be a generic bot (maybe have several based on different strengths/weaknesses), but the AI seems very much a property of the bot. Of course, and this is a BIG of course, it is waaaaaaaaaaaaaaay to early to really be discussing any of this seriously. The AI can wait, because it is all for naught if no energy is put into the basic structure, the very backbone of the game. What will the competition framework be like? How will matches be handled? Start thinking in terms of:

Basic element is Robot, of which two constitute an alliance. 2 alliances passed to Match, which returns winning alliance. List of Robots passed to Tournament, which includes a Scheduler which gets all the pairings and timing set up (a fair amount of thought needed if you allow many players across a network connection; for instance, it seems heuristic methods for a ā€œbin packingā€ problem might be neededā€“but now I commit your sin and digress :P). Tournament includes Scheduler, some Referee element (makes sure all stay in field, robots arenā€™t hit too hard, pinning limited, etc.), a Scorer(for Match, and then one for Tournament), which scores the match and some way to record the running score of the whole tournament. Etc.

Thereā€™s a bunch more elements like this. I may have even been too specific; it helps to start out with general outlines like such, so everyone is thinking of the same thing, ā€¦and so that once it is fleshed out more, elements like AI Design can be tackled in turn and everyone can see what they might be able to add discussion to, etc. Of course, ignore my poor example and just use it as a general springboard for thought, not necessarily a suggestion for your particular structureā€“which I canā€™t even begin to make, as I donā€™t know many basic things that need to be decided first ā€¦ e.g., do you plan to allow multiple players through network connections eventually? if so, should know so you can plan for it now ā€¦ do you plan to play through a whole tournament season, and then go to nationals perchance, or just a single match or a series of matches? ā€¦ etc. You can see, I hope, that the basic questions must needs be discussed, so that the basic structure can begin to be discussed, so that the more specific elements can be discussed, so that algorithms and pseudocode can be created, so that eventually you can program the darn thing. (Disclaimer: Some steps missing.)

I like those three for the first three levels. If adding in a fourth level, it should only be available after beating the whole third/expert level - kind of like a secret level.

Sorry for tossing in my two cents without reading all of the threads about the video game. Maybe this has already been discussed, but wouldnā€™t it be great to be able to help another team in the pit area, have alliances congratulate eachother, etc? In short, if you REALLY want a game about FIRST, then it needs to be something other than just the game. These things could be done with a combination of text and simple objects without actual people to model if that was too hard. OK, Iā€™m done. Congrats on a great project and good luck.

Cool idea. For the first versions, weā€™ll probably just go for game play, but maybe after we get that working well, we can have break downs, with a few decisions on what you should doā€¦ :smiley:

We might also be able to have a few scenes created in 3DS showing one team congratualting another. Obviously you couldnā€™t do all of them, but, you could do someā€¦

A built-in pit chat? maybeā€¦
some clips from various comps would be cool. Also: if youā€™re in the pits, how about watching the game?
(This is all for LAN/Web play, of course).