SlideShare a Scribd company logo
1 of 25
Gree Internship Presentation
Kushagra Udai & Jeremy Karson
Kushagra Udai & Jeremy Karson
Title: Software Engineering Interns
Team: War of Nations Server
Managers: Galvin Hsiu & Alizons Nematovs
Kushagra’s Mentor: Priyank Bagrecha
Jeremy’s Mentors: Jeff Barrington & Daniel Lyu
Main Project: War Room Feature
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 !!!
Things we worked on (overview)
● New Functionality
● Refactoring
● Admin Tool
● Analytics
● Bug Fixes
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.
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.
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.
Added
AddedComplete Goals upto a given goal ID:
Send messages to all worlds, a specific world, a guild or a player:
Modified
● Remove add/delete formation buttons.
● Create clear out formation buttons.
Modified
● Change in level causes a change in the
specialist’s XP.
● Rank cannot be changed using Admin Tool.
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.
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.
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).
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 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).
Things I’ve Learned (Jeremy)
Software / Tools / Languages
● PHP and PHPUnit
● Javascript/Ajax/JQuery/NodeJS
● Charles
● MySQLWorkbench
● PHPStorm
● XCode
● Git
● Slack!
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
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
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
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!
Questions?
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!

More Related Content

Viewers also liked

Conditional Probability
Conditional ProbabilityConditional Probability
Conditional Probabilitykellsierees
 
Chapter 3 discrete_distribution_rev_2009
Chapter 3 discrete_distribution_rev_2009Chapter 3 discrete_distribution_rev_2009
Chapter 3 discrete_distribution_rev_2009ayimsevenfold
 
conditional probabilty
conditional probabiltyconditional probabilty
conditional probabiltylovemucheca
 
Baye’s Theorem
Baye’s TheoremBaye’s Theorem
Baye’s TheoremDaniel Ross
 
Conditional Probability
Conditional ProbabilityConditional Probability
Conditional Probabilityshannonrenee4
 
Math 1300: Section 8-3 Conditional Probability, Intersection, and Independence
Math 1300: Section 8-3 Conditional Probability, Intersection, and IndependenceMath 1300: Section 8-3 Conditional Probability, Intersection, and Independence
Math 1300: Section 8-3 Conditional Probability, Intersection, and IndependenceJason Aubrey
 
Conditional probability
Conditional probabilityConditional probability
Conditional probabilitysuncil0071
 
Bayes theorem explained
Bayes theorem explainedBayes theorem explained
Bayes theorem explainedDaniel Ross
 
Probability Concept and Bayes Theorem
Probability Concept and Bayes TheoremProbability Concept and Bayes Theorem
Probability Concept and Bayes TheoremCherryBerry2
 
Discrete and continuous probability distributions ppt @ bec doms
Discrete and continuous probability distributions ppt @ bec domsDiscrete and continuous probability distributions ppt @ bec doms
Discrete and continuous probability distributions ppt @ bec domsBabasab Patil
 
Discrete Probability Distributions
Discrete Probability DistributionsDiscrete Probability Distributions
Discrete Probability Distributionsmandalina landy
 
Probability Powerpoint
Probability PowerpointProbability Powerpoint
Probability Powerpointspike2904
 

Viewers also liked (17)

Conditional Probability
Conditional ProbabilityConditional Probability
Conditional Probability
 
Chapter 3 discrete_distribution_rev_2009
Chapter 3 discrete_distribution_rev_2009Chapter 3 discrete_distribution_rev_2009
Chapter 3 discrete_distribution_rev_2009
 
conditional probabilty
conditional probabiltyconditional probabilty
conditional probabilty
 
Lecture 24
Lecture 24Lecture 24
Lecture 24
 
Sfs4e ppt 06
Sfs4e ppt 06Sfs4e ppt 06
Sfs4e ppt 06
 
Lecture 37 cond prob
Lecture 37 cond probLecture 37 cond prob
Lecture 37 cond prob
 
Bayes Theorem
Bayes TheoremBayes Theorem
Bayes Theorem
 
Baye’s Theorem
Baye’s TheoremBaye’s Theorem
Baye’s Theorem
 
Conditional Probability
Conditional ProbabilityConditional Probability
Conditional Probability
 
Math 1300: Section 8-3 Conditional Probability, Intersection, and Independence
Math 1300: Section 8-3 Conditional Probability, Intersection, and IndependenceMath 1300: Section 8-3 Conditional Probability, Intersection, and Independence
Math 1300: Section 8-3 Conditional Probability, Intersection, and Independence
 
Conditional probability
Conditional probabilityConditional probability
Conditional probability
 
Bayes theorem explained
Bayes theorem explainedBayes theorem explained
Bayes theorem explained
 
Probability Concept and Bayes Theorem
Probability Concept and Bayes TheoremProbability Concept and Bayes Theorem
Probability Concept and Bayes Theorem
 
Discrete and continuous probability distributions ppt @ bec doms
Discrete and continuous probability distributions ppt @ bec domsDiscrete and continuous probability distributions ppt @ bec doms
Discrete and continuous probability distributions ppt @ bec doms
 
Bayes Theorem
Bayes TheoremBayes Theorem
Bayes Theorem
 
Discrete Probability Distributions
Discrete Probability DistributionsDiscrete Probability Distributions
Discrete Probability Distributions
 
Probability Powerpoint
Probability PowerpointProbability Powerpoint
Probability Powerpoint
 

Similar to Gree Internship Presentation Highlights Software Engineering Projects

Scaling Magento
Scaling MagentoScaling Magento
Scaling MagentoCopious
 
My benchmarks brings all the boys to the yard
My benchmarks brings all the boys to the yardMy benchmarks brings all the boys to the yard
My benchmarks brings all the boys to the yardIon Dormenco
 
Requirement Engineering process on The Outer Worlds game
Requirement Engineering process on The Outer Worlds gameRequirement Engineering process on The Outer Worlds game
Requirement Engineering process on The Outer Worlds gameAmna Khalil
 
Cees Roele - Case Study: How Process Follows Product
Cees Roele - Case Study: How Process Follows ProductCees Roele - Case Study: How Process Follows Product
Cees Roele - Case Study: How Process Follows ProductAgile Lietuva
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bddKim Carter
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 reviewManageIQ
 
bongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Djangobongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by DjangoJuho Vepsäläinen
 
Monitoring your VM's at Scale
Monitoring your VM's at ScaleMonitoring your VM's at Scale
Monitoring your VM's at ScaleKris Buytaert
 
Continuous Profiling for Android Game Performance Optimization
Continuous Profiling for Android Game Performance OptimizationContinuous Profiling for Android Game Performance Optimization
Continuous Profiling for Android Game Performance OptimizationKLab Inc. / Tech
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Andrew Yatsenko
 
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Lviv Startup Club
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance TestingLars Thorup
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsIntel® Software
 
Sprint 44 review
Sprint 44 reviewSprint 44 review
Sprint 44 reviewManageIQ
 
Group 3 slide presentation
Group 3 slide presentationGroup 3 slide presentation
Group 3 slide presentationMichael Young
 
Drupal Continuous Integration Workflow
Drupal Continuous Integration WorkflowDrupal Continuous Integration Workflow
Drupal Continuous Integration WorkflowAndrii Podanenko
 

Similar to Gree Internship Presentation Highlights Software Engineering Projects (20)

Scaling Magento
Scaling MagentoScaling Magento
Scaling Magento
 
My benchmarks brings all the boys to the yard
My benchmarks brings all the boys to the yardMy benchmarks brings all the boys to the yard
My benchmarks brings all the boys to the yard
 
Requirement Engineering process on The Outer Worlds game
Requirement Engineering process on The Outer Worlds gameRequirement Engineering process on The Outer Worlds game
Requirement Engineering process on The Outer Worlds game
 
Cees Roele - Case Study: How Process Follows Product
Cees Roele - Case Study: How Process Follows ProductCees Roele - Case Study: How Process Follows Product
Cees Roele - Case Study: How Process Follows Product
 
Moving to tdd bdd
Moving to tdd bddMoving to tdd bdd
Moving to tdd bdd
 
Transitioning to Native
Transitioning to NativeTransitioning to Native
Transitioning to Native
 
Sprint 45 review
Sprint 45 reviewSprint 45 review
Sprint 45 review
 
bongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Djangobongaus.fi - Spotting Service Powered by Django
bongaus.fi - Spotting Service Powered by Django
 
Monitoring your VM's at Scale
Monitoring your VM's at ScaleMonitoring your VM's at Scale
Monitoring your VM's at Scale
 
Continuous Profiling for Android Game Performance Optimization
Continuous Profiling for Android Game Performance OptimizationContinuous Profiling for Android Game Performance Optimization
Continuous Profiling for Android Game Performance Optimization
 
Sprint 60
Sprint 60Sprint 60
Sprint 60
 
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
Code Quality Control in a PHP project. GeekTalks, Cherkassy 2020
 
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance Testing
 
SivaRamaKrishna_CV_9.6 yrs Testing
SivaRamaKrishna_CV_9.6 yrs TestingSivaRamaKrishna_CV_9.6 yrs Testing
SivaRamaKrishna_CV_9.6 yrs Testing
 
Getting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® GraphicsGetting Space Pirate Trainer* to Perform on Intel® Graphics
Getting Space Pirate Trainer* to Perform on Intel® Graphics
 
Sprint 77
Sprint 77Sprint 77
Sprint 77
 
Sprint 44 review
Sprint 44 reviewSprint 44 review
Sprint 44 review
 
Group 3 slide presentation
Group 3 slide presentationGroup 3 slide presentation
Group 3 slide presentation
 
Drupal Continuous Integration Workflow
Drupal Continuous Integration WorkflowDrupal Continuous Integration Workflow
Drupal Continuous Integration Workflow
 

Gree Internship Presentation Highlights Software Engineering Projects

  • 2. Kushagra Udai & Jeremy Karson Title: Software Engineering Interns Team: War of Nations Server Managers: Galvin Hsiu & Alizons Nematovs Kushagra’s Mentor: Priyank Bagrecha Jeremy’s Mentors: Jeff Barrington & Daniel Lyu
  • 3. Main Project: War Room Feature
  • 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.
  • 10. AddedComplete Goals upto a given goal ID: Send messages to all worlds, a specific world, a guild or a player:
  • 11. Modified ● Remove add/delete formation buttons. ● Create clear out formation buttons.
  • 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!