# Unannounced Project 1 - Sumo Digital

As currently this project is still unannounced, I am unable to show any project visuals or discuss specific work that I participated in. However, I can still provide an overview of my work done and my skills used.

***

I worked as a gameplay programmer in a team of programmers on a large project (100+ employees) using an in-house engine built using an entity-component system architecture in C++. The codebase consisted of four repositories - one shared for code reuse between games, two for other games being developed alongside in parallel, and the final repository for the unannounced project I worked on.

My primary focus was on the maintenance of existing software, developing new features (as a contributor, and as an owner of a new feature), reviewing code of my colleagues, and attending weekly scrum meetings.&#x20;

***

### Key Skills

C++, ECS, Perforce, Helix Swarm,  Mathematics, Design Patterns

### Technical Skills

1. Knowledge of the C++ language and syntax, e.g. RAII, pointers, references, templates, lambas, const evaluation.
2. Use of ECS architecture - learning a data-driven approach to enhance composition that is antithetical to object-oriented methodology.&#x20;
3. Mathematics for 3D games, e.g. using vectors, linear algebra, AABB bounding boxes.
4. Made use of data structures, e.g. stacks, queues, vectors; and algorithms, e.g. AI behaviour trees, recursion, collisions, sorting functions.
5. Implemented design patterns where appropriate, e.g. observer, singleton, template method, state, and event queue.
6. Extensive use of professional software style, e.g. readable code, comments where applicable, consistent style, reduction of complexity.
7. Refactoring of software where required, e.g. reduced coupling, removing duplicate code, extracting methods and classes.
