mboost-dp1

unknown

Fynsk Java-spil nomineret til international pris

- Via Computerworld DK - , redigeret af Pernicious

Selskabet Oddlabs og de fire stiftere, der alle er datalogistuderende på Syddansk Universitet, er blevet nomineret til en pris på spilfestivalen Independent Games Festival.

Nomineringen er faldet på dem, da de har udviklet det tidsvarende og pæne 3D spil Tribal Trouble udelukkende i Java.

Valget er faldet på Java som udviklingssprog, da det sparer tid at udvikle i et kontrolleret miljø, samt at det er meget nemt at portere spillet fra Linux til Windows og Mac.





Gå til bund
Gravatar #1 - XorpiZ
22. dec. 2005 16:48
Måske det bare er mig.. Men "Valget er faldet på Java som udviklingssprog, da det sparer tid at udvikle i et kontrolleret miljø"? Er det ikke smag og behag, alt efter hvad man er stærkest i?

anywho, http://tribaltrouble.dk hvis nogen vil lege med det
Gravatar #2 - masterbrain
22. dec. 2005 16:58
Jo vil nok sige at det er mest det med at det er nemmere at porte til andre Os'er..

Hader bare det sløve java opstart.. Øv..
Alle mobiler i dag er blevet så langsomme fordi de er flyt med Java.. Øv igen..

Kan huske nogle af de første Sony-Erikson..Gaab.. Det to en time for hvert menu punkt..
Gravatar #3 - mr ac
22. dec. 2005 17:06
På nye computere kører det sikkert fint, og Java er dejligt nemt at programmere i, men bare det at man skal installere en JVM for at få skidtet til at køre, irriterer mig.

men anyhoo... Cudos til gutterne for nomineringen og veludført arbejde
Gravatar #4 - Nezmaroth
22. dec. 2005 17:07
Hm, Dataloger.. Nææ, må jeg bede om datateknologer tak! ;)
Gravatar #5 - MenZa
22. dec. 2005 17:07
Imponerende alligevel... dog er der jo mange spil der er nominerede, jeg kender ind til flere...
Så er det så specielt bare fordi en dansker (eller i det her tilfælde en gruppe) får en nominering?

Tja, jeg kan såmænd ikke se den store logik. Dog kudos til dem :)
Gravatar #6 - kjaer
22. dec. 2005 17:19
Bor i Odense, og de var i en lokal avis for nogle år siden, men dengang havde de kun udviklet de indfødte på øerne... Vikingerne var ikke kommet ind i billedet endnu.. Dengang sagde de også at de pjækkede fra mange af deres timer på Universitetet pga. udviklingen af spillet i en lille lejlighed, men de regnede med at gennemføre studiet alligevel.

Det er flot at de har gjort det, måske et stort kommende dansk spilfirma? Tror jeg downloader demoen på et tidspunkt :D
Gravatar #7 - loadet
22. dec. 2005 17:26
jeg har spillet det for et halvt års tid siden.. og det er ganske underholdene. Det kørte også fint på trods af at jeg kørte det på min ibook.
Gravatar #8 - xar
22. dec. 2005 17:55
mr ac: JVM'en ligger lokalt i spillet, så spillet kører også på en computer uden java.
Gravatar #9 - Spand
22. dec. 2005 18:21
Nomineringen er faldet på dem, da de har udviklet det tidsvarende og pæne 3D spil Tribal Trouble udelukkende i Java.


Udelukkende i java.. Alt hvad man kunne skrive i java måske. Er rimelig sikker på at deres OpenGl, input, lyd osv. foregår via deres egne libraries så helt java er det dog ikke.
Til trods for det viser de dog at man sagtens kan bruge java til at skrive spil i. Prøvede spillet da det udkom. Det var en smule unbalanced men har hørt er der er sket en del med det siden.

Er der nogen der har fået blod på tanden til noget spil udvikling i java så tag et kig på www.lwjgl.org. Det skulle vist være dette de bruger i deres spil.
Gravatar #10 - akerman
22. dec. 2005 18:56
hehe godt nok længe siden jeg først hørte om det på uni, godt at se det kører for dem.

