My college has a senior project course every spring. The class is divided into groups of four to five members. Each group implements the same board game as a video game in a competition. The board game always is always deterministic with perfect information (i.e. chess or checkers).
Most team use Unity. Two years ago there was an unsuccessful attempt in Unreal, and three years ago an excellent game with web technologies (Electron + Angular).
I took this course last year and my team took a different approach. Our class's board game was Quoridor[1] and my group wrote a game engine[2] in Java leveraging OpenGL for graphics and Netty for socket abstractions.
The amount I learned that semester was incredible. Never before have I needed to know anything about graphics rendering, how to load fonts from a file and convert it into a texture format. I never needed to know about how to actually create a networked application, how to use genetic algorithms to tune AI weights, or put all of that together to create a game.
Our game sucked, but it was the most productive three months of my education and I learned more through that self-imposed struggle than my prior three years and a half years of classes. A game engine can touch any field in computer science and bring it into one application, and I think that's incredible.
Comments
My college has a senior project course every spring. The class is divided into groups of four to five members. Each group implements the same board game as a video game in a competition. The board game always is always deterministic with perfect information (i.e. chess or checkers).
Most team use Unity. Two years ago there was an unsuccessful attempt in Unreal, and three years ago an excellent game with web technologies (Electron + Angular).
I took this course last year and my team took a different approach. Our class's board game was Quoridor[1] and my group wrote a game engine[2] in Java leveraging OpenGL for graphics and Netty for socket abstractions.
The amount I learned that semester was incredible. Never before have I needed to know anything about graphics rendering, how to load fonts from a file and convert it into a texture format. I never needed to know about how to actually create a networked application, how to use genetic algorithms to tune AI weights, or put all of that together to create a game.
Our game sucked, but it was the most productive three months of my education and I learned more through that self-imposed struggle than my prior three years and a half years of classes. A game engine can touch any field in computer science and bring it into one application, and I think that's incredible.
[1] https://en.wikipedia.org/wiki/Quoridor
[2] https://github.com/harding-capstone