Using Chat GPT to Balance Mobius Rift
As an indie game studio everyone does everything. Over the last few years we have truly nailed down our goals and designed something that we believe will be a welcomed addition to our first game's genre. The downside with this genre (Mobile Tactical RPG) from a developer perspective is that there is a need for many unique feeling units that play different roles and feel good to use. This leads to a massive workload of balancing our first 16 ships which of course must have as wide of a variety as possible in order to make the early days of our game feel less empty and more fun to explore. That is where the "everyone does everything" comment comes back into play. I am the lead developer, the CEO, an unofficial discord mod, and now it seems that I must figure out how to become our numbers guy as well. Here is the thing though... I am not a numbers guy. I have ample experience designing building and configuring full enterprise environments for enterprise customers, I have ample cloud skills up my sleave, and I am a long time user of game engines with about 6 years of programming in my back pocket. The one thing I am not great at is the final tweaking of numbers in order to create a smooth player experience and a battlefield that doesnt feel lop sided which may not even be noticeable in a small batch of sample data. This is no simple task and is truly worthy of a dedicated employee. No matter our approach we will need to bring in an outsider for a short time to help us double check our math and on top of that we of course intend to do obscene amounts of inhouse and closed/open tests. I decided enough was enough and I needed to make some progress on the balance task so I opened a new Chat GPT-4 chat and started simple.
There was a small amount more to it than this but the gist is "HELP" and I was somewhat disappointed by the response at first. It goes on and on about how you can use GPT as a tool to assist, but it couldnt do everything for me yet. I was not willing to accept that answer so I came back with a new angle.
I was really hopeful here, but unfortunately we run into another wall as GPT is not willing to handle this request as phrashed currently. Essentially just this short message followed by a very broad description of the steps required to make a video game and test it (which we currently do already)... not helpful.
So I decided to test out some boundaries, just out of curiosity to see what was possible. Let's see if we can get it to do a coin flip for us as a starting point.
Believe it or not we still have no success based on the AI stating it has no ability to predict the outcome of scenarios.
So in response to my failure I literally changed only one word in my previous question (imagine > pretend) and was able to get the AI to simulate an example coin flip!
Obviously I needed to push this angle of attack further so I responded with this:
And it said you know what... no big deal here you go:
This got me BIG LEAGUE PUMPED UP. I decided lets just go for it, I want Chat GPT to lead me toward a real solution that will create an analyzeable output which I can feed back into Chat GPT later in order to identify the best approach to level any uneven playing fields. The AI does not necessarily need to come up with the end product, but a framework would go a long way in saving me valuable time in my coming weekly sprints. I wanted to start with the AI understanding the parameters of the battle and taking a lineup of ships to battle eachother in these fights. I confirmed with GPT that I could provide the information and it would respond with the order of operations of the battle at desired intervals in my requested format. So I got to work and wrote up this initial template for our example battle with some extra instructions at the bottom. (You dont need to read this, but I will include it for those that are interested).
As hoped this began to spit out a wonderful battle simulation just as I had requested.
... and we even got a cute little summary.
Now that we have some data in the chat I figured lets see if we can analyze the outcome without leaving. I asked how many total crits each ship had and if it could tell us whether the outcome would have changed if the crit numbers were swapped. It quickly and easily ran the numbers.
This was a moment of clarity, you really can mash things up in this text chat and although you could literally do all of this on a piece of paper and get the same result, it just would not be worth the time it takes to reach these results. On top of that my ability to pivot between goals in the chat is far greater than when I am not using the chat. For example I decided to step this up a notch and actually generate a local CSV using a python script. A quick question later and we get our response. With a next step like this, especially late in the day it is very likely that I may not push through, but with Chat GPT behind me I am able to dig a bit deeper and make more progress rather than finishing up my work until tomorrow.
Moments after asking I am sitting in front of a python file in a folder. I double click it and boom I have a file full of 1000 simulations which can easily be analyzed. The python file is also very maleable which means that even if things are incomplete or off now I will quickly be able to adjust to make things more accurate to reality (I can already tell at this point that things are not being randomized well and some problems are occuring with the ability triggering due to the more "plain english" explanation I gave for that section of the prior prompt. I even ran a quick test and altered the file slightly then complained to Chat GPT to which it responded with a short section I could copy to replace my purposely faulty code.
As I slowly pull myself away from this mini project for the day I feel confident that progress was made and we will be able to easily tackle our ship balance challenges going forward. Not only that but my eyes have been opened to what is possible in Chat GPT today. In the short term future I would be very interested to play with some of the GPT plugins and GitHub projects which I am hearing so much about, and I will without a shadow of a doubt be keeping my eyes open for areas that we could use similar approaches for in the future.
Thank you for reading, Gavin Jones CEO & Lead Developer @ Robot Style Games Inc.