Hello all! I wanted to write about my experience using the built in AI tool / assistant.
My background: I did a handful of tutorials several years ago and can handle basic navigation but I’m far from experienced in Unity. Professionally I am a Network Administrator, and this background gives me a reasonably good foundation for absorbing new information when it comes to programming/development. I would love to combine what I know about networking into a game-development career at some point, but I’m not actively pursuing that.
In 2013 ago there was a game called Wrath of Heroes in beta phase that got canceled / strangled in the crib. For YEARS I have felt strongly this game had awesome potential, and I was REALLY hoping that I could find someone who could revive that game. I reached out to devs but the company was shutdown, I reached out to people in the community that I could find, but the short story is there is just no one interested in that dead game like I was.
I’ve dreamt for a while about just making a game that is heavily inspired by it and the chatter about AI tools for building games made me really curious how far I could get with AI assisted development.
So I got started the other day with Unity’s AI tool.
I had a VERY good idea of many of the things I’d like to see in the game, so I wrote a lot of details to the assistant who did an amazing job of detailing a development plan. When they found contradictions, they asked me to clarify (in most cases it was a typo) and it asked extremely good follow up questions to make an amazing planning document. I was really happy with the way the planning document was able to take my ideas and translate them into something very clear and using proper terminology without a trace left out of my vision for the game.
The problem started moreso when it went from planning to implementation. It started out pretty smooth and the agent gave me feedback about all the parts of the implementation. However, I would regularly get disconnected in the middle of it’s work without any indication, so it would simply look like it’s running when it wasn’t. Some of those disconnections may have been simple network timeouts but other times it was because I used up all of my credits. I promptly went and refilled and then asked them to resume, and the agent was great at picking up where it left off, and giving me good feedback of what it was working on. However, it was quite hard to read the output from the agent as it would quickly scroll as it continued to work. It also stopped frequently to ask if it could proceed or if it could perform some unsafe action. I didn’t understand what this meant and the context clue it gave me was that it was irreversible. It also asked me during testing if it could take screenshots or delete .txt files from my C: drive which was fine.
The biggest problem I ran into after the first major round of implementation was that there seemed to be a major disconnect in what happened when the agent tested the build versus me testing it with the play button in the editor.
When the game starts, you are placed in a lobby with several options including matchmaking “Find match” or “start match vs bots”
When you press find match it changes scenes where you are supposed to then be presented a UI overlay element that lets you view details about heroes and select one to spawn into the game. The first time I tested it did not give me that overlay and I could not proceed to select a hero / spawn / test things inside the map that are theoretically implemented (scoreboard, map objectives, team score, etc)
I told the agent about this and they spent a good while looking at the program with a lot of "Ah ha!"s and “I see what the problem is” but there was still no resolution to the problem.
I tried this about 3 times and with it not resolving, I decided to work on other things. I wrote another pretty lengthy plan that just added more details about the game that I wanted, and the agent made a great plan, and I had it proceed to make the implementations. It was pretty impressive that it was able to make changes to some of the major systems to accommodate my new details of the plan.
At this point I really wanted to be able to test the gameplay. I came back to the question about the overlay appearing when starting a match, and it was resolved the next attempt, but it introduced a handful of strange problems. For one, a UI element that had long been removed (I think it was a default healthbar from the 3rd person template?) had returned and when I asked to remove it, it wouldn’t go away. The overlay itself was pretty broken and I couldn’t click on it to select a hero. When the match started and the overlay was there, it also seemed to automatically pick a hero for me and spawn it but I never gained control over the character because it spawned under the map and fell forever, but the overlay wasn’t working to select a hero and spawn in as that hero.
At this point, I had spent around ~USD $300 on credits for the AI, and felt like I was burning them on these problems. I realized that I had to choose between spending a lot more on credits to make progress, trying to figure out how to resolve it through programming and understanding the unity platform better, or setting aside the project and coming back to it after a year or so when the AI has improved to the point that it can help someone as inexperienced with Unity as me.
I am sure that using the “ask” option to simply get a better understanding of how to do certain things would be a great way of improving my mastery over unity, and it gave incredibly good explanations on the things I did ask about.
Overall, I am really impressed by the product and I felt like I achieved more in 1 day than some studios might have been able to with months of effort a few years back. But I’m still not able to get to where I need with it and I will eagerly check back in at some point to try picking up where I left off.
Oh as a very random side note - between one of my prompts I got a message from the AI saying it couldn’t help me with my question about harassment. This was totally out of the blue. I responded confused and it clarified that it was brought up in error, and basically I can forget that happened. I thought that was funny/odd.
Thanks for anyone taking the time to read over this. I would just like to provide my feedback and I hope you have a great day!