In this presentation, we'll explore the unique concerns of a system that supports dozens of concurrent players in real time. We'll use a mobile game written in JavaScript to test different implementation options and you'll leave ready to go home and design your own multiplayer experience.
In this course concepts and requirements of the video game development will be taught. Students will get familiar to the fundamentals of the game industry and finally put all the learned stuff together to work on a small game project.
2018.03.19 판도라큐브 세미나
제작자: 기획 파트 한서현
코멘트: 없음
비고: 없음
판도라큐브는 세종대학교 소프트웨어융합대학 소속의 게임 제작 동아리입니다.
매주 회의마다 게임 제작과 관련된 주제로 세미나를 개최합니다.
모든 자료는 세미나 자료 제작자의 동의 하에 업로드됩니다.
세미나의 소유 및 책임은 제작자가 지닙니다.
In this presentation, we'll explore the unique concerns of a system that supports dozens of concurrent players in real time. We'll use a mobile game written in JavaScript to test different implementation options and you'll leave ready to go home and design your own multiplayer experience.
In this course concepts and requirements of the video game development will be taught. Students will get familiar to the fundamentals of the game industry and finally put all the learned stuff together to work on a small game project.
2018.03.19 판도라큐브 세미나
제작자: 기획 파트 한서현
코멘트: 없음
비고: 없음
판도라큐브는 세종대학교 소프트웨어융합대학 소속의 게임 제작 동아리입니다.
매주 회의마다 게임 제작과 관련된 주제로 세미나를 개최합니다.
모든 자료는 세미나 자료 제작자의 동의 하에 업로드됩니다.
세미나의 소유 및 책임은 제작자가 지닙니다.
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
A high-level overview of Unreal Engine 4, its game framework, the Slate user interface library, Unreal Motion Graphics, and Editor and Engine extensibility. Presented at GDC Europe in Cologne, Germany.
Also includes bonus slides on concurrency and parallelism features, general tips for programmers and Epic's build and automation infrastructure.
NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
Tammy Levy at GDC 2019: Nature vs. Nurture: Unpacking Player Spending in F2P ...Kongregate
Have players committed to spending money in free-to-play games before they even install the game? Are you wasting time trying to get more people to spend money in your game? What monetization metrics should you be focusing on improving instead? In this GDC 2019 talk, Tammy Levy uses several case studies from live Kongregate games to explore how and why some player behaviors are easier and more rewarding to change, while others have a nearly unbreakable ceiling.
시스템 디자인을 시작해보려는 또는 이제 막 시작한 게임 디자인 지망생 및 주니어 게임 기획자들에게 도움이 됐으면 하는 마음에 작성했습니다.
목차
1. 시스템이란?
2. 시스템 디자인에서 중요한 것
3. 시스템과 콘텐츠의 구분
4. 시스템 디자인, 왜 어렵나?
5. 나도 한번 해보자, 시스템 디자인
6. 좋은 시스템이란?
7. 주의사항
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
A high-level overview of Unreal Engine 4, its game framework, the Slate user interface library, Unreal Motion Graphics, and Editor and Engine extensibility. Presented at GDC Europe in Cologne, Germany.
Also includes bonus slides on concurrency and parallelism features, general tips for programmers and Epic's build and automation infrastructure.
NHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
Tammy Levy at GDC 2019: Nature vs. Nurture: Unpacking Player Spending in F2P ...Kongregate
Have players committed to spending money in free-to-play games before they even install the game? Are you wasting time trying to get more people to spend money in your game? What monetization metrics should you be focusing on improving instead? In this GDC 2019 talk, Tammy Levy uses several case studies from live Kongregate games to explore how and why some player behaviors are easier and more rewarding to change, while others have a nearly unbreakable ceiling.
시스템 디자인을 시작해보려는 또는 이제 막 시작한 게임 디자인 지망생 및 주니어 게임 기획자들에게 도움이 됐으면 하는 마음에 작성했습니다.
목차
1. 시스템이란?
2. 시스템 디자인에서 중요한 것
3. 시스템과 콘텐츠의 구분
4. 시스템 디자인, 왜 어렵나?
5. 나도 한번 해보자, 시스템 디자인
6. 좋은 시스템이란?
7. 주의사항
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyJames Gwertzman
A deep dive into the guts of running a low-latency multiplayer game on a global scale using Amazon Web Services. You’ll get the details on how the Top 10 F2P shooter Loadout was launched on both PC and PS4 and how PlayFab’s complete backend and live game operations platform is architected to handle the scale these kind of games demand. Delivered on July 7 at the AWS Loft in San Francisco.
An introduction to what multiplayer games are, what makes them different from normal games, how to approach building them and specifically how to begin building them with the Unity game engine.
Talk given at the GameIS & Dragonplay mobile multiplayer hackathon, 30/7/2015
At Wooga we are creating the next generation of social games. To be truly social, a game needs to offer real interaction between players in various forms. What started with simple, asynchronous gift requests is evolving into real time interactions between players. We are experiencing a renaissance of multiplayer games, giving us the opportunity to look into problems that have been solved over a decade ago, such as network architectures, communication protocols, latency and connection loss. And we now leverage that knowledge to bring multiplayer games to the mobile world.
In our talk we’ll cover this evolution of user interaction in our games, what technical problems they posed and how we solved them.
Unite2014 Bunny Necropsy - Servers, Syncing Game State, Security and Optimiza...David Geurts
A 30 minute extension on the presentation Syncing Success. Talks about all the lessons learned and how we improved upon them. Very good tips on Unity and how to manage MonoBehaviours to make unity games run super smooth. Unity Asset Bundle build tool plan and setup
GDC 2015 - Low-latency Multiplayer Gaming with AWS Nate Wiger
Learn the challenges involved with deploying a low-latency multiplayer game globally, and how to overcome them with AWS. Based on real-world experiences from myself and other game developers deploying online games with tens of thousands of players.
Tech solutions and tricks in real time mobile multiplayerDevGAMM Conference
Alexander Simakhin, CEO, Drunken Monday
Alexander is going to share the examples of technical problems you can face with while developing a mobile synchronous multiplayer, and application solutions that were tested on real projects. You’ll learn everything you were afraid to ask about.
Cloud gaming is a promising application of the rapidly expanding cloud computing infrastructure. Existing cloud gaming systems, however, are closed-source with proprietary protocols, which raises the bars to setting up testbeds for experiencing cloud games. In this paper, we present a complete cloud gaming system, called GamingAnywhere, which is to the best of our knowledge the first open cloud gaming system. In addition to its openness, we design GamingAnywhere for high extensibility, portability, and reconfigurability. We implement GamingAnywhere on Windows, Linux, and OS X, while its client can be readily ported to other OS's, including iOS and Android. We conduct extensive experiments to evaluate the performance of GamingAnywhere, and compare it against two well-known cloud gaming systems: OnLive and StreamMyGame. Our experimental results indicate that GamingAnywhere is efficient and provides high responsiveness and video quality. For example, GamingAnywhere yields a per-frame processing delay of 34 ms, which is 3+ and 10+ times shorter than OnLive and StreamMyGame, respectively. Our experiments also reveal that all these performance gains are achieved without the expense of higher network loads; in fact, GamingAnywhere incurs less network traffic. The proposed GamingAnywhere can be employed by the researchers, game developers, service providers, and end users for setting up cloud gaming testbeds, which, we believe, will stimulate more research innovations on cloud gaming systems.
GamingAnywhere is now publicly available at http://gaminganywhere.org.
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...DevClub_lv
Building photorealistic 3D experiences on the Web is a challenge. Making it with React is even harder but once you got there it pays off in many ways. This talk is about Evolution Gaming approach of working with 3D graphics on the Web using ReactJS with the goal to build the most sophisticated and expensive WebGL application ever created.
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJSFestUA
Создать фотореалистичное 3D приложение для Web не просто. Сделать это с React еще сложнее, но окупается с лихвой если вы все таки справились. Этот доклад о том как Evolution Gaming использует WebGL и ReactJS для создания самого сложного и дорогого WebGL приложения из когда либо разработанных.
Designing a pragmatic back-end service for mobile gamesiFunFactory Inc.
For competition in the mobile gaming industry getting fierce, mobile game developers now face tough challenges including handling a different service landscape and working on a tight time budget. These obstacles lead the developers to seek handy solutions to abstract away development complexity and to reduce overall development cycle. This talk will focus especially on the back-end side of mobile game services. It will first review issues in mobile game services, then highlight the requirements of back-end services for the services. Finally, the talk will propose a vertically-integrated back-end platform.
Deploying a Low-Latency Multiplayer Game Globally: Loadout Amazon Web Services
This is a deep-dive straight into the guts of running a low-latency multiplayer game, such as a first-person shooter, on a global scale. We dive into architectures that enable you to split apart your back-end APIs from your game servers, and Auto Scale them independently. See how to run game servers in multiple AWS regions such as China and Frankfurt, and integrate them with your central game stack. We’ll even demo this in action, using AWS CloudFormation and Chef to deploy Unreal Engine game servers.
GDC Next 2013 - Synching Game States Across Multiple DevicesDavid Geurts
Saving players' game states across multiple devices can be tricky, especially if you allow offline play. Many games make the user choose between states when play is detected on a different device. Users can easily make mistakes that erase hours of progress. While developing Tunnel Town, we hit upon an elegant solution that can help you deliver a more polished user experience without the hassle of complicated code. The average profitable lifetime of a mobile game is six months. Learn how to architect your servers so they can be reused for multiple projects with a simple approach that scales easily.
Similar to Developing Multiplayer Games in Unity3D (20)
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
7. Multiplayer: in general
May not refer to LAN or online only!
Can also be on the same platform:
› Split-Screen: Need for Speed
› Same-Screen: Move or Die - check it out!
› Hotseat: Worms, Disciples 2
8. Multiplayer: LAN / online
Multiplayer: data synchronization between
two or more nodes in a network
A realm of smoke and mirrors for developers
10. Transport protocols
TCP UDP
Reliability reliable unreliable
Connection connection oriented connectionless
Retransmission Segment retransmission and flow
control through windowing
No window or retransmission
Sequencing Segment sequencing No sequencing
Acknowledgement Acknowledge segments No acknowledgement
Speed Slow Fast
13. Client-server
Characteristics
The server has
control
Clients only
provide input
Pros
No easy
cheating at the
client side
Easy
synchronization
between clients
Cons
Server
maintenance
Server load: it
does most of
the work, so it
needs more
power
15. Peer to peer
Characteristics
Clients control
their individual
actions
No actual server
Pros
No hosting costs
Fast if less
clients
Cons
Cheating heaven
Synchronization
can be a hard
problem
16. Hybrid
Trade-offs between server and client, e.g.:
Master client: a client that takes the role of
the server and handles all synchronizations
Server as facilitator: a server that checks
metadata and stores everything in one place
but clients do their own calculations
17. Data transfer approaches
Very hard
Discrete, change
the state of the
game, player
etc., e.g., player
death, map
change
Very hard with
interpolation
Usually position,
rotation,
animation
Hard with sync
Requires
synchronization
rarely, e.g., a
clock that is
started with the
game
18. Data transfer approaches
Delayed hard
Using data from
the past, e.g.,
playing vs a
ghost car from a
player who
played before
Soft
Can be used for
pathfinding or
data that is not
mandatory to be
exact on each
node
Very soft
Result already
processed but
the client
receives it later,
e.g., games like
Travian
20. Multiplayer solutions: choice
Pick what makes sense by answering, e.g.:
› What type of game am I developing?
› What is the expected monthly user ratio?
› What is the level of security in the game?
› What server issues appear and how to handle?
› Do I want just an easy solution that works?
22. PUN: features
› Authentication
› Matchmaking
› In-game communication
› Integration with Unity
› Free for 20 concurrent connections
23. PUN: Photon Cloud
› Uses a hybrid architecture
› No server, only clients
› One client takes the Master Client role
› Photon handles network address translation,
game session finding and other problems that
appear between clients
24. PUN: adding it to Unity
Takes only 4 steps:
1. Get the Photon Unity network from the asset store
2. Creat an account on photonengine.com
3. Create a new application and get the ID
4. Insert the ID in the Photon Unity network
25. PUN: connecting to the server
Common Methods
› PhotonNetwork.ConnectUsingSettings( )
› PhotonNetwork.JoinRandomRoom( )
› PhotonNetwork.CreateRoom( )
Common Callbacks
› OnConnectedToMaster( )
› OnJoinedLobby( )
› OnFailedToConnectToPhoton( )
26. Continuous updates
Done after a specific
interval
Used for position, animation
Data transfer: hard with
interpolation
PUN: data server
Remote procedure calls
Called specifically by a
client
Can be queued for late-
joining players
Can be targeted
Data transfer: very hard, soft
28. PUN: Photon View
Can observe:
1. Unity 3D components
2. Photon sync components
a. PhotonTransformView
b. PhotonAnimatorView
3. Custom user scripts
a. OnPhotonSerializeView
b. Remote procedure calls
29. PUN: Master Client
› Picked uniformly at random by Photon Engine
› Re-picked if the current master disconnects
› There should always be one master at all times
› while a game session is in progress
› Has more power than normal clients
can take ownership of objects
› Should implement the game logic
30. PUN: object ownership
PhotonNetwork.Instantiate
› creates a player-owned object.
› if a player disconnects, the object disappears
Scene objects
› instantiated by the master client
› don’t disappear, even if the master client is changed
32. Latency At Game: problem
› Multiplayer enemy No. 1
› Affects even LAN networks
› Can create frustration among players
› Probably the most annoying thing
anyone experienced in multiplayer
33. Latency At Game: solution
Compensation: making up for the lost time;
processes the time of the player’s action
Prediction: client predicting local actions without
the server’s confirmation. Confirmed later by the
server’s message, later, when it arrives
Interpolation: client tries to figure out the values
between the sparse values received from the server
34. Network Address Translation: problem
Multiplayer games may work in LAN
When the developers decide to take it to the next
level, NAT appears, and it’s here to stay!
Since the IPs over the internet are not the same as
those on the LAN, the connection won’t be possible
35. Network Address Translation: solution
› Port Forwarding from local router
› Universal Plug and Play
› Relay Server with real IP
› Using a solution out-of-the box like
Photon, which performs this already
36. Cheating: problem
Usually done by players:
› Directly by fiddling with the code or the packets
sent on the network
› Indirectly by finding a flaw in the network
design and using that to gain advantages
Examples of cheats: Wallhack, maphack,
teleportation, invincibility or unlimited ammo
37. Cheating: solution
› Fix all bugs that appear
› Do not provide invisible information to a player., e.g., if
an enemy is behind a wall
› Try to use a client-server architecture, this will
minimize consistently the cheating factor
› Implement a reporting system and IP ban
› Implement a lockstep protocol
38. Synchronization: problem
If the synchronization still persists due to poor server
components or poor connections, you can
implement some hacks to make the game faster
Developer forgets to implement some edge cases
and one user sees information that others don’t
45. Resources ∙ Credits
› Multiplayer video game. Wikipedia link
› Lag compensation explained. Call of Duty Community Forums link
› Source multiplayer networking. Lag compensation. Valve Community Network Developer Wiki link
› Introduction to multiplayer game programming by Brian Hook. Book of Hook link
› Fast-paced multiplayer by Gabriel Gambetta link
› Why do some networked games use interpolation and some use pathfinding for remote movement?
StackOverflow link
› Lockstep protocol. Wikipedia link
› Why Quake changed games forever? by Ryan Winterhalter. 1up link
› Dumaine Google presentation theme by Jimena Catalina. Slides Carnival link
› Icons8 icons with Creative Commons Attribution-NoDerivs 3.0 Unported free license link