Win a partial scholarship for
Game Programming, the new program
at ARC Academy
Start: April 19, 2023
End: June 4, 2023
Requirements: Logical thinking, motivation and desire to acquire new skills
Level: Basic knowledge of C/C++
Announcement of the winner: 19.06.2022 on the Graduation day at ARC Academy
Starting in the fall, the Game Programming program will start, where we will focus entirely on video game programming. Now we are giving you the opportunity to get a scholarship to study in this program. What do you need to do? Check out the task below and prove to us through your motivation, zest, and logical thinking that you deserve to win.
At ARC Academy, we help young talents enter the gaming industry. Our speakers are professionals from video game studios ready to pass on their expertise to the next generation of entertainment software developers. Over 85% of graduating students start their careers in this field and this gives us the confidence to expand the range of programs we offer.
The winner will receive a scholarship of 50% of the fee for the first year of study in Game Programming.
The Game Programming training will allow you to expand your programming knowledge and venture into the vast universe of video game development. Within two years, you will use different programming languages and participate in developing games in Unreal Engine in multidisciplinary teams with game designers, 2D and 3D artists. The program was developed by leading professionals from game studios in our country. The director is Nikolay Dimitrov, a programmer with 17 years of experience in the game industry and technical director at one of the leading studios in our country, Gameloft Sofia. He has worked on titles such as March of Empires, Heroes of the Dark, GTRacing 2, Earthrise, and War Planet Online.
Enter the Competition
The task we have prepared for you aims to test how your logical thinking works and what your knowledge of C/C++ is.
Conway’s Game of Life
The universe of Conway’s Game of Life is an infinite, two-dimensional orthogonal grid of square cells, each of which is in one of two possible states, live or dead (or populated and unpopulated, respectively). Every cell interacts with its eight neighbors, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:
Any live cell with fewer than two live neighbors dies, as if by underpopulation.
Any live cell with two or three live neighbors lives on to the next generation.
Any live cell with more than three live neighbors dies, as if by overpopulation.
Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
These rules, which compare the behavior of the automaton to real life, can be condensed into the following:
Any live cell with two or three live neighbors survives.
Any dead cell with three live neighbors becomes a live cell.
All other live cells die in the next generation. Similarly, all other dead cells stay dead.
The initial pattern constitutes the seed of the system. The first generation is created by applying the above rules simultaneously to every cell in the seed, live or dead; births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a tick. Each generation is a pure function of the preceding one. The rules continue to be applied repeatedly to create further generations.
Implement Conway’s Game of Life in C/C++ using any means of visualization you deem suitable. All engines, frameworks, libraries, and environments are allowed as long as the base game logic is in C/C++.
The initial state of the grid can be loaded from a file. A minimal task implementation should support a grid size of at least 1000 x 1000 and simulation visualization of at least 10 generations.
Supporting an infinite grid is not mandatory for this task, but brings additional scoring points.
We know that deadlines are a great motivator to do your best. So we give you 6 weeks to work on your assignment. The deadline for assignment submission is 11:59 p.m. on June 4, 2023.
The jury will review all applications and select a winner. We will announce the scholarship winner on June 12, 2023.