#4 datateknologi SUGER.. spring fra mens du kan :(
Gravatar #11 - masterbrain
22. dec. 2005 19:07
Det er da mere spændende at se hvor mange der køber det hos dem..

Eller om de fleste bare prøver demoen..
De skal jo op og sælge mindst ca. 20000 stk. før at det bare giver en alm løn til en person. Minus hvad for ugifter de så har.
Gravatar #12 - zumo
22. dec. 2005 19:16
#1
de skal f.eks ikke bekymre sig om hvilket grafikkort eller hvilken lyddriver slutbrugeren har, da JVM sørger for alt dette. læs eventuelt noget om java
Gravatar #13 - mostwanted
22. dec. 2005 20:06
Apropo lyd. Har lige downloadet og installeret demoen til Linux, men får ingen lyd..? Har OpenAl installeret og Java 5 selvfølgelig.
Gravatar #14 - masterbrain
22. dec. 2005 20:38
Spørg din Linux leverandør :)
Gravatar #15 - Windcape
22. dec. 2005 21:48
men bare det at man skal installere en JVM for at få skidtet til at køre, irriterer mig.

Og du skal installere .NET for at køre C# programmer, det kaldes et framework, og er derfor det er hurtigt og nemt at kode i.
Og samme grund til det er nemt at porte, da VM'et tager sig af de besværlige forskelle i operativ systemet.

Måske det bare er mig.. Men "Valget er faldet på Java som udviklingssprog, da det sparer tid at udvikle i et kontrolleret miljø"? Er det ikke smag og behag, alt efter hvad man er stærkest i?

Nej, det ER hurtigere at arbejde i et framework sprog... måske ikke hvis du kender ALLE kommandoer til ALTING i C/C++, men hvem gør det ?
+ Jeg kan se at der bruges netværk (online-gaming), Java er MEGET nemmere end så meget andet til netværks-programmering, da dette netop er en af formålene for med sproget.

-- ontopic:

Det ser damn nice ud :D må prøve det endag.
Gravatar #16 - XorpiZ
22. dec. 2005 22:35
#15

Du har selvfølgelig ret i, at det er hurtigere at arbejde i et framework-sprog. Men f.eks. C# kunne jeg da forestille mig var hurtigere for en del personer. Inkl. mig selv.

Kender intet til Java, men jeg kan da afsløre at netværks-programmering er ganske simpelt i C#.
Gravatar #17 - m_abs
22. dec. 2005 22:58
#16
Hvis du lægger mærke til det så kører dette spil på både Windows, Linux og Mac; ville det have været ligeså nemt og hurtigt at lave det crossplatform i C#?
Gravatar #18 - sKIDROw
22. dec. 2005 23:29
#3

men bare det at man skal installere en JVM for at få skidtet til at køre, irriterer mig.


Og du skal installere/opgradere DirectX, for at køre de spil du vil spille. Eller du bliver nød til, at installere grafikkort* driver. Du får da ikke kørt ret mange ting, hvis det at installere afhængigheder er et problem.

* Og så gider jeg ikke høre på: "Windows installere da selv mit grafikkort under installationen..." Det er uacceleredede drivere, som dårligt kan trække hjerterfri uden at hakke.

Jeg er ikke fan af Java, på grund af licensproblemmer. Men ovenstående argumentation, er da standardsættende tynd... ;)
Gravatar #19 - mrmorris
23. dec. 2005 00:00
Fedt nok, men Java er efter min mening ved at kollapse under sin egen kompleksitet! Der er lært meget mht. konstruktion af framework og integration af diverse design mønstre siden Java's undfangelse, og der skal en renskrivning af Java til før jeg kan bifalde API'et og holde ud af at arbejde med det, af følgende årsager:

* Der er nu over 3000 klasser at holde styr på
* Utrolig meget er deprecated, prøv at checke Date f.eks.
* Organisationen er helt hen i vejret (javax.* sun.*)
* Collections er så rodet (F.eks. Enumeration vs. Iterator)
* Ingen preprocessing mulig
* Annotationer er et mystisk @-format istedet for XML

