Angelika Bugl

Angelika Bugl Portrait

Angelika Bugl

Gameplay Programmer @ Splash Damage

 Flat 70, William House
 Ringer's Road
 Bromley, BR1 1AG
 United Kingdom

  angelika.bugl@itengy.com

References


 
 
 

Gameplay Programming @ Splash Damage

Since May 2015 I am living in Bromley, UK and working in a big Scrum team of very motivated people in the very friendly company called Splash Damage on the server and client code of a very exciting but also very secret high-quality AAA multiplayer shooter game in cooperation with Wargaming.
We've started out as a very small team of 6 people, but over time we've grown and are currently over 70 people in this project. During this time, I've collected a lot of knowledge, not only on the technical side, but also on the design side and in soft skills.

Communication is an important part of my job: People are asking me for help, to review their code or design. My detailed knowledge about the code and the design helped me perfectionalise finding edge cases even before implementing any code. Such special cases might only happen with very specific combinations of features or when things happen at approximately the same time.
As a consistent, logical and robust architecture is very important to me, I like writing unit and bot tests to ensure everything works as expected in any case.
By carefully following the coding standards and writing well structured, commented, performant code I am aiming to build robusts systems without vulnerabilities and help future programmers to be able to quickly understand.

I see myself as one part of a very diverse team in which we are working together to create the best user experience possible. It's not about who's idea it is, it's about trying to find the best solution for a given problem - independent of from where or whom it comes from. I'm also aiming to support everyone as good as possible in any way. Clear communication is key thereby - understanding the fundamental problem and what we are trying to achieve and might want to have in the future is crucial for planning good architectures that are open for extensions. Understanding each other and communicating what a certain feature implementation will be able to support and what not is important to prevent having to deal with unexpected problems in the future.

My main responsibilities

  • - Working closely with game design and other disciplines to detect edge cases, even before the feature implementation, and find out the exact requirements for new features
  • - Reviewing of design documents and providing advice about the technical feasibility and complexity of new ideas
  • - Planning and estimating features and architectures
  • - Reviewing code and providing feedback
  • - Creation of technical design documents, user documentation, test information for QA, help pages, ... on Confluence
  • - Helping people and providing information

Code

  • - Creating interfaces for UI to query information and send gameplay requests
  • - Creation of a robost and secure system that can't be exploited by users and does not have any vulnerabilities while ensuring the system is also open for adaptations and extensions
  • - Efficient, clean, self-explanatory, structured and well documented code while carefully following the provided coding style guidelines
  • - Responsible for the development and architecture of several, big and complex features on client and server side
  • - Creation and maintaining of a dev helper object that provides functionality not yet hooked up in UI as well as documentation
  • - Digging into pre-existing code to find out how to best implement certain features
  • - Learned a new language (Python) and game engine (BigWorld)
  • - Writing of unit and bot tests for all different (edge) cases
  •  

Tech

BigWorld Engine, Python, SVN, Confluence, Jira

University

Media Technology and Design

After eight years at the Bundesrealgymnasium Steyr I finished my general qualification for university entrance in the professions mathematics, german, descriptive geometry and interdisciplinary mathematics and descriptive geometry. I wanted to become a web designer to combine creative skills with technological knowledge. I decided that the University of Applied Science in Hagenberg would best fit my wishes and started there my studies in Media Technology and DesignIt did not took me long to find out that developing games was much more fun than creating websites and therefore I created games in all my term projects. 
As I really like mathematics and found the stuff we had learned rather easy I worked as math tutor for the newcomer students in the third term.
In the last term of my studies I had to do an internship at a company. I decided to go to the augmented reality company Wikitude, where I also had the possibility to work on a small game.

Interactive Media

In 2012 I finished my Bachelor of Science and started the masters program Interactive Media.
For my master's thesis I developed a metrics tracking system as a service for the xis-engine. It was used for the evaluation of our platform game Elements. The tracked metrics were used to ask appropriate questions to find problems in the level design. More detailed information about my project can be found under Evaluation Tool. This page also contains information about my thesis 'Player Evaluation of the Level Design of a Platform Game Using Automated Questions Based on Context-specific Game Metrics' which covers, besides others, different evaluation techniques such as heuristics, questionnaires and of course gameplay metrics.
Alongside my thesis I worked as tutor for algorithms and datastructures and checked the assignments of Mediatechnology and Design students.

Some Courses I took in Mediatechnology and Design ...

Programming, Hypermedia Programming, Advertisement and Marketing, Communication/ Presentation, Mathematics, Photography, Databases, Animations, Computer Graphics, Organisational Technology and Creativity Techniques, Video Design

Some Courses I took in Interactive Media ...

Gameart and Leveldesign, Human-Computer Interaction, Game Architecture, Artificial Intelligence, Software Design Methods,   Cross Platform Game Development, Advanced Computer Graphics, Computer Vision, Mobile Games

Hobbies

jogging, photography and (of course) games of all kinds & programming

My GamesAbstracts of my main responsibilities

  • Entities and their physical representation
  • Level Reading, Loading and Saving
  • Interfaces for the editor for selecting, creating, manipulating and deleting entities
  • Collision Management
  • Game & World States
  • Responsive camera adjustments based on screen proportions
  • Entites and their physics
  • Mixing ingredients, battlefiled setup
  • AI of collectors and fighters
  • Level design of the puzzle levels
  • High score system
  • Level manager
  • Physics (Java library phys2D)
  • Dynamic Level Loading Algorithm: unloads objects out of the screen which are not visible anymore and reuses their entities for the upcoming objects in the level
    • AI of the monkeys which use feelers to move through the level
    • Bullet system which reuses old bullet entities
    • Taking, transporting and releasing objects
    • Quady's Energy Management
    • Inventory (currently not in the game)
      • Algorithm for the creation of a 'circle' out of physical rectangles
      • Level loading
      • Configuration using a Model file

      My ProjectsFind out what I've done in each project

      • Entity System incl. Entity Factory
        • unused entities can be reused to avoid lots of memory allocations/ delocations
      • Physics Service: Integration of Box2D library
      • GUI system + reading GUI from Model file
      • Metric tracking system
        • Features defined by game
        • Creation of test sessions
        • In-game questionnaires
      • Several parts of the Windows platform layer
      • Game state management system
      • Research: Game Heuristics and Questionnaires
      • Creation of the MySQL database structure
      • Fetching data from the DB and writing into the DB
      • Including the PHP Mailer v. 5.1
      • Metrics Tracking System
      • Question Manager
        • text questions, checkboxes and radio buttons
      • In-Game Metrics Analysis
        • Questions depending on tracked data
      • Creation of Heatmaps
      • Research
      • Initial base structure of the GLSL geometry shader
      • Drupal Module for creating, editing and saving menus