Not an issue with your program, trying to contact you

Issue #29 new
Charley Grevers created an issue

Hello Mr. Seidel.

I have recently become very interested in simulators due to playing a spin-off of Elemental Kingdoms, called Titan Surge, on Kongregate.com. I would like to either create my own simulator for use in TS, using yours as a model, or modify yours for this purpose. Moreover, I'm interested in the coding and logic tree process that underlie this sort of game.

Before discovering your simulator, I was using JS's simulator and slowly updating the cards.txt file to reflect the different skills and attributes values of the cards in TS and scratching my head over how to desconstruct the program so that I could update and presumably program in the infiltrator ability, which appears to have not been coded into that simulator, yet it now a factor, because a demon now has this attribute.

There were a number of follow up projects if I was able to get this to work, including many of the features you already have set up.

First of all, is this idea of mine ethically sound? I see that you've provided this program open source, which I assume means that it's okay for me to try and tinker with it. If you'd rather I didn't, please reply as such.

Second, if I'm given the green light, I'd love to know a bit more about what steps are ahead of me.

Thank you for your time,

Charley G.

Comments (7)

  1. Charley Grevers reporter

    I believe that all of the cards, runes, and skills are located in .json text files in the cache directory. I am wondering how you went about procuring these?

    I can certainly start by continuing to change the data one-by-one as I have been, but the thoroughness of the values leads me to believe that you gleaned that information from the program EK itself. I am now looking into seeing if something similar can be achieved from the java-based (I think) game Titan Surge.

  2. Paul Seidel repo owner

    Hi Charley,

    You are free to use any of my code to create a simulator for Titan Surge. Easiest would be to create a fork. If you decide to adjust my code to make it support both games, you can create a pull request back so your functionality will be included in my releases. Or you can just keep it a standalone fork if you only want to play around with it.

    The data files are obtained from the actual game servers. I have created my data classes (like ElementalKingdoms.core.Card) based on the json data. I have used network sniffing tools like Wireshark and Burp Suite to analyze the remote calls and obtain those files. Later on, I added ElementalKingdoms.server.ServerCommunicator to obtain data files from within my program.

    By the way, when I look at TS - it uses the same models as Elemental Kingdoms. Also the publisher is the same (Fedeen Games). I think the chances are high that they use the same backend servers.

    For your next steps, I think the easiest would be to obtain those server data files, as that was my starting point as well. I'd have to look at TS myself to be sure, but I don't think you need to do much more then that :-)

    Good luck!

  3. Charley Grevers reporter

    I am so excited to receive your two replies. Clearly this project is doable with those data sets! Thank you so very much!

    Edit 1: You added ElementalKingdoms.server.ServerCommunicator to have your program start a process to obtain up-to-date data files, not to obtain data files located within your own program (which doesn't make sense to me). Can you clarify the language here?

    Edit 2: There is a clan bonus buff to attack versus demons that I'm not certain is applicable in EK as the other simulators that I have been bending to my will make no accounting for it. In your experience, is there such a thing?

    Edit 3: I ran the program with the new .json files and it didn't load. I am assuming that it was expecting certain attributes which it didn't find or finding attributes it didn't expect. Tomorrow, I am going to try and get an external drive or a bunch of DVDs so I can back up my system and upgrade to Windows 10.

    Thanks again!

  4. Paul Seidel repo owner
    1. The first one, to obtain up-to-date data failes.
    2. EK doesn't have a clan bonus mechanism
    3. For some reason, in the cards json file of TS, they are using a string[] instead of an int[] for the ExpArray variable. In Card.cs, you need to modify the following line from int[] to string[]
    public int[] ExpArray { get; set; }
    
  5. Charley Grevers reporter

    I set this aside and am working on it again.

    3: I am trying to educate myself with VB and C# enough to understand how this occurs, but I'm not yet certain.

    1: How does the data file update process work so that I can manually fix it while I tinker? I understand pulling the arrays and placing them in .json files. Does this happen every time that the program is booted? Are they then converted to .cs files? If I were to replace the data in these files with TS data after the program was booted, would that cause problems?

    New: Do you have any recommendations for VB/C# tutorials or courses?

  6. Paul Seidel repo owner

    Hey Charley, it has been a while.

    1. The ServerCommunicator downloads the .json files from the server, and after that the JsonLoader parses the file and converts it to for example a list of skills or a list of cards. I believe @Nharzhool has adjusted the sim to always download the latest data files from the server (Magic Realms nowadays). I'm not sure if you are still working on your project, but you could either adjust the ServerCommunicator so that it talks to the TS servers, or you can disable the server communicator and just load the TS specific files from disc.

    As for tutorials, I do not have any recommendations for a specific course. I'm personally just trying to solve problems using code, and at some point I get to a specific problem which I can google. For example I started this simulator because I wanted to have a tool to generate a useful deck for me against a demon. To do that, I needed to be able to do fights. Cards need to use skill. I don't want to hard code the cards, so program it flexible. Download the cards from the server so I don't have to do that manually. Steps like that.

    For exercise, I have done a bunch of problems on https://projecteuler.net/ Just pick a problem and make a program to find the solution for you. There are many other programming puzzles websites. You can also try to make a program to solve sudoku puzzles for example, or minesweeper.

    Hope to help you a bit :)

  7. Log in to comment