Derfor står C# pt. stærkere og jeg er seriøst bange for at Java er ved at blive overhalet indenom. Modsat JVM, så kræver .NET specifik understøttelse af et runtime version (1.0/1.1/2.0) hvorfor det altid vil kunne holdes renere. Og hvis først Mono begynder at vælte kegler så ser det da først helt sort ud for SUN.
Gravatar #20 - BurningShadow
23. dec. 2005 00:05
Bare for at være en nar :-D

Fuck Fyn
Fuck Jave
Fuck Spil

Så er der "nomineret til international pris" tilbage, og det kan vi ligesom heller ikke rigtigt bruge til noget :-D
Gravatar #21 - drbravo
23. dec. 2005 00:18
#20

Bare for at være en nar
Det hedder fuck Java!
Gravatar #22 - XorpiZ
23. dec. 2005 01:45
#17

Næppe, og det er vel også det store plus ved Java, at det er crossplatform.

Ellers kan jeg kun henvise til #19, han ved en anelse mere om det end mig :)
Gravatar #23 - Sattie
23. dec. 2005 03:15
Jamen.. ehhh jaa
Starter spilet op, skærmen går i self autocorrection mode (underlig opløsning spilet er i), og får denne besked:
"Spillet er brudt sammen med følgende besked: "org.lwjgl.LWJGLException: Failed to set display mode."

Alle drivere er skam installeret både gfx og directx.
Kan deres java ikke lide 24" ws skærme?
Gravatar #24 - Mazon
23. dec. 2005 07:27
#23
"gfx og directx."

Nu bruger TT/LWJGL OpenGL - så hvis ikke dine drivers er up-to-date med OpenGL så kan det give problemer. Har selv oplevet det med diverse s3/unichrome/matrox kort som har alt andet end gode opengl drivers.

#15
Fordi at C# er hurtigere for DIG givet det ffs da ingen mening at DE skulle lave det i C# frem for Java ?? - det var da den mest underlige kommentar jeg har set længe. Hvis du ikke kender Java skal du nok passe på med diverse kommentarer om at C# er bedre end Java...

#19
* Der er nu over 3000 klasser at holde styr på

Man skal kun holde styr på det man bruger...
* Utrolig meget er deprecated, prøv at checke Date f.eks.

Ja heldigvis - ellers ville mine programmer der har kørt siden 1998 ikke virke mere!!!! - hvem skal betale for en upgrade?
* Organisationen er helt hen i vejret (javax.* sun.*)

øhh, tværtimod - javax (extension), sun (private)
giver da en milliard million mere mening end f.eks C# der har Microsoft specifikke ting under Sytem.Data f.eks.
* Collections er så rodet (F.eks. Enumeration vs. Iterator)
øhh - Iterator er i Collections Framework mens at Enumeration ikke er... Enumeration er et gammelt levn fra dengang collections ikke eksisterede.
* Ingen preprocessing mulig

Jo da - du bruger bare en preprocessor - som i alle andre sprog
* Annotationer er et mystisk @-format istedet for XML

WTF! - Er da tusing gange lettere at bruge en syntaks a la Java eller C# - hvorfor vil du pludseligt blande et struktureret sprog ind i Java kode. Har du planer om at lave noget XQuery på det - eller XSLT?

Synes generelt at når man læser diverse A mod B på newz.dk så skriger det langt væk af en masse personer som har prøvet enten A eller B, men i hvert fald ikke det modsatte - og dermed er det dårligt. Eller hvis man har prøvet det andet så er det kun en lille smule og man har ingen forståelse for hvorfor tingene er som de er - de er bare "forkerte".
Gravatar #25 - Sattie
23. dec. 2005 07:49
#24 - Som sagt er alle drivere opdateret.
Ati 800XL kort, som sjovt nok ikke er blandt de nævnte ;)
Det skal dog retfærdiggøres, at hvis man sætter den tingest til false, stopper skærmen med at lave autocorrection på skærmbilledet - men det fikset ikke fejlen programet kommer med :)
Gravatar #26 - mat
23. dec. 2005 08:37
Jeg synes det er meget fedt som "proof of concept" at man kan lave et rimelig tidssvarende 3d spil med Java (med den disclaimer at jeg kun har set nogle screenshots) - Det er vel også derfor deres nominering er på det tekniske område?

