Avatar billede sago Nybegynder
27. februar 2003 - 03:30 Der er 14 kommentarer og
1 løsning

JSP som interface til spil

Hej,

Jeg er nybegynder i JSP, men dog ikke Java.

Jeg skal til at lave et skoleprojekt, hvor jeg har valgt at lave et spil, som jeg så vil lave et web-interface til, vha. JSP.

Mit spørgsmål er så, hvordan skal jeg gøre det? Den eneste mulighed jeg umiddelbart kan se, er at lave en selvstændig Java server, som kører spillet, forbinder til databasen osv. (det skal køre hele tiden, og f. eks. checke ting i intervaller osv.) Og så kunne man lave noget JSP/servlets osv. som forbinder til den server?

Er det måden man ville gøre det på, eller er der en anden måde der er bedre? På forhånd tak. :)
Avatar billede arne_v Ekspert
27. februar 2003 - 07:39 #1
Det bør kunne lade sig gøre.

Men jeg er langtfra sikker på, at det er en optimal måde at gøre
det på.

JSP/servlets er beregnet til andre problem-stillinger.

Jeg tror at:
  - applet <-> server
  - fat client <-> server
begge vil være bedre til spil.
Avatar billede disky Nybegynder
27. februar 2003 - 07:40 #2
Download Resin fra www.caucho.com det er en java server, som også kan klare http. Den er meget let at installere og nem at configurere.

Den lader du så ordne jsp sider som f.eks. kalder underliggende java klasser som connecter til database osv.

Så din ide er ganske fin.
Avatar billede disky Nybegynder
27. februar 2003 - 07:42 #3
Men det afhænger meget af hvad for en type spil vi snakker om, du skal huske hver gang brugeren gør noget på en JSP side, skal der sendes noget til serveren og et svar tilbage, så det skal ikke være et hurtigt action spil.

Men hvis du f.eks. vil lave nogle spil som TV2 også har på deres hjemme side, så er deres opbygning af sitet lavet i JSP, og selve spillene er applets som kører hos clienten, og via socket forbindelser sender frem og tilbage til serveren.
Der er en mere optimalt løsning.
Avatar billede sago Nybegynder
27. februar 2003 - 14:15 #4
Ok, jeg må vidst lige forklare lidt mere om hvad det er jeg vil ;)

Spillet skal være af den slags hvor man melder sig til, og så får man en "figur". Derefter kan man manipulere den figur, ændre den osv... og så kan man lave et eller andet, f. eks. udfordre andre figurer. Men selve "kampen" foregår automatisk, der skal man ikke kunne styre noget.

Så jeg skal vel have en eller anden server til at køre hele tiden som så kan holde styr på dét?
Avatar billede arne_v Ekspert
27. februar 2003 - 14:23 #5
Ja.

Du skal have en server som kører "din verden".

Du skal have interaktion mellem spillerne og din server.

Jeg ville:
  - køre serveren udenfor din JSP/servlet container
  - bruge sockets og ikke HTTP til transport mellem spiller og server
Avatar billede sago Nybegynder
27. februar 2003 - 14:32 #6
Ja, det var det jeg tænkte. :)

Hvad mener du helt præcist med at bruge sockets istedet for HTTP mellem spiller og server? Jeg ved hvad det er, og har leget med det før, men jeg er ikke helt med på hvordan du mener i forhold til JSP. Kan man bruge JSP over sockets, eller...?
Avatar billede arne_v Ekspert
27. februar 2003 - 14:41 #7
Nej - JSP bruges til HTTP og ikke til sockets.

Jeg mener ikke at JSP/servlets er det rigtige valg til din problem-stilling.

Det grundliggende problem er at HTTP er request-response altså
client x-server-client x.

Langt de fleste spil har brug for flere muligheder:
  server-client x
  client x-server-client y
  client x-server-all clients
etc.etc..

Meget af den funktionalitet kan så simuleres med request-response
via konstant polling.

Men det er ikke nogen godt måde at gøre det på. Halvdårlig funktionalitet
og heldårlig performance.
Avatar billede sago Nybegynder
27. februar 2003 - 14:48 #8
Ok, på den måde, ja... men jeg har ikke rigtig behov for andet end almindelig request-response, idet spilleren bare skal give sin figur kommandoer osv. Så det synes jeg ikke er det helt store problem. Så avanceret er det ikke :)

Og faget er web-udvikling med JSP, så hvis jeg skal lave det, så skal det være med JSP ;)

Tak for svarene.
Avatar billede sago Nybegynder
27. februar 2003 - 14:48 #9
Glemte at trykke på accepter...
Avatar billede arne_v Ekspert
27. februar 2003 - 14:53 #10
Ja skal det være med JSP så skal det jo være med JSP.

Og jeg kan forstå at det er et single-player spil. Det simplificerer
jo også tingene lidt i forhold de problemer jeg skitserede.
Avatar billede sago Nybegynder
27. februar 2003 - 15:36 #11
Nej, der kan være mange tilmeldt på samme tid, men man kan godt opfatte det som et single-player spil, idet man ikke har direkte kontakt med andre spillere - det  skal serveren håndtere "automatisk". :)
Avatar billede arne_v Ekspert
27. februar 2003 - 15:40 #12
Giver det ikke problemer hvis en spiller gør noget som påvirker en
anden spiller, men at den anden spiller blev forstyrret af
konen/kæresten/elskerinden og først blev opdateret om det, da han
sendte næste kommando 20 minutter senere ?
Avatar billede sago Nybegynder
27. februar 2003 - 15:46 #13
Hm, næh... planen er at man kan få sine "figurer" til at kæmpe mod hinanden, og at man så kan modificere disse figurer inden kampen, give dem ordrer osv. Hvis man så har aftalt et kamp-tidspunkt, så skulle det ikke være et problem. Man kontrollerer ikke selve kampen, det gør serveren.

Så umiddelbart synes jeg ikke det er et stort problem. :)
Avatar billede arne_v Ekspert
27. februar 2003 - 15:51 #14
OK.

Man sætter tingene op interaktivt individuelt og så kører det egentlige
multi-player i batch mode.

Det lydet som om det godt kan passes ind i en JSP over HTTP model.

Og undskyld hvis jeg spørger dumt om spil - det er ikke noget som
jeg har den store erfaring med.
Avatar billede sago Nybegynder
27. februar 2003 - 15:55 #15
Ja, det lyder til at være det jeg tænker på. :)

Slet ikke dumme spørgsmål, man kunne jo gøre det mere "direkte", men det er vidst en lidt for stor opgave til det her projekt. :)
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
Kurser inden for grundlæggende programmering

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