Glad to see that Nobby Boi is a run killer for AI too lul
@metalema65 жыл бұрын
Now for an AI that evolves and learns from its losses
@Bertanis5 жыл бұрын
I am disapointed. I came expecting a slay the spire bot built on a convolutional neural network that would still lose horribly after hours of training. Instead, we get a hard-coded bot that actually wins?! The nerve!
@AhmedKachkach4 жыл бұрын
7:15 - 5% winrate for Silent, 7% for Ironclad, 10% for defect. That is still pretty high for a game that is mechanically complex, but I would still expect a proper AI (ML-based, or using tree-search) to have significantly higher winrates.
@ziquaftynny92854 жыл бұрын
Hard-coded bots are boring
@elifriedman3175 жыл бұрын
Ayyyy lets gooooo I’ve been waiting for a year for this thanks for this
@ForgottenArbiter5 жыл бұрын
Me too! I hope it motivates some people to pick up where I left off.
@RavenGr5 жыл бұрын
Thanks for this, looking forward to toying around with various AIs!
@ForgottenArbiter5 жыл бұрын
I look forward to seeing it if you do!
@ecbrd84785 жыл бұрын
I'm definitely looking forward to seeing something more sophisticated, if it does arise.
@nicholasso85605 жыл бұрын
Guess we start advising people to hard-code themselves if they can't beat ascension 0.
@maximmorshin74465 жыл бұрын
Nicholas So is that a NL reference?
@nicholasso85605 жыл бұрын
@@maximmorshin7446 Not at all, though I'm interested in what you thought I referenced.
@brian_kam5 жыл бұрын
Lmao
@vitorsamuel7775 жыл бұрын
@@nicholasso8560 Northernlion, a canadian KZbinr who plays Slay The Spire in his channel, and is famous for being bad at it lol
@darthelmet15 жыл бұрын
Cool mod. I was thinking of trying to make a bot for the game at some point but I didn’t really want to have to do all the work to hook everything up properly just to get started. I’ll take a look at this and see what can be done with it. It’d probably still take a lot of work to make a learner work properly, but it’s kind of interesting that a bot with such a simple heuristic can at least win normal mode.
@ForgottenArbiter5 жыл бұрын
Yeah, a big part of my thinking when making this was trying to see just how simple I could make it. I was definitely a little surprised to see the AI go all the way for the first time, and most of the changes since then were just little tweaks and bugfixes. Winning consistently is much, much more difficult. I'm really curious to see if someone can make an AI manage that, at least on A0. If you decide to give it a shot, I look forward to seeing what you make.
@xRockLobster75x5 жыл бұрын
Woo! Nice work. SMOrc-clad best 'clad
@nicolasarayabain43435 жыл бұрын
This is awesome! So inspiring!!
@Bishopn-np7ss5 жыл бұрын
Also, I didn't hear any mention of potion strategy, do the AI just unload all the potion when it encounter act bosses?
@ForgottenArbiter5 жыл бұрын
Yeah, sorry, that's exactly what it does.
@Marc0173 жыл бұрын
Damn, the runic dome has no downside for AIs ^^'
@carlosfernandez81425 жыл бұрын
Obligatory Creative AI joke
@XGreenhoot5 жыл бұрын
Really appreciate what you do - your content stays incredibly interesting and satisfying. Big ups
@danielb62815 жыл бұрын
I can only agree, great video
@ForgottenArbiter5 жыл бұрын
Thanks! I do read all comments, even if I don't always respond, and comments like these are a great motivation.
@this.is.spencer5 жыл бұрын
EDIT: nvm, I was looking at github releases and not official (Steam Workshops) releases. Just a heads up, a small typo in your pom.xml requires ModTheSpire version 3.10.1+, but the latest release of ModTheSpire is 3.6.3
@this.is.spencer5 жыл бұрын
I see the "dependency-reduced-pom.xml", but using that doesn't seem to fix the error, not sure where it's pulling the version from in that case :shrug:
@this.is.spencer5 жыл бұрын
Ah. Apparently I needed to change the version in src/main/resources/ModTheSpire.json, not pom.xml
@ForgottenArbiter5 жыл бұрын
3.10.1 is in fact the latest release of ModTheSpire. Unfortunately, the ModTheSpire devs no longer push jars to github, so you can only get the latest build either by compiling it yourself or subscribing to ModTheSpire in the Steam workshop.
@this.is.spencer5 жыл бұрын
EDIT: NVM, I found them (Steam/steamapps/workshop/content/646570/1605060445 or 1605833019 for anyone else wondering) Ah, thanks! Sorry, I've never tried to mod anything before, much less used maven. Do you know where the .jars for steam workshop are stored?
@andrewwang76995 жыл бұрын
How does the AI's block heuristic interact with Runic Dome's hiding of the enemy intents?
@ForgottenArbiter5 жыл бұрын
It chooses a heuristic attack amount based on the number of enemies and act.
@this.is.spencer5 жыл бұрын
Wow this is great!
@ForgottenArbiter5 жыл бұрын
Thanks!
@flamebeard103395 жыл бұрын
I am getting an error: java.io.IOException: Cannot run program "": CreateProcess error=87, The parameter is incorrect when i click the "start external process" button in the mod settings. It seems that the program isn't reading the command properly from the config file. I went into the config file: (%LOCALAPPDATA%\ModTheSpire\CommunicationMod\config.properties) and edited the command line to read the path to the main.py. (is this the wrong config file?) ``` #Fri May 17 10:19:34 EDT 2019 command=python C:\\Users\\USERNAME\\Desktop\\spirecomm-master\\spirecomm-master\\main.py ``` (this: command=python C\:\\Users\\USERNAME\\Desktop\\spirecomm-master\\spirecomm-master\\main.py didn't work either) any help is much appreciated.
@ForgottenArbiter5 жыл бұрын
I agree with your diagnostic that the program isn't reading the command from the config file. That second one looks like the right sort of thing, so I would just suggest making sure StS is closed, editing the file to that, restarting StS, and making sure that in the Communication Mod options, the external process command looks correct. Right now, the game seems to be getting an empty string instead. If the config file you're using was auto-created, it's the right file, and that should also mean that the mod was able to read and write to that file successfully, so I can't think of how it wouldn't be able to read and write successfully again. I apologize if none of this is helpful.
@flamebeard103395 жыл бұрын
@@ForgottenArbiter Thanks for replying. in your code you check to see if the command is null (CommunicationMod.java - line 62 github.com/ForgottenArbiter/CommunicationMod/blob/a0ad0c6fe6a6ba4e494bfa38eb37a5c930a5ff8c/src/main/java/communicationmod/CommunicationMod.java#L62). This if statement evaluating true is the only way that it is possible for the command to be "". (it is set to DEFAULT_COMMAND) This means I have the wrong config file somehow (even though it is autogenerated). I can't recompile your code (don't have the basemod or any of the other dependencies (to much work to get it lol)) and hard code my path into it. So I guess I am stuck. Maybe you can add into the source code a line that logs the path of the config.properties file although I don't know how to do that) (also doesn't seem very useful except in niche cases like this.) If you have time to waste, I would be grateful if you can try to reproduce the error (I am on windows 10) (redownload version 0.4.0.jar->place it into SlayTheSpire\mods->etc) and come back to me. If not, well I hope other people make cool stuff with it.
@ForgottenArbiter5 жыл бұрын
The command will be "" if that is null (the config file doesn't have command= in it), or if in the config file, the command is set to "" (it contains a line containing literally "command="). I doubt you have the wrong config file, but I don't have any suggestions other than what I've already said, which is basically to check the config file, save it, close it, run Communication Mod, see what the command is there, close Slay the Spire, and check the config file again. If you want to compile it yourself, you definitely do have all of the dependencies, since you need them to run the mod in the first place. Sorry I couldn't be more helpful.
@flamebeard103395 жыл бұрын
This bug as described is present in version 0.4.0. It is completely fixed in version 0.5.0. Thanks for the fast updates! :D
@3rdDanPrime5 жыл бұрын
wow this is really impressive :O
@cameroncaines49085 жыл бұрын
Don't let NL see this
@ForgottenArbiter5 жыл бұрын
According to my KZbin comment section, apparently NL isn't allowed to see any of my videos. Poor NL :(
@stephenpeters13895 жыл бұрын
I'd like to try to use this mod locally, but ran into some issues. I opened an issue on the github repo
@MythicTF24 жыл бұрын
Honestly, idk anything about neural networks but I would love to see a true AI play STS just to see what kind of strategies it comes up with. Maybe with some hard-coding to tell it how to pick cards and play cards, etc.
@rompevuevitos2225 жыл бұрын
So to summarize, does it check the seed before playing to know how it can win? if not, what is the winrate?
@jeffreyhodes5 жыл бұрын
since all the wins fought time eater, do you think time eater is easier for your AI than the other bosses? I would think donu + deca would be the easiest because they don't respond in particular to any strategies a player uses. on the other hand, your silent AI would have a harder time beating awakened one because it favors playing powers, right?
@ForgottenArbiter5 жыл бұрын
Yes, Donu and Deca appears to be the easiest boss according to winrate, but the AI does defeat all three bosses regularly with all 3 characters. Time Eater actually has the lowest winrate of the three, so it's interesting that the three random runs I picked all faced Time Eater. I didn't notice that until after I uploaded it the video, or I probably would have gone for a wider variety of bosses. For Silent in particular, Donu and Deca still seems to be the easiest boss, and Time Eater the hardest. Defect is the only character that struggles the most with Awakened One, probably due to the power-heavy focus and lack of strength reduction.
@giovablackops985 жыл бұрын
This is so cool I wonder if someone will be able to do this without hardcoding the AI, like using NEAT Maybe I will try, someday
@ForgottenArbiter5 жыл бұрын
Maybe not NEAT, but there has been some cool stuff lately looking at neuroevolution as an alternative to deep reinforcement learning (see eng.uber.com/deep-neuroevolution/ for example for a nice article from Uber research). I don't know much about these sorts of genetic algorithms, but it is possible someone may give it a shot. Computational resources may be a big bottleneck for hobbyists looking to use approaches like that, though.
@Bishopn-np7ss5 жыл бұрын
Hence, the flood gate open.....
@killpioo25 жыл бұрын
Is there a way to get a neural network to run with this? Instead of a programmed bot.
@tbodragonshy26085 жыл бұрын
Alright, can't wait for somebody to make a neural network that tries to learn how to play on it's own! Unfortunately, I have 0 coding skill, so I can't do it myself...
@BlaReBlur5 жыл бұрын
Superfastmode aaaah!
@marklayer8195 жыл бұрын
twitch plays slay the spire
@christopherhamilton51424 жыл бұрын
What about the new character?
@hanskraut2018 Жыл бұрын
hardcoded is not AI say "hardcoded" 5% winrate programm. You should make a lerning AI. Why would you not do that . Evolving strategys seem 100000x more fun. BUT you did your job amazingly well becuase now the communication mod can be used and enable anyone with enought motivation to use there strategys. Great. Thanks, altho i did not have enought motivaiton to look at the code and wont until i do which might be until im psychiatrically medicated or never
@Bishopn-np7ss5 жыл бұрын
Also, a good showcase how awful at the game a player would be if one rely on ratings on card choices.
@ForgottenArbiter5 жыл бұрын
Actually, I think the AI's play in combat is worse than its card choices. If it played fights much better, it would win much more often, but I think keeping the play in fights the same and picking cards more intelligently would have a smaller impact.
@bugfriendz5 жыл бұрын
zetris for slay the spire?
@josephle53735 жыл бұрын
niiiice
@pwl29925 жыл бұрын
I reached 33th floor and i was proud. And you tell me that AI that picks most of the time automated options is better than me? SadPepe.jpg Btw nice vid
@ForgottenArbiter5 жыл бұрын
You'll get there! Thanks for watching!
@pwl29925 жыл бұрын
Well, its kinda funny that the day after i wrote this comment i made it.
@Llama_vet5 жыл бұрын
More sts AI
@Oroberus3 жыл бұрын
Uff ... I really like the idea of this but boy does someone with a way better knowledg e of STS need to take care of it -.- I don't mean to be rude but everyone who's at least mediocre at the game could have told you way up front, that your silent strategy won't work
@AvasFangs3 жыл бұрын
This guy beat slay the spire true ending on ascension 20 with 0 cards in deck. I'm sure the part that was hard wasn't finding a good strategy to win the game, but rather, finding a strategy the bot could employ.
@Oroberus3 жыл бұрын
@@AvasFangs Probably, or finding a suitable run in the first place *g*
@alkuzad5 жыл бұрын
if you know what it's exactly doing, it's not AI
@derpalot5 жыл бұрын
Well, I'd argue it indeed is a kind of artificial intelligence, but not a very advanced one though.
@rompevuevitos2225 жыл бұрын
It's an AI because it's the computer taking decisions, you are referring to AI learning, wich is a different thing In this case he taught the AI what to do instead of letting it figure out what to do (probably because it's faster and easier for a game like this)