Det er da kun godt hvis man kan bevæge sig op i abstraktionsniveau, det kan være det gør spilprototyper nemmere at implementere for "wannabee" designere, hvilket måske giver os flere fede spil?

Jeg har ikke set spil, der er implementeret i C#, er der nogen der har eksempler herpå?
Gravatar #27 - Mazon
23. dec. 2005 08:45
#25
Hmm, ATI burde virke fint... Hvad mener du præcist med autocorrection?
Hvilken opløsning kører du?
Gravatar #28 - Luhmann
23. dec. 2005 09:27
#26

Tag et kig på Arena Wars

Jeg har lige kort prøvet demoen, og det ser nydeligt ud og virker også underholdende.
Gravatar #29 - mat
23. dec. 2005 09:50
#28

Det ser godt ud. Hvor ser du information om implementation? Ved du om de selv har lavet enginen eller koder op mod et eller andet?
Gravatar #30 - Luhmann
23. dec. 2005 10:16
#29

Der er ikke nogen samlet guldgrube på implementation af spillet, men man kan google sig til lidt spredt info.

En af udviklerne giver et interessant svar på deres forum, som løfter sløret for lidt.

Man bemærker dog at spillet ikke er udviklet i managed directx, men bruger en openGL wrapper klasse i C++, men det skyldes efter udviklerens eget udsagn, at det ikke fandtes da de påbegyndte spillet.

Hvis man er interesseret i spil lavet i managed directx, kan man finde mange spændende ting på The ZBuffer
Gravatar #31 - DusteD
23. dec. 2005 10:38
kun mig der bliver mindet svagt om black and white når jeg ser de screenies ? (en grimmere version af b&w)
Gravatar #32 - C#
23. dec. 2005 12:34
Lige prøvet demo'en, det vil jeg sq ikke kalde et spil, nærmere en engine demo, yay man kan lave >>3<< bygninger, grafikken ser direkte år 1997 ud (tænk worms 3d) (ati x850 kort).

Gameplay kunne jeg ikke lige se det store af.

Imho findes der ligefrem bedre freeware spil der er bedre :)

Næe nogle danskere der kan noget "var" IO interactive :)
Gravatar #33 - Sattie
23. dec. 2005 13:37
#27 - 1920x1200 (LCD)
Når den laver Autocorrection, er det fordi den skifter opløsning, og efterfølgende prøver at kalibrere skærmen til den nye tilstand.
Gravatar #34 - Binarybusiness
23. dec. 2005 15:06
Nemmere at porte fordi det er java?.. det er da ligeså nemt at porte fra c++, afhængig af hvad api de har brugt selvfølgelig, men det lyder da som et underligt grundlag i mine øre..
Gravatar #35 - mrmorris
23. dec. 2005 15:36
Man skal kun holde styr på det man bruger...

Skal man løse et problem i et sprog, kræver det værktøjer. Jo flere og jo bedre værktøjer, jo bedre og hurtigere bliver arbejdet. I Java kræves det udokumenteret viden f.eks. at få fat i en simpel Base64 algoritme fra sun.misc.BASE64Decoder hvor du i C# blot tager fat i System.Convert.ToBase64String. Hvor produktivt er alternativet du ligger op til, altså at skrive det selv?

Ja heldigvis - ellers ville mine programmer der har kørt siden 1998 ikke virke mere!!!! - hvem skal betale for en upgrade?

Nu distribuerer SUN jo stadig ældre JVM'er og de fleste af os ender alligevel med at have 3+ liggende på maskinen som hver application installerer. .NET har valgt helt at adskille versionerne og kræve at man så har én af hver, det er i dag ikke noget problem da en VM fylder blot 15-20MB. Dét ville du nok også overleve.

øhh, tværtimod - javax (extension), sun (private)
giver da en milliard million mere mening end f.eks C# der har Microsoft specifikke ting under Sytem.Data f.eks.

