Livor Posted March 30, 2015 Share Posted March 30, 2015 Hi there, in the next few months I will be working on my master thesis wherein I will try to compare the performance of different techniques for decision making. Namely these will be Decision Trees (for convenience reasons might be changed to behaviour Trees) and Goal oriented Action Planning (short GOAP). I was doing a little research already trying to find a scenario suitable for this task and think that Don't Starve might be the best I have found so far. So now the question is at hand if I am going to make use of the modability of Don't Starve, or rather recreate the scenario in my own prototype application so I am in full control of what I can do. Of course I would really like to use Don't Starve with reduced content for this as the visuals alone would make my work a little bit more pleasant... I have done a little research already regarding the modability of Don't Starve and so far I think it is actually possible to do what I want. But just to be sure I don't get stuck half way through the project I would like to double check if my research/assumptions so far are correct. For this I would really appreciate it if someone with a little experience would just take a quick look and tell me if he/she thinks what I need is possible. Simple answers like yes/no/maybe/I'm scared would already help me. (the latter might be less helpfull tough) The Questions would be:1. Is it even possible to create a Don't Starve bot?My assumption: yes.I have already found the mod "ActionQueue" wich makes the character do several actions one after another, so I assume I could make the Character do whatever I want via script. I might also want to take a look at willow who sets stuff on fire all on her own. 2. Can I apply a time lapse in order to get faster results?My assumption: Not likelyA little example to explain what I mean: for my bachelor thesis I worked on Crowd Simulation, in order to get quick test results I fixed the frametime to 40 milliseconds the application run at full speed so I would get my test results as quick as my CPU could run through the simulations (I got about 10.000 test simulations in half an hour, that was quite convenient...). Obviously that would just be a nice to have for me, altough an extremely convenient nice to have. Considering that a feature like that would not have any practical purpose when it comes to actual gaming I am pretty sure this is simply not possible... 3. Can I bind C/C++ Code in Don't Starve?My assumption: no clueAt this point I want to point out, that I am completely new to lua itself, altough I have experience in other languages. I was told that lua itself can bind compiled C/C++ code for execution, but I wouldn't be surprised if the game wouldn't allow that. If it acually is possible to do this it would most likely safe me some trouble I would most likely have while learning all the lua I need... I thought I would have a few more questions, but I think if someone could give these a quick thought it should suffice for my final decision Thanks in advance! Link to comment Share on other sites More sharing options...
Mobbstar Posted March 30, 2015 Share Posted March 30, 2015 simplex, this may be your kind of stuff. Also, a DS playing programm sounds a bit heavy only for individual things such as auto-kiting and self-cooking I guess? Link to comment Share on other sites More sharing options...
Corrosive Posted March 30, 2015 Share Posted March 30, 2015 2. Can I apply a time lapse in order to get faster results? I don't think you could get away with this without reworking large portions of code. 3. Can I bind C/C++ Code in Don't Starve? Yes, Lua is surprisingly versitile. ex:imported_function = package.loadlib("somedll.dll", "somefunction")imported_function() Link to comment Share on other sites More sharing options...
Blueberrys Posted March 30, 2015 Share Posted March 30, 2015 1. Is it even possible to create a Don't Starve bot? Yep, pretty sure this is possible. Everything an entity does happens with Actions, you would just need to send a series of actions on the player entity.See EntityScript:PushBufferedAction (and other functions) in "...\scripts\entityscript.lua" Link to comment Share on other sites More sharing options...
Livor Posted April 1, 2015 Author Share Posted April 1, 2015 simplex, this may be your kind of stuff. Also, a DS playing programm sounds a bit heavy only for individual things such as auto-kiting and self-cooking I guess? Yes that would be a bit extreme, but I'm not talking about a program actually playing DS but rather my own "game" that resembles just what I need in a minimum visuals prototype fashion (red circles running around eating green circles, that kind of stuff... ) Thanks guys, your answers are pretty much what I expected.Sounds like I am actually going to do this! Now all I need is the time to start... Link to comment Share on other sites More sharing options...
Blueberrys Posted April 1, 2015 Share Posted April 1, 2015 @Livor As for #2.. Ever heard of Cheat Engine? It's not ideal for modding, but it can speed things (games) up very easily if that's all you need to do. Link to comment Share on other sites More sharing options...
Livor Posted April 7, 2015 Author Share Posted April 7, 2015 I worked with Cheat Engine already, but didn't realise it has a general purpose Speedhack. In fact I am really surprised something like that is even possible. I tried it now, the speed increase is a bit limited, but a day is over in just a minute or so, so it will definitely come in handy once I start my tests. So... thanks for the hint! Link to comment Share on other sites More sharing options...
Blueberrys Posted April 7, 2015 Share Posted April 7, 2015 I worked with Cheat Engine already, but didn't realise it has a general purpose Speedhack. In fact I am really surprised something like that is even possible. Considering that pretty much every game uses ticks or a main loop with some sort of delay, it's possible to just modify that delay to change the game's speed. I don't know for sure if this is how Cheat Engine handles it, though. Link to comment Share on other sites More sharing options...
Livor Posted April 19, 2015 Author Share Posted April 19, 2015 Right, I'm still concerned about the possibility of tunneling and/or similar effects that might influence gameplay however.But I'll just enjoy that it's working and keep an eye open for such things... just in case... Link to comment Share on other sites More sharing options...
Seiai Posted April 19, 2015 Share Posted April 19, 2015 Maybe i missed some point, so sry if i say something stupid, but as far as i understand it, what u really want, is not to make a bot that controls the character, but just use creatures. their AI is fully modable. u can just mod the character to be untouchable and then program creature for whatever u wanna do. the only small problem might be, that only a certain radius of the world around the character is calculated, dunno if this can be changed, but maybe this can be workarounded with dont starve together. Link to comment Share on other sites More sharing options...
Corrosive Posted April 19, 2015 Share Posted April 19, 2015 As someone who has used chat engine's speed function quite a bit (I am a tower defense addict and sometimes they are to darn slow ), I can say definitively that suppressing up the game via cheat engine can absolutely impact gameplay. Not always, and when it does is not necessarily by a huge amount, but the point of experiments in science is replicability... so Id be at least a little wary, or at least mention it when describing the procedure. Link to comment Share on other sites More sharing options...
Livor Posted April 20, 2015 Author Share Posted April 20, 2015 Maybe i missed some point, so sry if i say something stupid, but as far as i understand it, what u really want, is not to make a bot that controls the character, but just use creatures. their AI is fully modable. u can just mod the character to be untouchable and then program creature for whatever u wanna do. the only small problem might be, that only a certain radius of the world around the character is calculated, dunno if this can be changed, but maybe this can be workarounded with dont starve together. Might be I could make it work with creatures too in some way, but for multiple reasons (e.g. the "certain radius" around the player ) I figure it's actually easiest to simply make a bot that controls the player. Makes it easier to follow him as well... As someone who has used chat engine's speed function quite a bit (I am a tower defense addict and sometimes they are to darn slow ), I can say definitively that suppressing up the game via cheat engine can absolutely impact gameplay. Not always, and when it does is not necessarily by a huge amount, but the point of experiments in science is replicability... so Id be at least a little wary, or at least mention it when describing the procedure. Thought so, thank you for sharing your experience. Hmm, I think the "mentioning"-part should have been a bit more obvious to me, thanks for the hint too. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.
Please be aware that the content of this thread may be outdated and no longer applicable.