Saturday, October 9, 2021

Performance Optimization -Riot tech blog-

I'm really enjoying read these articles. especially optimizations.


https://technology.riotgames.com/news/profiling-case-missing-milliseconds


interesting thing is that just put one equal sign op removes 2ms stall.


currentTimeInMs > startTime + timeout 


replace to


currentTimeInMs >= startTime + timeout


In addition, Riot tech blog has tons of great articles there so you should check that out.

Monday, July 5, 2021

System Engineer로써 갖추어야 할 역량들

* 객체 지향 프로그래밍 언어 사용의 출중한 역량
* 설계, 객체 지향 프로그래밍, 디자인 패턴, 게임 디자인 원칙
* 좋은 커뮤니케이션 스킬, 기술적 & 문제 해결 능력
* 데드라인을 지키는 입증된 능력으로 조직됨
* 게임 개발에 열정적인 팀을 위한 지원. 도구, 시스템, 방법론에 대한 열정.
* 팀으로서 긍정적이며 동기 부여가 높고 인성을 갖추어야 함.
* 다중 작업 및 스케줄 변경에 있어 우선순위 기반으로 작업할 수 있는 능력.
* 품질에 대한 감각, 피드백/피병할 수 있는 자

* 설계할 수 있는자, 엔지니어, 깔끔하고 간결한 APIs 구현 능력
* 중/대기업 개발팀에서 개발한 경험
* 게임 상용화 또는 응용프로그램을 출시하는데 있어 필수 멤버였던 경험.

  • Develop and implement gameplay systems in a multiplayer environment. 
  • Implement game features and integrate engine features as needed to support desired gameplay
  • Provide hooks between low-level technology and game-level systems
  • Design algorithms that provide the desired gameplay results within real-time performance and memory budgets.
  • Analyze and refactor code to optimize performance.
  • Evaluate and communicate the potential impact of code changes
  • Suggest solutions to maximize features and fulfil design desires
  • Provide regular updates on technology risks and obstacles to designers, leads, and producers.
  • Test, debug and document code
  • Mentor junior engineers
Qualifications/Requirements:
  • Bachelor’s degree in Computer Science, Math, Engineering or related area
  • Minimum of 5 years game industry experience with 2 shipped titles
  • Demonstrated proficiency in C++
  • Experience with the Unity 3D Engine preferred
  • Perforce and Jira experience
  • Basic 3D Math
  • Console programming experience (Xbox 360, PS3, Xbox ONE, or PS4)
  • Experience with implementing network gameplay, AI, or physics
  • Capable of working with and creating game scripting systems
  • Practice developing in a Scrum or Agile development environment
  • Strong understanding of the coding process, standards and methodologies
  • Adept at working with game designers and artists to implement gameplay features
  • Ability to judge feature quality in relation to other current competing games
  • Excellent analysis, problem solving, and rapid deployment of effective solutions
  • Ability to prioritize, plan, and organize work
  • Must be an effective communicator, both verbally and written
  • Positive attitude, strong work ethic, and the ability to work in a highly collaborative team environment
  • Passion and enthusiasm for video games
  • Must be fluent in English; bi-lingual (French) a bonus
  • National and/or international travel may be required


  • Work with a small and talented team to develop scalable, highly performant platform services
  • Implement new features and services to support the needs of multiple teams
  • Coordinate with embedded and external teams, create relationships and assist with shared initiatives
  • Participate in the ongoing effort to improve our platform infrastructure, with the goal of achieving ever increasing service availability
  • Perform research to acquire new knowledge necessary to perform assigned tasks and maintain a process of technological evolution
  • Develop unit and integration test code to validate service reliability
  • Mentor and educate more junior engineers on the team


  • A degree in computer science, or a related field
  • A minimum of 5 years of relevant work experience
  • Ability to work in a collaborative environment
  • Excellent communication skills
  • Advanced understanding of C++
  • Prior development work on distributed systems and client/server architectures
  • Strong data-structure, logic, and algorithm skills
  • Knowledge of network and server security issues
  • Experience with performance analysis and code optimization
  • Experience with protocol and API design
  • Database development experience (MySQL, Oracle, Cassandra, etc.)
  • Self-motivated and able to break down complex tasks
  • A desire to help make the service the best that it can be for our players

  • Proficient in at least one scripting language such as Python
  • Linux development experience (server applications, gdb debugging, etc.)
  • Experience with cloud/virtualization/containerization technologies and infrastructure
  • Enthusiastic about supporting a live service
  • Familiarity with Blizzard Entertainment games and features, at least at a casual player level

Task in UnrealEngine

 https://www.youtube.com/watch?v=1lBadANnJaw