What are you working on?
- The name of the project(s): Total Battle
- At what stage of the project(s)? LiveOps
- Genres: Strategy, MMO
- Platforms: PC, Mobile, Browser, iOS, Android
For which tasks (responsibilities)?
Tasks:
-
Designing and developing new game mechanics. Developing a good API.
-
Designing and developing our library (engine) components.
-
Writing unit & integration tests.
-
Developing tools and scripts for automating development processes.
-
Reviewing the code and design of game mechanics.
-
Redesigning and refactoring game mechanics, and eliminating technical debt.
What kind of professional are we looking for?
Job requirements:
-
Experience working with C++ for at least 3 years in a product-oriented company.
-
Knowledge of design principles, patterns, and their applicability.
-
An understanding of network basics (TCP/IP) and protocols (any RPC,
-
Basic knowledge of relational databases and SQL.
-
Basic knowledge of multithreading.
-
Proficiency in Linux.
-
Knowledge or a willingness to learn Python for developing tools and automation.
The following would also be to your advantage:
-
Having samples of code that you can show us.
-
Knowledge of different back-end architectures.
-
Good knowledge of C++ development practices (similar to C++ Core Guidelines).
-
Practical experience in creating designs for large-scale features or systems.
-
Knowledge of other high-level programming languages (for general awareness).
What is important for us in a person?
-
Good soft-skills and initiative.
-
Interest in the gamedev.
Why do we enjoy working here?
We use:
-
C++20, Clang, and CMake.
-
Boost — only for the library, not for game code.
-
PostgreSQL.
-
GitLab, TeamCity, Ansible.
-
SonarQube, Clang-Tidy, Clang-Format.
-
Onboarding, coding conventions.
-
Python for utilities.
-
Linux.
Our technical developments:
-
A library/framework of ready-made solutions for creating game features.
-
ORM — allows us not to have to write code for saving to the DB.
-
A code generator for a binary RPC protocol and ORM.
-
A pub/sub event system for game clients.
-
Telemetry that allows for real-time product status tracking (through Grafana).
-
An expression interpreter for flexibility in game configuration.
-
HotReload environment, with everyday game updates.
-
Sync and Async network designs.
-
Internal Event System.
-
Internal persistent and transactional message system.
-
R-tree based world map.
What are the conditions and bonuses?
What we offer and our benefits:
-
Full-coverage relocation for you and your family to Cyprus (Limassol).
-
Modern and sunny office space very close to the Mediterranean sea.
-
Excellent and competitive remuneration package.
-
Private health insurance for you and your family members.
-
School allowance of up to €400 per month.
-
Personal development courses.
-
Friendly working environment 🙂
The selection process
HR Screening
Interview with Team
Test Task
PostgreSQL GitLab refactoring integration-testing sonarqube API ORM Boost C++ Libraries Python Backend Content writing Linux event-system C++ clang-format TeamCity telemetry Designer clang-tidy r-tree Grafana Software Developer Ansible