SlideShare ist ein Scribd-Unternehmen logo
1 von 35
網路遊戲設計 Web Game Design 授課教師 江素貞
Chapter 1 Introducing Web Game  Web Game Landscape
Web game A web game is a game hosted on a website and played through a web browser. With tens of thousands of them on the Internet, one thing is clear: web-based games are tremendously popular. In this chapter, we briefly explore client technology, typical goals of web games, and how this all relates to multiplayer games.
Client-side Technology Web-base games are created using a number of different platforms. The platform provide you with a programming language and a way to compile it into game content publishable to the web. Avirtual machine is software that your web browser uses to know how to run compiled content. Adobe’s Flash virtual machine is just called Flash Player.
Flash for Client-side Flash is the most-used platform for creating web-based games. Flash bridges the gap between artist and programmer very well.
Typical Goals This section classifies most web games into some general categories that attempt to answer the question, why was this game made? However, you should keep these goals in mind when designing a game, so that your game design supports what you are trying to achieve.
Typical Goals A multiplayer perspective is added that can help support the goal. Generating banner ad revenue Making your site even stickier Marketing Driving Downloads Education Providing subscription value Because I can
Generating Banner Ad Revenue You try to attract as many people to your site as possible, and keep them on it as long as possible, to generate a large number of ad impressions. If keep users around longer is the goal, then giving users the ability to chat adds a new layer to tour site that will give users another reason to stick around.
Making Your Site Even Stickier Sometimes games are created and put non-game websites in an attempt to get visitors to stay longer. If a user stays on tour web-site to play a game, then maybe that user will exercise other aspects of the website when not playing the game. The goal is to get users to use the game for a while and then browse the site.
Marketing Games are often created to promote things like movies, TV shows, consumer products, and events. Sometimes this approach is mixed with ad banners. Mattel’s Rebellion Race game (www.hotwheels.com/games/rebellion/index.aspx), which allows the real-time multiplayer car-racing game to promote the company’s toy cars.
Driving downloads The casual game download market is huge and very successful.  Site like Real Arcade (www.realarcade.com) and Big Fish Games (www.bigfishgames.com) promote many of their downloadable games with free lightweight web games. The web game is a sample of what you would download. You get hooked with the web game, and then download and pay for the full game.
Education Educational games can greatly benefit from multiplayer concepts. There are many possibililies here such as  driving the desire to learn more through competition giving learners assistance in real time providing one-on-one creative training approaches
Providing Subscription Value By paying a monthly subscription, users gain access to regular new features and content. Most site like these are virtual worlds. Club Penguin (www.clubpenguin.com) Faraway Friends (www.farawayfriends.com) One of the most attractive parts of a virtual world is the social aspect.
Because I can This is one of the most common motivations for creating games─developers just want to create something.
Chapter 1 Introducing Web Game  Connecting Users
Introduction How do users get information about each other?Are they directly connected to each other, or is something else going on? Here will describe the most common way this interaction is handled.
Connection Techniques Typically, clients can interact with each other in one of two primary ways: Peer to peer. Information is transferred between clients without the use of a server. Client-server. A clients sends information only to the server. The server then transfers information to clients.
Peer to peer A server may have been used to allow then to find each other in the first place, but is not used after that. fully connected topology ring toplogy Generally speaking, peer to peer is not used much in gaming. However, peer to peer is alive and well for file-sharing networks, and is also being used successfully to distribute patches for games like World of Warcraft.
Peer to Peer In a fully connected peer to peer setup, all clients connect to each other.
Client-Server This category has two primary approaches: polling persistent socket connections A persistent socket connection, through the use of a socket server, is the most common approach.
Client-Server In a client-server setup, clients communicate with the server to exchange information.
Socket Servers A socket server is a program running somewhere, listening for connection attempts. Socket server exist at an IP address or hostname and listen for connections on at least one port. When a client establishes a connection with a socket server, the have opened up a persistent socket connection with the server. Updates in a socket-server application are event-driven and real-time. (Internet latency is still something to be dealt with in some games)
Polling Polling is an approach that rarely makes sense to use. Polling is the act of a client making a request to the server on a timed interval to  check for updates. (A client is never connected to the server)
Polling A client is polling the server repeatedly looking for updates, and usually there are none.
Chapter 1 Introducing Web Game  Where Decisions are Made
Concepts In multiplayer games, logic can be found on both the client and on the server. But if game logic can exist in both places, which has the authority to make important decisions? And why? Games that have most important decisions being made on the client are called authoritative client, and those that have most important decisions being made on the server are called authoritative server.
Authoritative Client The server is used simply to route messages between the clients. We’ll see one example of when decision-making on the client works and one where it doesn’t.
Authoritative Client An example: consider a two-player, turn-based game of pool.  Good choice for a simple game of pool.
Authoritative Client An example: consider a two-player, real-time tank-shooter game. Not such a good choice for a real-time tank-shooter game.
Authoritative Server Tank game is an example of an authoritative client that leads to a disagreement between the clients. The solution to this problem is to move that important decision-making to the server. In an authoritative server, the server is the single decision maker, so there is never any confusion about what is going on.
Authoritative Server The same real-time tank-shooter game, now controlled on the server.
When to Use Which Model A turn-based game where all of the information is know will most likely fit into an authoritative client model. 	(There is nothing left up to chance and nothing left to be revealed.) Some games that fit these criteria are chess, checkers, Connect Four, and pool.
When to Use Which Model Most real-time games (games where there are no turns) will automatically need to be authoritative server. Texas HoldemPocker Monopoly Car racing game.
ElectroServerPlugin Concepts Extensions are used to extend the functionality of the server. Three types of extensions: Managed objects. Event handlers Plugins.  A plugin is custom code run on the server. If your are going to write an authoritative server game, you need to write a plugin. A plugin can be conceptualized as a class.
Talking to Plugins Since games take place between users in a room together, the plugins that are most useful for our purposes are room-level plugins. Once the room is created, the client can communicate with the plugin through the API. Custom information is passed from the client to the plugin or from the plugin to the client through the use of EsObjects.

