Volledige versie bekijken : AMFPHP vs. Socket Server...
gbolssens
%Europe/Berlin %913 %2006, 22:55
Hi allemaal,
Als ik een turn based game wil maken in flash (schaken, dammen, mens-erger-je-nieten weet ik veel) kan ik dan gebruik maken van AMFPHP om de turn-properties van de ene client naar de andere door te sluizen? of heb ik daar absoluut een socket server voor nodig (zoals Unity of ElectroServer)?
Ben net wat beginnen prutsen met AMFPHP; vandaar een vraag naar mogelijkheden.
greetz,
GB
Dauntless
%Europe/Berlin %916 %2006, 22:59
AMFPHP en een SocketServer zijn eigenlijk 2 compleet verschillende dingen.
Het draait allemaal rond het 'pull of push' systeem.
AMFPHP kan enkel pullen terwijl een SocketServer kan pushen. Dit wil dus zeggen dat je in Flash (in het geval van een socket server) kan wachten tot je tegenstander iets doet en dan wordt automatisch de nieuwe waarde doorgestuurd naar flash. (De socket server 'pusht' de waarde naar flash).
Bij AMFPHP kan je enkel 'pullen'. Je zal enkel data krijgen als je er echt om vraagt (ongeacht of de tegenstander iets gedaan heeft of niet). Als je een MP game met php maakt moet je dus elke x aantal seconden de nieuwe data opvragen.
gbolssens
%Europe/Berlin %534 %2006, 13:50
ok, maar stel nu als ik een php functie maak met wie er als laatste een zet heeft gedaan, dan kunnen die calls toch om de 20seconden of zo gebeuren? Dan kan ik nog zeggen van "als het niet mijn beurt is, dan probeer je over 20 seconden nog eens, maar als het wel mijn beurt is dan enable je mijn cotrols en dan kan ik mijn zet doen" o.i.d.
Klinkt dit stom?
Ik heb het dus, voor alle duidelijkheid, alleen over turn-based games.
greetz,
GB
nahkranoth
%Europe/Berlin %570 %2006, 14:40
Ik denk als je het turn-based houdt, je makkelijk voor AMFPHP kan gaan, (ik weet niet of AMFPHP geheel gratis is) maar de meeste socket servers moet je voor betalen. Maar socket-servers zijn bijna wel een must als je het real-time gaat doen.
en inderdaad je kan gewoon om de zoveel seconden gaan checken of de set al gemaakt is en zojah jouw de controls geven
gbolssens
%Europe/Berlin %590 %2006, 15:10
ik weet niet of AMFPHP geheel gratis is) maar de meeste socket servers moet je voor betalen.
AMFPHP is opensource en idd gratis. Ik ga er nog een beetje mee aan de slag. Ongetwijfeld kom ik nog met een berg vragen over AMFPHP, maar die zie je dan vanzelf wel verschijnen op het forum.
Bedankt voor de reacties tot nu toe en als er nog mensen zijn met ervaring of een mening hierover: spui hier gerust al je bedenkingen bij het onderwerp.
vr.gr.
GB
Roenes
%Europe/Berlin %633 %2006, 16:12
Ookal zijn het turnbased spellen, zolang het multiplayer spellen zijn op meerdere computers dan zou ik gaan voor een socketserver. Want ook bij turnbased spellen kunnen de beurten elkaar heel snel afwisselen (afhankelijk van het spel en het niveau van de spelers). Kleine situatieschets:
Stel je bent aan het schaken met iemand anders. Jij verwacht een zet van de tegenstander en weet al hoe je gaat reageren. Je reageert dus zodra je aan de beurt bent. Je tegenstander moet toch bv 20 seconde wachten omdat je dan pas de data ophaalt. Dan zit je dus samen een seconde of 18/19 te wachten terwijl dat overbodige tijd is. Zeker bij spellen waar de bedenktijd niet zo lang is (mens-erger-je-niet bv) is een overbodige wachttijd niet wenselijk.
Ookal is het dus turnbased, de beurt moet wisselen zodra de huidige speler een zet doet. Als je het met AMFPHP (of soortgelijke techniek) doet dan haal je OF te langzaam nieuwe data binnen OF juist te snel waardoor je teveel onnodig dataverkeer hebt.
Een socketserver is dus eigenlijk wel een must ondanks dat je het via een database kan faken :)
gbolssens
%Europe/Berlin %734 %2006, 18:37
Roenes,
Je hebt 100% gelijk, maar ik denk dat als je het interval een beetje per game bekijkt, dat het dan voor een gebruiker best wel meevalt.
Zo zijn er overal voor en nadelen, en een groot voordeel van AMFPHP vind ik vooral de kostprijs (het is te zeggen; de afwezigheid ervan ;-) ) wat de voordelen van een socketserver voor een degelijk aantal users flink overschaduwt.
grtz,
GB
Dauntless
%Europe/Berlin %740 %2006, 18:46
Als je een statisch ip adres hebt kan je bij je thuis een kleine server opzetten. Er bestaan ook een aantal gratische, full-sized socket servers hoor.
Bv SmartFox, die is onlangs opensource gegaan.
(Of je schrijft er natuurlijk even zelf 1 in Perl / Python / C / Java)
gbolssens
%Europe/Berlin %744 %2006, 18:52
Dat is mss de moeite waard om te proberen. Ik heb ooit eens wat geklooid met opensource dingen in PERL en PHP, maar daar zaten toch altijd haken en ogen aan.
Heb helaas geen static IP, en ook niet de ambitie om mijn PC dag en nacht aan te laten staan. Ik zou gewoon iets willen dat draait op mijn hosting account zonder dat ik de hostingfirma om de 5 dagen moet lastig vallen over bepaalde poorten die open moeten staan. (nog een voordeel van AMFPHP ).
grtz,
GB
Roenes
%Europe/Berlin %906 %2006, 22:45
Wat dat betreft heb je gelijk: socket servers zijn wat lastiger om te laten draaien als je het niet zelf host. Maar ondanks dat je hetgeen wat jij wil met AMFPHP kan doen, is het daar niet voor bedoelt. Ik bedoel: socket servers zijn er niet voor niets ;)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.