Det eneste man kan udlede fra javax er at det ikke oprindeligt var med i core (dvs. ver 1.0) men efterfølgende er kommet til. Hvad er det næste så, javasu.* for super-extended? Mht. sun.* så se min tidligere kommentar til udokumenterede library funktioner.

øhh - Iterator er i Collections Framework mens at Enumeration ikke er... Enumeration er et gammelt levn fra dengang collections ikke eksisterede.

...med dét resultat at man nu skal overskue indekseringsloop, iteratorloop og enumering af generics i samme kode. Forskellen på Enumeration og Iterator er faktisk bare at sidstnævnte også har en remove() metode på sit interface!
Noget lignende gør sig iøvrigt gældende med Enum, hvorfor Java er proppet med type-usikre pseudo Enum konstruktioner (hvilket også har forplantet sig til libs så som SWT) er mig en gåde.

Jo da - du bruger bare en preprocessor - som i alle andre sprog

Jeg taler om Java som sprog, ikke 117 eksterne værktøjer som ikke er kompatible med hinanden.

WTF! - Er da tusing gange lettere at bruge en syntaks a la Java eller C# - hvorfor vil du pludseligt blande et struktureret sprog ind i Java kode.

Øhh, er al kode ikke struktureret da? Anyway, som det foregår i dag blandes XML og HTML ind i @-syntaks på mystisk vis hvilket gør det svært at læse og behandle, synd når nu XML er en standard måde at parse og beskrive deklerativt på.

Synes generelt at når man læser diverse A mod B på newz.dk så skriger det langt væk af en masse personer som har prøvet enten A eller B, men i hvert fald ikke det modsatte - og dermed er det dårligt. Eller hvis man har prøvet det andet så er det kun en lille smule og man har ingen forståelse for hvorfor tingene er som de er - de er bare "forkerte".

Dén må så stå for egen regning. Jeg arbejder til daglig med Java men har skrevet nok C# til at vedkende mig sprogets mere polerede opbygning og API. Det er muligt du er uenig men din konklusion kan jeg kun tillægge egen naivitet eller sprog-religion. Naturligvis vil et 10 år ældre sprog være underlegent mht. konsistens og struktur, dét ved alle! (I bedste Dolph stil.)
Gravatar #36 - Mazon
23. dec. 2005 22:13
...base64...

nu har jeg ikke lige stødt på base64 problematikken, men kan se at det åbenbart er en generel manglende klasse, som jeg da kun kan give ret i er underligt. Men kan ikke se hvad det har med problematikken at der er for mange klasser? Men synes ikke det er værd at grave i, da jeg er ret sikker på at der et tveægget sværd.

Nu distribuerer SUN jo stadig ældre JVM'er og de fleste af os ender alligevel med at have 3+ liggende på maskinen som hver application installerer.
Det var da et bras af et argument - så man må *kun* bruge Java 1.1 hvis man har en 1.1 applikation? Hvis jeg ønsker at ændre noget til at bruge en senere version så *skal* jeg opgradere hele min codebase - giver da absolut ingen mening. Bagud compatibilitet er en feature!!

Det eneste man kan udlede fra javax er at det ikke oprindeligt var med i core (dvs. ver 1.0) men efterfølgende er kommet til.
njej - det var i forbindelse med at JFC kom til hvor man både havde java 1 & 2 hvor man havde nogle problemer med at det var en del af java2 men også virkede under java1 - deraf javax; man har så bibeholdt dette for at markere at det ikke er en del af core java, men en extension. Der er ikke nogen super extentions eller lign, så kan ikke helt se dit problem med at man arbejder med forskellige package names afhængig af distibutioner eller profiles.

med dét resultat at man nu skal overskue indekseringsloop, iteratorloop og enumering af generics i samme kode.
øhm, enten bruger man Iterator eller Enumerator - ikke begge? (og slet ikke med dit argument med man bruger en distribution per version). Hvis man på et tidspunkt har blandet Collections API med ikke Collections API - så er det vel ens egen skyld? Sun kan jo ikke bare lave den en del af Collections framework samtidig med at den er bagud kompatibel.

Jeg taler om Java som sprog, ikke 117 eksterne værktøjer som ikke er kompatible med hinanden.