Weitere ähnliche Inhalte

Ähnlich wie Les 1 ppt

Dedicated Game Servers
Dedicated Game ServersDedicated Game Servers
Dedicated Game Serverswebhostingguy
 
Building Multiplayer Games (w/ Unity)
Building Multiplayer Games (w/ Unity)Building Multiplayer Games (w/ Unity)
Building Multiplayer Games (w/ Unity)Noam Gat
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesiFunFactory Inc.
 
Luke Hohmann's Software Guru 2009 Keynote: Innovation In Software
Luke Hohmann's Software Guru 2009 Keynote: Innovation In SoftwareLuke Hohmann's Software Guru 2009 Keynote: Innovation In Software
Luke Hohmann's Software Guru 2009 Keynote: Innovation In SoftwareEnthiosys Inc
 
Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014Paul Winterhalder
 
Text parser based interaction
Text parser based interactionText parser based interaction
Text parser based interactionMichael Heron
 
Landscape Of Virtual World Systems
Landscape Of Virtual World SystemsLandscape Of Virtual World Systems
Landscape Of Virtual World SystemsTim Holt
 
Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10NuRelm
 
LAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and DistributionLAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and DistributionDavid Mullich
 
Web Analytic for gaming
Web Analytic for gamingWeb Analytic for gaming
Web Analytic for gamingEider E Iñaki
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with SilverlightJosh Holmes
 
An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)rudigrobler
 
My Presentation.ppt
My Presentation.pptMy Presentation.ppt
My Presentation.pptFake474384
 
The Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdfThe Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdfConnect Solutions
 
Amazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developersAmazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developersDevGAMM Conference
 
Eirplay game production
Eirplay game productionEirplay game production
Eirplay game productionPete Lynch
 
The Next Generation of Flash User Experience
The Next Generation of Flash User ExperienceThe Next Generation of Flash User Experience
The Next Generation of Flash User ExperienceKevin Suttle
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyJames Gwertzman
 

Ähnlich wie Les 1 ppt (20)

Dedicated Game Servers
Dedicated Game ServersDedicated Game Servers
Dedicated Game Servers
 
Building Multiplayer Games (w/ Unity)
Building Multiplayer Games (w/ Unity)Building Multiplayer Games (w/ Unity)
Building Multiplayer Games (w/ Unity)
 
HTML5 Game Development frameworks overview
HTML5 Game Development frameworks overviewHTML5 Game Development frameworks overview
HTML5 Game Development frameworks overview
 
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile gamesDesigning a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
 
Luke Hohmann's Software Guru 2009 Keynote: Innovation In Software
Luke Hohmann's Software Guru 2009 Keynote: Innovation In SoftwareLuke Hohmann's Software Guru 2009 Keynote: Innovation In Software
Luke Hohmann's Software Guru 2009 Keynote: Innovation In Software
 
Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014Introduction to brainCloud - Sept 2014
Introduction to brainCloud - Sept 2014
 
Text parser based interaction
Text parser based interactionText parser based interaction
Text parser based interaction
 
Landscape Of Virtual World Systems
Landscape Of Virtual World SystemsLandscape Of Virtual World Systems
Landscape Of Virtual World Systems
 
Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10Workshop Trends In Open Source Tech 1 20 10
Workshop Trends In Open Source Tech 1 20 10
 
LAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and DistributionLAFS Marketing and Monetization Lecture 7: Sales and Distribution
LAFS Marketing and Monetization Lecture 7: Sales and Distribution
 
Web Analytic for gaming
Web Analytic for gamingWeb Analytic for gaming
Web Analytic for gaming
 
Architecting RIAs with Silverlight
Architecting RIAs with SilverlightArchitecting RIAs with Silverlight
Architecting RIAs with Silverlight
 
An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)
 
My Presentation.ppt
My Presentation.pptMy Presentation.ppt
My Presentation.ppt
 
POV | Unity vs HTML5 | Affle Enterprise
POV | Unity vs HTML5 | Affle EnterprisePOV | Unity vs HTML5 | Affle Enterprise
POV | Unity vs HTML5 | Affle Enterprise
 
The Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdfThe Guide to Website Development for Beginners.pdf
The Guide to Website Development for Beginners.pdf
 
Amazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developersAmazon Lumberyard: end-to-end solutions for game developers
Amazon Lumberyard: end-to-end solutions for game developers
 
Eirplay game production
Eirplay game productionEirplay game production
Eirplay game production
 
The Next Generation of Flash User Experience
The Next Generation of Flash User ExperienceThe Next Generation of Flash User Experience
The Next Generation of Flash User Experience
 
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game GloballyBehind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
Behind the Scenes: Deploying a Low-Latency Multiplayer Game Globally
 

Kürzlich hochgeladen

Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 

Kürzlich hochgeladen (20)

LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 

Les 1 ppt

  • 1. 網路遊戲設計 Web Game Design 授課教師 江素貞
  • 2. Chapter 1 Introducing Web Game Web Game Landscape
  • 3. Web game A web game is a game hosted on a website and played through a web browser. With tens of thousands of them on the Internet, one thing is clear: web-based games are tremendously popular. In this chapter, we briefly explore client technology, typical goals of web games, and how this all relates to multiplayer games.
  • 4. Client-side Technology Web-base games are created using a number of different platforms. The platform provide you with a programming language and a way to compile it into game content publishable to the web. Avirtual machine is software that your web browser uses to know how to run compiled content. Adobe’s Flash virtual machine is just called Flash Player.
  • 5. Flash for Client-side Flash is the most-used platform for creating web-based games. Flash bridges the gap between artist and programmer very well.
  • 6. Typical Goals This section classifies most web games into some general categories that attempt to answer the question, why was this game made? However, you should keep these goals in mind when designing a game, so that your game design supports what you are trying to achieve.
  • 7. Typical Goals A multiplayer perspective is added that can help support the goal. Generating banner ad revenue Making your site even stickier Marketing Driving Downloads Education Providing subscription value Because I can
  • 8. Generating Banner Ad Revenue You try to attract as many people to your site as possible, and keep them on it as long as possible, to generate a large number of ad impressions. If keep users around longer is the goal, then giving users the ability to chat adds a new layer to tour site that will give users another reason to stick around.
  • 9. Making Your Site Even Stickier Sometimes games are created and put non-game websites in an attempt to get visitors to stay longer. If a user stays on tour web-site to play a game, then maybe that user will exercise other aspects of the website when not playing the game. The goal is to get users to use the game for a while and then browse the site.
  • 10. Marketing Games are often created to promote things like movies, TV shows, consumer products, and events. Sometimes this approach is mixed with ad banners. Mattel’s Rebellion Race game (www.hotwheels.com/games/rebellion/index.aspx), which allows the real-time multiplayer car-racing game to promote the company’s toy cars.
  • 11. Driving downloads The casual game download market is huge and very successful. Site like Real Arcade (www.realarcade.com) and Big Fish Games (www.bigfishgames.com) promote many of their downloadable games with free lightweight web games. The web game is a sample of what you would download. You get hooked with the web game, and then download and pay for the full game.
  • 12. Education Educational games can greatly benefit from multiplayer concepts. There are many possibililies here such as driving the desire to learn more through competition giving learners assistance in real time providing one-on-one creative training approaches
  • 13. Providing Subscription Value By paying a monthly subscription, users gain access to regular new features and content. Most site like these are virtual worlds. Club Penguin (www.clubpenguin.com) Faraway Friends (www.farawayfriends.com) One of the most attractive parts of a virtual world is the social aspect.
  • 14. Because I can This is one of the most common motivations for creating games─developers just want to create something.
  • 15. Chapter 1 Introducing Web Game Connecting Users
  • 16. Introduction How do users get information about each other?Are they directly connected to each other, or is something else going on? Here will describe the most common way this interaction is handled.
  • 17. Connection Techniques Typically, clients can interact with each other in one of two primary ways: Peer to peer. Information is transferred between clients without the use of a server. Client-server. A clients sends information only to the server. The server then transfers information to clients.
  • 18. Peer to peer A server may have been used to allow then to find each other in the first place, but is not used after that. fully connected topology ring toplogy Generally speaking, peer to peer is not used much in gaming. However, peer to peer is alive and well for file-sharing networks, and is also being used successfully to distribute patches for games like World of Warcraft.
  • 19. Peer to Peer In a fully connected peer to peer setup, all clients connect to each other.
  • 20. Client-Server This category has two primary approaches: polling persistent socket connections A persistent socket connection, through the use of a socket server, is the most common approach.
  • 21. Client-Server In a client-server setup, clients communicate with the server to exchange information.
  • 22. Socket Servers A socket server is a program running somewhere, listening for connection attempts. Socket server exist at an IP address or hostname and listen for connections on at least one port. When a client establishes a connection with a socket server, the have opened up a persistent socket connection with the server. Updates in a socket-server application are event-driven and real-time. (Internet latency is still something to be dealt with in some games)
  • 23. Polling Polling is an approach that rarely makes sense to use. Polling is the act of a client making a request to the server on a timed interval to check for updates. (A client is never connected to the server)
  • 24. Polling A client is polling the server repeatedly looking for updates, and usually there are none.
  • 25. Chapter 1 Introducing Web Game Where Decisions are Made
  • 26. Concepts In multiplayer games, logic can be found on both the client and on the server. But if game logic can exist in both places, which has the authority to make important decisions? And why? Games that have most important decisions being made on the client are called authoritative client, and those that have most important decisions being made on the server are called authoritative server.
  • 27. Authoritative Client The server is used simply to route messages between the clients. We’ll see one example of when decision-making on the client works and one where it doesn’t.
  • 28. Authoritative Client An example: consider a two-player, turn-based game of pool. Good choice for a simple game of pool.
  • 29. Authoritative Client An example: consider a two-player, real-time tank-shooter game. Not such a good choice for a real-time tank-shooter game.
  • 30. Authoritative Server Tank game is an example of an authoritative client that leads to a disagreement between the clients. The solution to this problem is to move that important decision-making to the server. In an authoritative server, the server is the single decision maker, so there is never any confusion about what is going on.
  • 31. Authoritative Server The same real-time tank-shooter game, now controlled on the server.
  • 32. When to Use Which Model A turn-based game where all of the information is know will most likely fit into an authoritative client model. (There is nothing left up to chance and nothing left to be revealed.) Some games that fit these criteria are chess, checkers, Connect Four, and pool.
  • 33. When to Use Which Model Most real-time games (games where there are no turns) will automatically need to be authoritative server. Texas HoldemPocker Monopoly Car racing game.
  • 34. ElectroServerPlugin Concepts Extensions are used to extend the functionality of the server. Three types of extensions: Managed objects. Event handlers Plugins. A plugin is custom code run on the server. If your are going to write an authoritative server game, you need to write a plugin. A plugin can be conceptualized as a class.
  • 35. Talking to Plugins Since games take place between users in a room together, the plugins that are most useful for our purposes are room-level plugins. Once the room is created, the client can communicate with the plugin through the API. Custom information is passed from the client to the plugin or from the plugin to the client through the use of EsObjects.