Gree Internship PresentationKushagra Udai & Jeremy Karson

Kushagra Udai & Jeremy KarsonTitle: Software Engineering InternsTeam: War of Nations ServerManagers: Galvin Hsiu & Alizons NematovsKushagras Mentor: Priyank Bagrecha Jeremys Mentors: Jeff Barrington & Daniel Lyu

Main Project: War Room Feature

About the featureEnables 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 !!!

Things we worked on (overview)New FunctionalityRefactoringAdmin ToolAnalyticsBug Fixes

New FunctionalityImplemented Player Formation Inventory Upgrade feature.Allows players to purchase new formation slots for War-Room to swap active specialist formations with a single click.

RefactoringRank-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.

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.



Complete Goals upto a given goal ID:

Send messages to all worlds, a specific world, a guild or a player:


Remove add/delete formation buttons.Create clear out formation buttons.


Change in level causes a change in the specialists XP. Rank cannot be changed using Admin Tool.

AnalyticsProduct managers and analysts want information about how often certain game events occur.The server team logs information about these events as they happen.

What we worked onLog 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.

Other War Room TasksWriting (and fixing) unit tests.Smaller bug fixes and a little firefighting.Collaboration with client engineers (troubleshooting, feature implementation, moral support).

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.

Bug FixesFixed unnecessary or unexpected event queue invocations (or its 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).

Things Ive Learned (Jeremy)Software / Tools / LanguagesPHP and PHPUnitJavascript/Ajax/JQuery/NodeJSCharlesMySQLWorkbenchPHPStormXCodeGitSlack!

Things Ive Learned/Gotten Better at! (Kush)Software / Tools / LanguagesPHP, CodeIgnitor and PHPUnitJavascript/JQuery/HTML/CSSCharles - Basic network monitoring.MySQLPHPStormXCodeGit submodules

Things Ive Learned (Jeremy)Programming ConceptsModel-view-controller frameworkServer-client relationship and interactionUnit testing techniques including mocking static dataPurpose and techniques of analyticsPassing data between web page and serverUsage of submodules

Things Ive Learned (Jeremy)Life LessonsWhat other teams do: QA, BD, BIKnow your audienceBe willing to ask for help, and willing to find the answer on your ownCalorie controlSometimes, a lot of people get laid off

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 thats the only thing I have to complain about!


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!

Top Related