i did the same actually. and in CVS2
Maybe we should get counseling? :lol:
lol!
With this revelation, I don’t think I need counseling!! We’ve all just discovered that everyone else does it, too, so we’re not crazy anymore!
- James
:wgrin: Makes we wanna boot up my snes emulator and get some CPU vs CPU matches going. :lol:
I miss ryu’s <insert # of cr.lk> > cr.hk xx hado.
I have been thinking along these lines for some time and I am willing to contribute to the project if anyone is still interested. My thoughts were first along the lines of developing a training mode option that allowed you to set the CPU controlled opponent to perfect defence, or most damaging punishment at first available vunerability. Then I started to think of recording your own play style patterns and having the computer inform you which ones were safe in which scenarios (by promptly kicking your ass. This led to me to the idea of being able to play against CPU controlled opponents with the patterns of the great players kind of like chess programs that can beat the masters. At first I wanted to mod a stick that had programmable functions and recorded input strings. I investigated mugen AI set ups but they are far too simple for general AI and learning procedures. I think if we got a descent project proposal down and could enlist the help of Sirlin or other decent game theorists then Capcom may provide help ( this is something I can assist with). Universties would love the AI fighter concept. My own idea on this was to develop new software that would alot each character the same total amount of points to spend on specific properties but there were pairs of traits that you set a point on a scale between for an example the damage a hit did VS the speed of the start up and recovery phase, or quickest response time was set against strategic manoeuvreing. You could have modes that only allow you to configure your AI prior to commencing a match, and one that allows real time modification. It would be street Fighter in its purest theoretical form minimising the role of execution. Setting up a project development schema could allow us to get started with what has been discussed here, but with a view to go beyond very basic setups found in the games mentioned that have similar features. I dont know how compatible the different approaches are (having the AI have access to all frame data and such VS the learned behavior) but the theory has already been fleshed out by mathematicians, game theorists and AI Scientists. Because of the limited complexity of the Street Fighter world I think optimal solutions could be found to these problems. Especially if we restrain the CPU abilities to the threashholds found in human players. These are just the lines along which I have been thinking up untill now but I am sure if we get organised this can gain momentum and achieve some valuable results. Anyway let me know if anyone still wants to do something. I have some knowledge of the relevant math, logic and computer science needed to get started , I also have lots of time and research and project planning skills, but I imagine we will need coders, math gurus and other technical help to make this happen
PS I think the AI battles would be more useful as a character balancing tool then as a tier list maker. It would measure something, but that would be which AI is better at beating which other AI, not which character on average beats which other character.
Restraining the CPU to human-like performance makes the game a lot more complex, and it’s not that easy to work out what human players are capable of. Unrestrained to human-like performance, the CPU is completely worthless for tier list determination.
I agree on both counts. The data for human reaction times and limits to our manual dexterity are already available. But coupling that with decision making on the fly is where it will get nasty. This is where the data from high level competitors could come in. I dont see the best players voluntarily giving up thier secret thought processes and conceiled execution manouvres easily (at least some) but match vids can be used to procure enough information to get started. Once enough modelling is done of the human element the computer will able to extraploate and fill in the gaps and apply the techniques with greater reliability than even the best. I think the real question of achieving this is getting enough talent to collaborate. We need high level players, and the tech know how. Assistance from Capcom would be invaluable. I think they will want to keep the franchise in the same territory they have for donkeys yonks. Most people play these type of games casually. But there are ways of making this less sterile and clinical. Training can be set up in a bare bones manner like training mode is now. Or it could be like Dojo where you perform practise for rewards and achievements. I am keen enough on this that I am going to organise the ideas produced so far and put together a feasibility assesment. After this becomes more concrete we can decide whether its worth trying to get together the contributors. If anyone has any ideas about what form the end product would look like and how to acjieve it please post. There has already been some good discussion. Also contacts would be good. Peeps at Capcom, computer and math junkies, good players or anyone who can bring something to this. I really hope we can get somewhere with this. I am sick of playing a second rate CPU AI to train against and record mode is not a very efficient method either. I would love to be ale to play ghosts of the great players to school me. I played justin once on XBL and just two rounds was enough to show me some major flaws in my game plan. On that note has anyone heard anymore about being able to buy game time with the pro’s. I would do it weekly but they are probably getting more dosh through sponsorship agreements and web site advertising. side note, getting data from good players in casual and tournaament settings would be an advantage. Thanks to zass for starting this thread, I thought I was the only SF freak who thought about this stuff lol
I guess it depends on what you intend a tier list to represent. If it is matchups based on the characters being played to their full potential, then isn’t the CPU ideal for this? Taking things like variance in peoples reaction times out of the equation, or outside factors like any knowledge they have from fighting a certain player before as opposed to no experience, but knowing the matchup anyway?
You can do so much cool stuff with software, I’m sure it would be possible to program an AI that respects the limitations of the game, and is able to come up with it’s own combos based on criteria regarding length of block/hit stun, startup/active/recovery frames for moves. For example if move “A” inflicts “10” frames of hitstun and move “B” has 6 frames of startup, then it is possible to combo move “A” and move “B”. Obviously I’m just picking random values, but the thing with ST is that we do have the frame data available, and a good knowledge of the game engine, collected from years of high level play.
You could probably even turn on the hitboxes in ST with a cheat/hack or code of some kind.
If you did want the AI to represent human reactions, then you could just look at some of the research online, program a hard reaction time of 200ms or so (which is something like average IIRC), and maybe a fast reaction time for expected actions, and a slow reaction time for unexpected actions, and maybe have the AI randomly fluctuate in between these values to give a slightly more human performance level.
But yeah, I know playing vs a CPU will never be as good as vs a human, but it would be nice to have a realistic CPU to try stuff against when there is no one online.
I agree that playing people is more fun, but playing an ai controlled opponent is potentiallly a much better training tool. There are chess programs that beat the best in the world. Because its nearly impossible to get descent play time vs great players this would help a lot of serious players who live remotely or have a low standard of competition in their area.
What you need is a learning algorithm confined to only react within normal human speeds. Then let it run, eventually the computer will learn everything there is to know about the matchup. Then we’ll watch as CPU Gief, just stands there when it has to fight honda.
:sad: So even the CPU knows there’s no hope.
That would be so funny if it actually happened though.
It might crouch, and throw some cr.lp, but if it got hit once, it would dc. :lol: