Online multiplayer gaming in webbrowser

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Ed.
  • Registratie: Augustus 2001
  • Laatst online: 26-09-2022
Ik vroeg me af welke combinatie aan technologie mogelijkheden bieden op het gebied van realtime online multiplayer gaming via een webbrowser. Het summum van wat ik ken vind ik Quake Live, wat fantastisch werkt. Behoorlijk complexe materie aangezien ze hier een 3d engine via een plugin hebben weten te koppelen aan een webinterface.

Ik zou me wel willen verdiepen in een eenvoudiger voorbeeld, zoals een online Zatacka / Achtung die Kurve. Een uiterst simpel spelletje waarbij elke speler een lijn is en slechts 2 toetsen gebruikt, links of rechts. De lijn dendert voort en met links of rechts wordt een kromming gemaakt. Doel is niet tegen de ander of de 4 zijkanten aan te botsen en als laatste over te blijven.

Nu lijkt het me dat er via een technologie als Comet in combinatie met zaken als Javascript, ook realtime dit soort eenvoudigere games te maken zijn. Dan heb je niet eens een plugin nodig. Maar ik ken comet niet goed genoeg om te bepalen of dit snel genoeg werkt dat het kan.

Het zou kunnen met bijvoorbeeld flash (voorbeeld). Maar hoe knoop je de verschillende spelers via de flash voorkant aan de achterkant aan elkaar?

Met shockwave heb ik dit wel eens gezien dat je multiplayer games hebt, maar shockwave wordt weinig meer gebruikt volgens mij. Zie wel dat Adobe 19 januari dit jaar nog wel een update heeft gedaan, dus het leeft nog wel.

Iemand dus ideeën hoe je zoiets als Zatacka (of andere simpelere 2d spellen) realtime kunt spelen in je webbrowser? Voorbeelden zijn natuurlijk meer dan welkom!

Acties:
  • 0 Henk 'm!

  • 321X
  • Registratie: April 2009
  • Laatst online: 01-01-2023
Ik weet dat je met Flash wel zoiets zou kunnen maken, er zijn genoeg open source 3d engines te vinden voor Flash (mocht je al 3 willen gaan).

Als server kan je bijv. Adobe's Flash Media Interactive Server bekijken. Daarmee heb je een multiway communicatie mogelijkheid (message broadcasting), het is schaalbaar, multiplatform, een hoop voordeel dus.

Licentiekosten zijn fors (alhoewel de us-dollar licentie stukken goedkoper is!) maar dan heb je een multi inzetbaar platform (denk aan webcam/chat integratie in een flash game om een zijstraat te noemen). Het is in mijn ogen een gaaf product!

Voorbeeld van een MMO: http://www.adobe.com/news...il2009/articles/article2/

321X


Acties:
  • 0 Henk 'm!

  • flashin
  • Registratie: Augustus 2002
  • Laatst online: 17-12-2023
Saegos schreef op dinsdag 09 maart 2010 @ 18:36:
Behoorlijk complexe materie aangezien ze hier een 3d engine via een plugin hebben weten te koppelen aan een webinterface.
In principe hebben ze gewoon een Quake 3 distributie opgepoetst en die zo gemaakt dat ie te lanceren is in de browser. Zo heel complex is het nou ook weer niet. Wel heel leuk om te spelen in ieder geval :)

Acties:
  • 0 Henk 'm!

Anoniem: 103571

Met Flash kan je socket connecties leggen, ideaal voor multiplayer games. Je kan inderdaad voor een Flash Media Server gaan, maar je kan net zo goed zelf een socket service opzetten in Java, PHP of je geprefereerde taal.

Acties:
  • 0 Henk 'm!

  • 321X
  • Registratie: April 2009
  • Laatst online: 01-01-2023
@Egootje

Java kan ik begrijpen, maar hoe wil je vanuit PHP pushen dan? Via Comet/Ajax Push? Lijkt me bij een online multiplayer game wel heavy hoor + dat het browser afhankelijk is.

[ Voor 12% gewijzigd door 321X op 10-03-2010 10:03 ]

321X


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 22-06 13:52
321X schreef op woensdag 10 maart 2010 @ 10:01:
@Egootje

Java kan ik begrijpen, maar hoe wil je vanuit PHP pushen dan? Via Comet/Ajax Push? Lijkt me bij een online multiplayer game wel heavy hoor + dat het browser afhankelijk is.
Het enige dat je moet doen vanuit de website is berichtjes sturen naar je php/java/c#/c++/whatever applicatie, en volgens mij kunnen zowel flash als javacsript sockets op zetten, is dus browser onafhankelijk en mogelijk niet erg heavy.

[ Voor 0% gewijzigd door roy-t op 10-03-2010 11:01 . Reden: zie Janoz ]

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-06 11:51

Janoz

Moderator Devschuur®

!litemod

Bij realtime multiplayer is de vertraging enorm van belang. Dat betekent dat je voor communicatie al snel uitkomt bij sockets. Voor de client betekent dat dat je al snel moet kijken naar flash of naar een java applet. Een comet met javascript oplossing is gewoon te traag. Voor de server zul je moeten kijken naar een omgeving die meerdere connections simultaan kan behandelen en daarbij ook data onderling uit kan wisselen. Php valt daarbij al snel af.

@roy-t Javascript heeft geen sockets

[ Voor 4% gewijzigd door Janoz op 10-03-2010 10:15 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Bekijk Unity eens!
Hiermee kan je 3D Applicaties maken voor in je browser, in C# icm MONO.

Het heeft zelf Multiplayer functionaliteit, maar niemand houd je tegen om dit zelf te maken.

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • 321X
  • Registratie: April 2009
  • Laatst online: 01-01-2023
CyCloneNL schreef op woensdag 10 maart 2010 @ 10:16:
Bekijk Unity eens!
Hiermee kan je 3D Applicaties maken voor in je browser, in C# icm MONO.

Het heeft zelf Multiplayer functionaliteit, maar niemand houd je tegen om dit zelf te maken.
Ziet er goed uit, maar om dat als web applicatie uit te kunnen voeren moet je eerst een plug-in installeren. Dat maakt het geheel al weer wat 'hoogdrempeliger'/minder uitnodigend imho.

321X


Acties:
  • 0 Henk 'm!

  • massareal
  • Registratie: April 2002
  • Laatst online: 27-10-2024
Unity3D zelf ook mee bezig geweest, kan je verrassend veel mee en de basis-versie is gratis!
Om niet te veel in de multiplayer code te duiken kan je Smartfox-server gebruiken.
Beperking voor de gratis versie is dan wel 20 gebruikers.

Smarttfox kan ook Flash aan, dus als je al wat in flash hebt, kan je het makkelijk testen.

*edit: installeer dan wel de pro versie van Smartfox

[ Voor 7% gewijzigd door massareal op 10-03-2010 10:24 ]


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
321X schreef op woensdag 10 maart 2010 @ 10:21:
[...]

Ziet er goed uit, maar om dat als web applicatie uit te kunnen voeren moet je eerst een plug-in installeren. Dat maakt het geheel al weer wat 'hoogdrempeliger'/minder uitnodigend imho.
Ja, maar dat moet voor Flash ook ;).
Het idd een bottleneck, dat je wéér een plugin moet installeren, wat als je het vergelijkt met Quake Live wel meevalt, daar moet je heel Quake downloaden om vervolgens in je browser te spelen 8)7

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-06 11:51

Janoz

Moderator Devschuur®

!litemod

De flash plugin is anders wel wat meer mainstream dan een Unity plugin. De eerste heeft een installbase ron de 95% oid.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Anoniem: 103571

321X schreef op woensdag 10 maart 2010 @ 10:01:
@Egootje

Java kan ik begrijpen, maar hoe wil je vanuit PHP pushen dan? Via Comet/Ajax Push? Lijkt me bij een online multiplayer game wel heavy hoor + dat het browser afhankelijk is.
Je kan via PHP sockets opzetten. Zie bv: http://www.devshed.com/c/a/PHP/Socket-Programming-With-PHP/ of http://www.kirupa.com/dev...h8/php5sockets_flash8.htm

Ik zeg niet dat het de ideale oplossing is, maar het kan wel perfect.

Acties:
  • 0 Henk 'm!

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

Ik ben hier zelf ooit mee bezig geweest, en na een hoop opties te hebben gewogen kwam ik uiteindelijk uit bij de volgende setup:

Multiplayer Server: Java
Multiplayer Client: Flash
Admin functies: PHP

Toelichting: allereerst is het makkelijk om crossplatform talen te gebruiken, zodat je bijvoorbeeld kan testen op een Windows machine en uiteindelijk een Unix webserver kan gebruiken. Voor de server kom je dan al snel bij Java uit. Je kunt de server ook in PHP schrijven maar dat leek me inefficiënt en rommelig. Voor de client is Flash de meest aantrekkelijke optie (grote installbase, en sinds AS3 redelijk snel en fijn programmeren) al zou je voor 3D games misschien beter naar Shockwave kunnen kijken. Ik heb nog geen ervaring met de (vrij nieuwe) 3D API van Flash. Tot slot heb ik nog een klein beetje PHP gebruikt, onder meer voor het op afstand opstarten en aansturen van de Java app.

Verder kan ik Beej's Guide to Network Programming aanraden als introductie in socket programming, en Google voor goede Java socket tutorials.

Veel plezier en succes :)

TabCinema : NiftySplit

Pagina: 1