Artificial intelligence (AI) is going through impressively rapid evolution, and some of the results are pretty amazing. For instance, earlier, NVIDIA showcased a technology called GauGAN, which could turn someone like me with no artistic skills into a master artist. This week NVIDIA showcased an interesting effort out of their lab called GameGAN. This technology can observe a game, specifically what the game displays, and how the user interacts with it, and then it can recreate the game with clean code. This application has two potential markets, one as an automated “clean room” tool to replicate and gain a deep understanding of a third-party proprietary product without violating copyright. The other is to recreate a legacy application that could then be run on a different target platform.
I’m also convinced that you could somehow combine GauGAN with GameGAN and come up with a unique way to update old games with new visuals almost instantly.
Let’s talk about all of that this week.
GameGAN is an exciting project out of NVIDIA Research that can, through observation, recreate an application. The application class they showcased was games, but almost every application has inputs and outputs which can be monitored. GameGAN observes these inputs and products, and then, depending on the time and comprehensiveness of the observation, GameGAN can then duplicate the application using a new code. Now the more complex the application, the longer this could take, but much of the effort could be automated.
You’d connect the system running GameGAN to the application you’d want to analyze and let it fully observe the interactions with the user and then tell it to duplicate what it observed. NVIDIA used games, most notably PacMan, to showcase the result, and GameGAN created a near-perfect replica. Now I say “near-perfect” because some of the parameters set when doing this changed the game dynamics even though all else was identical.
In this case, the result would alter the internal parameters of the game to ensure the player won. I think you could argue that the result was some kind of AI with digital empathy that actively wanted to preserve the life of the player. I can imagine a financial app where it worked behind the scene to make sure you didn’t do something foolish with your hard-earned cash. This ability to automatically change a copied application for the better implies you could not only recreate a legacy application, you could also build in extra intelligence. The result, instead of being rehosted legacy code, could become a far greater current generation asset and not just a copy but an improved version.
One of the biggest problems IT is dealing with right now is the inability to move legacy custom applications running on now-obsolete hardware to a current-generation platform. A lot of these old applications are decades out of date, the people that wrote them moved on years ago, and the result is that companies are running ancient systems because they still need and use these mission-critical old applications.
An offering like GameGAN could massively reduce the cost of rehosting an application, making it near automatic. Still, it could also improve the application along agreed upon parameters when it was recreated.
The other problem is that you may be competing with another vendor and want to build an emulation of their product that doesn’t get you in trouble for illegally copying it. This tool doesn’t copy the code; it creates an emulation of the work with clean code. And given the code was generated based on what was observed using an AI, it should be more efficient than the original code, which may have been created by several different coders over a long period and not particularly efficient.
You could then improve on the code to create a better competing product (and you could run one of your legacy products on this to update and improve that product more efficiently as well). For instance, take a product like a word processor that has been in the market for decades and updated in layers over the years resulting in something increasingly hard to update and secure. You could use this to massively simplify the code in that offering, making it far easier to update going forward while retaining compatibility.
While, currently, GameGAN is just a proof of concept, as it matures, it could dramatically impact how we deal with aging applications on obsolete hardware, create competitive products, and update our product portfolios. It could also be used to take an overly complicated work and optimize it. In the end, we are talking about an application that can observe and then recreate what it observes, kind of a 3D scanner/printer for code. Once mature, this could become one of the most revolutionary tools ever brought to market and still only the tip of the iceberg when it comes to what future AIs will eventually be able to do.