Avatar billede javascript Nybegynder
13. november 2005 - 15:37 Der er 12 kommentarer og
2 løsninger

Hvad er bedst til et multiplayer spil?

1. hvad er bedst hvis man skal kunne se folk gå rundt på selve spillet?

2. hvad skal man gøre for at hente online brugere fx?

3. hvad er bedst hvis man skal ungå for meget cpu-hastigheder osv?

4. hvad er bedst hvis man skal se folk gå rundt "real-time" sådan når de klikker et sted, kan alle se det MED DET SAMME
Avatar billede _k Nybegynder
13. november 2005 - 15:58 #1
1: En monitor lagt ned, så man kan jokke rundt på den?
2: Reklamere, f.eks. på nettet (eller have en server der enten via serverside scripting eller en dedikeret specialserver kan holde styr på sessions)
3: En monster PC med dualprocessor (eller et spil kodet i C++ (alternativt undgå animerede alpha-tweens samt for mange onEnterFrames i Flash))
4: Et godt vindue i Københavns Rådhus. Så kan man se alle dem der går rundt på Rådhuspladsen og "klikker"! (alternativt kan du overveje en Flash Communication Server (den hedder forresten Flash Media Server 2 om ikke så lang tid - og så er den dyr). Ellers kan du selv bygge en Javaserver eller måske finde noget Open Source på nettet. Moocks Unity Server skulle være glimrende til formålet)
5: Da jeg var 8-9 år, var jeg overbevist om at jeg kunne bygge en rumraket, så jeg kunne tage vennerne med på tur. Nu er jeg bare bagstiv og Flashudvikler, hvilket vil sige at jeg stort set ikke laver andet end at sidde og kode. Kunne jeg overtale 4-5 nære udvikler-kolleger til at hjælpe mig, vil jeg anslå at det ville tage et sted mellem 1-6 måneder at lave en hæderligt multiplayerspil - alt afhængigt af hvor komplekst gameplayet skulle være. Så svaret på spørgsmålet du ikke stiller er: regn med at det tager laaaaang tid, er hundesvært at få stablet på benene og kommer til at fylde de første 10.000 linjers kode (måske noget mindre hvis du er en bedre programmør end jeg og dit gameplay er EKSTREMT simpelt ;o)
Avatar billede javascript Nybegynder
13. november 2005 - 16:08 #2
vil du ikke lige tage det seriøst? det var dog en dum måde at være på!!!
Avatar billede kochen Nybegynder
13. november 2005 - 17:03 #3
Syntes faktisk _k svarede lidt morsomt! Pointen er at du er ude i et kæmpe spørgsmål der ikke nemt lader sig besvare på et par linier her på eksperten. Alt det du spørger om kan sagtens lade sig gøre, men det er pokkers komplekst og vil tage mange programmører lang tid at lave. Så måske bør du overveje at kontakte et firma ala shockwaved.com, og sætte dem på opgaven. Hvis du har planer om at gøre det hele selv, så pøj pøj med det.

Ps: er der nogen der ved hvordan man bygger en ubåd??
Avatar billede _k Nybegynder
13. november 2005 - 17:28 #4
Superlækkert at Kochen fangede den ;) Jeg hjælper gerne med ubåden, hvis du giver en hånd med på rumraketten!

java script: Jeg vil lige høre, helt præcis hvad det var jeg ikke svarede på? Udover spm. 1 som jeg ganske enkelt ikke forstår, mener jeg da at have svaret ganske ok på det du spurgte om. Umiddelbart vil jeg tro at der er skrevet 10-20 bøger om hvert spørgsmål du stiller, så jeg er da ked af ikke at have tid/viden til at give dig mere end en ekstremt kort opsummering af emnet.

"Der findes ingen dumme spørgsmål. Men der findes nogle som er lidt mere ambitiøse end andre" - det her var vist et af slagsen... (og et af den slags ens karma tager skade af at svare på ;o) )
Avatar billede alexander_j Nybegynder
13. november 2005 - 20:59 #5
Tjaeh jeg synes nu at _k's kommentar var både sjov og finurlig - og egentlig besvarede den jo spørgsmålet!

En forklaring kunne lyde som følger:
For at lave et multiplayerspil som skal kunne fungere i 'realtime', så har du brug for en server som kan køre et socketprogram som skal programmeres til formålet eller eventuelt flash's egen communicationserver(tror jeg den hedder), som sælges seperat hos macromedia.

Alle php/asp-løsninger vil ikke virke realtime.

_k's pointe med 'at man skal passe på at slå større brød op end man kan bage' kan jeg kun tilslutte mig, da der er tale om et større og virkelig krævende projekt, som sjældent lader sig gøre at lave helt alene.
Avatar billede javascript Nybegynder
14. november 2005 - 00:34 #6
kan det ikke gøres nemmere??
fx ham der mock eller hvad han hedder har da en avatar chat... den har vel ikke så store egenskaber?

hva med noget xmlsockets eller hvad det hedder, er det ikke godt?

altså.. det skal være real-time, hvis en mand klikker rundt som en sindsyg (FX.) noget med _x = detnye; osv osv osv .. så skal den vise hos alle andre brugere at han gør det!!

