This document summarizes the internship presentation given by Kushagra Udai and Jeremy Karson about their internship working on the War of Nations server team at Gree. They worked on the War Room feature, which allows users to manage specialist units that provide boosts to armies. Their tasks included implementing new functionality, refactoring code, developing admin tools, collecting analytics, and fixing bugs. They learned various programming skills and tools. Both interns said they enjoyed the people and culture at Gree.
4. About the feature
● Enables users to buy, upgrade, fuse, and
dismiss specialists.
● Specialists are assigned to formations.
● The specialists in your active formation
provide boosts that make your armies more
effective.
● Stronger specialists provide better boosts.
● Released: Tuesday, July 28, 2015 !!!
5. Things we worked on (overview)
● New Functionality
● Refactoring
● Admin Tool
● Analytics
● Bug Fixes
6. New Functionality
● Implemented Player Formation Inventory
Upgrade feature.
● Allows players to purchase new formation
slots for War-Room to swap active specialist
formations with a single click.
7. Refactoring
● Rank-boost-map and slot-general-map refactor
using Cantor Pairing Function.
● Add boost_score to rank-boost-map of client
generals.
● PlayerGeneralInventory refactored when
implementing FormationInventoryExpansion
- both bought under War-room Expansions.
8. Admin Tool
● The admin tool allows game administrators
to modify player data / attributes.
● Used for testing purposes, to fix mistakes,
and to keep players happy.
● Examples on next slides.
12. Modified
● Change in level causes a change in the
specialist’s XP.
● Rank cannot be changed using Admin Tool.
13. Analytics
● Product managers and analysts want
information about how often certain game
events occur.
● The server team logs information about
these events as they happen.
14.
15. What we worked on
● Log when a specialist increases its rank.
● Log when a specialist increases its level.
● Log the specialists in the active formation.
● Log when a specialist is acquired.
● Log when a specialist is dismissed.
16. Other War Room Tasks
● Writing (and fixing) unit tests.
● Smaller bug fixes and a little firefighting.
● Collaboration with client engineers
(troubleshooting, feature implementation,
moral support).
17. Other tasks (Not War Room)
● Port features from HC2 to HC1: Guild auto-
join, metascore, AB Testing (in
development).
● Safeguard pruning script (in development).
● PlayerBuilding - In Progress.
18. Bug Fixes
● Fixed unnecessary or unexpected event
queue invocations (or it’s lack thereof) in the
server code from PlayerBuilding.
● Fixed incorrectly charged gold for speedups
bought by players that failed to apply.
● Fixed incorrect scores displayed after a
battle in WD (and rewrote the update score
function in the process).
19. Things I’ve Learned (Jeremy)
Software / Tools / Languages
● PHP and PHPUnit
● Javascript/Ajax/JQuery/NodeJS
● Charles
● MySQLWorkbench
● PHPStorm
● XCode
● Git
● Slack!
20. Things I’ve Learned/
Gotten Better at! (Kush)
Software / Tools / Languages
● PHP, CodeIgnitor and PHPUnit
● Javascript/JQuery/HTML/CSS
● Charles - Basic network monitoring.
● MySQL
● PHPStorm
● XCode
● Git submodules
21. Things I’ve Learned (Jeremy)
Programming Concepts
● Model-view-controller framework
● Server-client relationship and interaction
● Unit testing techniques including mocking
static data
● Purpose and techniques of analytics
● Passing data between web page and server
● Usage of submodules
22. Things I’ve Learned (Jeremy)
Life Lessons
● What other teams do: QA, BD, BI
● Know your audience
● Be willing to ask for help, and willing to find
the answer on your own
● Calorie control
● Sometimes, a lot of people get laid off
23. Things I loved at GREE! (Kush)
● The people!
● Data configurable software/games.
● The git workflow and code reviews.
● Free meals and snacks!
Not so much:
● Lay-offs. I guess that’s the only thing I have
to complain about!
25. THANK YOU
*Our mentors: Priyank, Jeff, Daniel.
*Our managers: Alizons and Galvin.
*Our internship coordinators: Linda, Ada, and Tara.
*Our team and fellow interns.
*Entire GII Organization.
*All of you who showed up to listen to us, especially!