I work in a big game company in China, my English is not good. Currently I'm working as a Game AI Programmer in an FPS game project. I has been working on a FPS AI game framework for this project for almost 3 years. I think everything goes well, the framework is almost complete. The bots in our game has a very natural and seemly intelligent behavior. I'm really interested in game development and AI. So I'm considering making game AI programming as my career. But currently I feel quite lonely and I have a lot concerns about the development of my skill set in this domain.
I feel lonely for two reasons:
1. Our game is like rainbow six, PvP is the core gameplay. As almost all the PvP games, AI is not at center stage. AI works as an assistant in some parts, like user guide, fake opponent players for newbies, placeholder for offline players, Moving target in training ground, an auto-test tool for other features like 3C, Rendering. I lead a very small AI team, two programmers(including me), one designer, one QA. We did a good job, we fulfilled all these goals. Everyone in the project is quite happy, so everyone just stops caring about AI anymore... Since our game is not released yet, there is basically nothing to do now. Although we still need to do test every week and keep fixing bugs, I also have a plan to do some optimization. But in general, there won't be much communication inside AI team and among other teams.
2. Compared to other domain like 3C, Rendering, Deep Learning, There is so few topics and learning materials in Game AI. Many techniques in Game AI is very ad hoc, only useful for a particular scenario. Sometime I feel I spend more time to understand the problem than the technique itself, and the technique is not very valuable. Indeed there are some basic designer patterns, algorithms like behavior tree, pathfinding(A*, Dijkstra), and some great books like AI for Games, but far from enough. Also I think it's difficulty to have several people to form a AI teams and do some interesting practices as a hobby. Because a valuable AI must have a very good 3C team as its prerequisite, the best strategy for Game AI programmer is to find a good game project and work coherently with other team members.
In general, I'm satisfied with my current job, but I want to do more. Maybe after this project, I should find a good PvE project where AI is at center stage. I hope I can get some advice for this.
Some information about me:
I have been doing game development for almost ten years. First I was the only programmer in an indie game team. I Developed a tower defense mobile game with cocos2d-x. It didn't make money, but the experience was fun anyway. Then I did some porting projects. One is porting Dark Soul to switch platform. I worked as an engine programmer at that time. I did a lot thing. I update the rendering pipeline from single thread to multi threads. I integrated a memory allocator and also design some other small allocators. Also I exploited some system levels features like TLS, SIMD. I put a lot effort in that project. The game runs quite smoothly on switch, especially blighttown.
But I'm not a rendering guy. I'm not interested in low level engine stuff either. There techs are great, But I'm not into those awesome graphic effects. I like strategies games, such as turn-based games, I focus more on the gameplay.
I'm very interested in AI since University. I spent a lot of time to study these algorithms, neural networks, pathfinding, patter recognition algorithms, etc. Currently deep learning is really hot. But as a game ai programming, this technique is still very unpractical. I need a system that have common sense and can do logic deduction. So game design can communicate with it and specify the behavior. Current deep learning framework I think are mainly doing data mapping, mapping one data set to another, this is no logic happening.
Game AI Programmer as a career
-
- Posts: 219
- Joined: Tue Feb 12, 2008 8:31 pm
- Contact:
Re: Game AI Programmer as a career
Hi sunyuzhe,
Welcome to the forum.
I develop board game AI with deep learning as my job, but my situation is a bit special, and I don't think it can be replicated now.
I disagree that that deep learning is very unpractical. I am not familiar with the game industry like you are, so I way be wrong. But from my experience with board games, learning weak human-like strategies by imitating game records of humans works well. I can imagine it could be applied to other kind of games as well.
Rémi
Welcome to the forum.
I develop board game AI with deep learning as my job, but my situation is a bit special, and I don't think it can be replicated now.
I disagree that that deep learning is very unpractical. I am not familiar with the game industry like you are, so I way be wrong. But from my experience with board games, learning weak human-like strategies by imitating game records of humans works well. I can imagine it could be applied to other kind of games as well.
Rémi
Re: Game AI Programmer as a career
Hi Rémi,Rémi Coulom wrote: ↑Wed Feb 09, 2022 3:24 pm Hi sunyuzhe,
Welcome to the forum.
I develop board game AI with deep learning as my job, but my situation is a bit special, and I don't think it can be replicated now.
I disagree that that deep learning is very unpractical. I am not familiar with the game industry like you are, so I way be wrong. But from my experience with board games, learning weak human-like strategies by imitating game records of humans works well. I can imagine it could be applied to other kind of games as well.
Rémi
Indeed, There are huge differences between different kinds of games. Deep learning are doing a great job in many areas of game industry. Deep learning can beat human player in many 2D strategy game like board games, star craft, etc. Yesterday I had a chat with a guy from our AI lab. They created a 3D face generator based on images user imports. Recently they trained a neural network to solve 3D pathfinding problem for another game.
I'm mainly focused on first person games. These games are in 3D environment and goals are sometimes unclear or very long-term. For example, I think it's very difficult to train one neural network to play Rainbow Six professionally. Also game design usually ask to have a fine control over AI's behavior. For example, In dark soul like games, The details of enemy's behavior can make a huge difference on game's difficulty.
There are the major two shortness of currently neural network.