hvad taler du om??? en pre-processor er en pre-processor - den har *intet* med et programerings sprog at gøre! - det står dig frit at bruge en hvilken som helst pre-processor (c-preprocessor f.eks) Jeg bruger da tit pre-processors i forbindelse med j2me, virker fremragende.

Øhh, er al kode ikke struktureret da?

nope, men under alle omstændigheder ikke i en grad some xml er. Hvad er det præcist du mener du opnår med en xml syntaks i java kode. Er der nogle xml værktøjer du vil bruge? - hvad med dem der ikke kender til xml (nok ikke mange, men man ved aldrig)?

Noget lignende gør sig iøvrigt gældende med Enum, hvorfor Java er proppet med type-usikre pseudo Enum konstruktioner
mon ikke det har noget at gøre med at Enum først kom i 1.5 ?
Gravatar #37 - Sattie
23. dec. 2005 22:34
I forlængelse af #33:
Fra filen std.err:
Initial mode: 1920 x 1200 x 32 @60Hz

Found 208 displaymodes
Removed 104 duplicate displaymodes
getPathFromClassLoader: searching for: OpenAL32
getPathFromClassLoader: Path found: C:\Program Files\Tribal Trouble\gamedata\data-1\native\.svn\text-base\OpenAL32.dll.svn-base
getPathFromClassLoader: searching for: lwjgl
getPathFromClassLoader: Path found: C:\Program Files\Tribal Trouble\gamedata\data-1\native\.svn\text-base\lwjgl.dll.svn-base
Found 13 OpenAL paths
Testing 'C:\Program Files\Tribal Trouble\gamedata\data-1\native\.svn\text-base\OpenAL32.dll.svn-base'
Found OpenAL at 'C:\Program Files\Tribal Trouble\gamedata\data-1\native\.svn\text-base\OpenAL32.dll.svn-base'
Found 208 displaymodes
Removed 104 duplicate displaymodes
Failed to set display mode... assuming dual monitors
Failed to set display mode using dual monitors
... x mange gange.

java.lang.RuntimeException: org.lwjgl.LWJGLException: Failed to set display mode.
at com.oddlabs.tt.render.Renderer.run(Renderer.java:614)
at com.oddlabs.tt.render.Renderer.runGame(Renderer.java:216)
at com.oddlabs.tt.Main.main(Main.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.oddlabs.loader.Loader.main(Loader.java:66)
Caused by: org.lwjgl.LWJGLException: Failed to set display mode.
at org.lwjgl.opengl.Win32Display.switchDisplayMode(Native Method)
at org.lwjgl.opengl.Display.switchDisplayMode(Display.java:309)
at org.lwjgl.opengl.Display.create(Display.java:654)
at org.lwjgl.opengl.Display.create(Display.java:632)
at com.oddlabs.tt.render.SerializableDisplayMode.createWindow(SerializableDisplayMode.java:131)
at com.oddlabs.tt.render.SerializableDisplayMode.setModeToNearest(SerializableDisplayMode.java:107)
at com.oddlabs.tt.render.Renderer.initNative(Renderer.java:860)
at com.oddlabs.tt.render.Renderer.run(Renderer.java:611)
... 7 more

------
fra std.out:
...
target_mode = 800x600 32bit 75Hz
considering mode = 800 x 600 x 32 @75Hz
setting mode = 800 x 600 x 32 @75Hz
Failed window: depthbits = 24 | samples = 0 with exception org.lwjgl.LWJGLException: Failed to set display mode.
Failed window: depthbits = 16 | samples = 0 with exception org.lwjgl.LWJGLException: Failed to set display mode.
800 x 600 x 32 @75Hz failed because of Failed to set display mode.
considering mode = 800 x 600 x 32 @72Hz
setting mode = 800 x 600 x 32 @72Hz
Failed window: depthbits = 24 | samples = 0 with exception org.lwjgl.LWJGLException: Failed to set display mode.
Failed window: depthbits = 16 | samples = 0 with exception org.lwjgl.LWJGLException: Failed to set display mode.
800 x 600 x 32 @72Hz failed because of Failed to set display mode.
... etc etc etc.
number of AL Sources: 24

God Jul!
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login