1.det der du snakker om, er det et program?
2.Og er det muligt at få en gratis server med det du fortæller?
3. er der andre muligheder, som er ligeså gode?
4. kan jeg læse om sådan noget actionscript programmering til at vise andre osv?


også må i gerne smide svar så vi kan lukke
Avatar billede alexander_j Nybegynder
14. november 2005 - 07:55 #7
Nu kender jeg ikke Mocks chat, men jeg mener den er serverscriptbaseret(ASP/PHP). Det betyder at flash sender og modtager data via serverscript hvert 5 eller 10 sekund for at opdatere sine data - hvilket nemt bliver meget belastende for serveren, da antallet af data der skal sendes hurtigt bliver meget stort. Derudover, så bliver denne løsning aldrig 'realtime', da der altid vil være forsinkelser på sådanne forsendelser at data.

Det jeg snakker om er lige netop XML-sockets!
XML-sockets kræver netop, at der på serveren findes et program der lytter til sockets og behandler de data der kommer ind. Den simpleste form vil så være, at programmet på serveren blot sendte data ud til alle de brugere der var forbundet til serverprogrammet, men dette kan også hurtigt blive store mængder af data der skal sendes frem og tilbage.
Fordelen med en socketserver er, at der kun sendes data fra serveren når der er ændringer og at serveren kan programmeres til at sende data ud til specifikke klienter(brugere).

Jeg har tidligere fundet nogle freewareversioner af sådanne socketprogrammer som kan agere socketservere, men hvis du vil lave et online multiplayer spil, så skal denne socketserver programmeres specifikt til dit spil, således at hver flashklient(bruger) kun modtager de data der er relevante for ham/hende), og sådan at serverprogrammet og serverens forbindelse belastes mindst muligt.

Konklusionen må derfor være følgende:
1. Du skal finde en server hvor du har tilladelse til at have et socketserverprogram kørende.
2. Du skal finde en der kan programmere en socketserver som passer til dine behov - eller måske du selv kan ...?

Links til rellevante sider:
http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary860.html
http://www.devarticles.com/c/a/Flash/XML-Sockets-in-Flash/
http://www.influxis.com/
Avatar billede javascript Nybegynder
14. november 2005 - 13:27 #8
1. Den server dér skal det bare være en server som må sende og modtage på dens egen hjemmeside og port?

2. mht til det man skal programmere, er det .exe fil eller skal jeg programmere det i flash??
Avatar billede _k Nybegynder
14. november 2005 - 13:33 #9
Nu er jeg meget mere hjemme i Flash Communication Server (FCS) end jeg er hjemme i XML-sockets. Derfor har jeg naturligvis også den mening, at FCS er klart "nemmest" at arbejde med. Tager du fat i XML-sockets hopper du nemlig lige et niveau ned i programmeringsstrukturen og skal selv mere eller mindre holde styr på hvem der sender hvad hvornår og hvordan du så vil reagere. Det giver frihed og er helt sikkert fedt - men det er i mine øjne ikke ret "nemt" at arbejde med medmindre man i forvejen har en del erfaring med Java og kan sine protokoller til fingerspidserne.

Til sammenligning kan du i FCS sætte en fuld fungerende chat op via en guide på ca. en halv time. Javel, den vil være komponentbaseret og ikke umiddelbar vildt nem at få til at se anderledes ud, men alt det dér med at holde styr på brugere og hvad der bliver sendt hvorhen hvornår, styrer den for dig. Og det er jeg da selv en pæn stor tilhænger af ;)

Problemet med FCS er bare at stort set ingen i dk hoster sådan en, og dem der gør, arbejder helst sammen med de helt store spillere på markedet. Til gengæld kan du finde nogle ok løsninger i udlandet (f.eks. uvault.com) eller hvis du er seriøs nok, købe en server og hoste den selv (du kan få en developer edition ganske gratis - men der er så naturligvis en del begrænsninger. Dog heldigvis kun brugermæssigt, ikke funktionsmæssigt!).
Til en start kan du måske også tiltuske dig noget plads hos nikolaidu herinde fra forummet - han har vist før haft testere liggende på hans server. Det er dog et stykke tid siden, så jeg skal ikke love for meget....

..det alexander_j beskriver, er en mellemting imellem Flash og en exe. Exe-filen starter og kører en server et eller andet sted i verden og Flash "snakker" så sammen med denne server for at få dit spil/applikation til at gøre det den skal.
Avatar billede _k Nybegynder
14. november 2005 - 13:33 #10
hov, og det skulle vist have været et svar.....
Avatar billede javascript Nybegynder
14. november 2005 - 13:36 #11
åh..men, der findes ikke en nemmere måde en xmlsockets så?
Avatar billede javascript Nybegynder
16. november 2005 - 22:28 #12
men takker
Avatar billede _k Nybegynder
17. november 2005 - 13:27 #13
Selv tak - held og lykke med det.
Avatar billede alexander_j Nybegynder
17. november 2005 - 13:48 #14
Nope der er intet der er nemt når vi snakker multiplayer - og ja held og lykke :-D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester