programmeringssprog til spil
Jeg har været igang med at lave et lille klon af Lolo 1 (http://uni-one.adsl.dk/) men jeg har lavet nogle dumme design mæssige valg og skal derfor igang med en større omskrivning. Derfor tænker jeg lidt om der er et bedre valg end Java som programmerings sprog.
Det jeg leder efter er et voksent sprog (dvs at det er nemt at finde oplysninger om), samt at det skal være fyldestgørende så man slipper for at bruge 3. parts dependency (jeg vil gerne slippe for NIH syndromet), samt at jeg kan ramme mange platforme når jeg engang bliver færdig (PC/mac, web/browser og evt mobil tlf)
Er der noget som er bedre end java til mit formå?
- Log in to post comments
Kommentarer17
Re: programmeringssprog til spil
øøh hvis du vil ramme flere platformer er java nok det bedste, da det er multi platform.
C++ er også multi platform men det skal skrives på forskellig måde alt afhængig af os
#1
Jeg kender lidt C++ og
#1
Jeg kender lidt C++ og jeg ved at der er forskel i I/O håndteringen. Hvordan står det til mht C++ og den smule grafik jeg har brug for? Bliver jeg nød til at bruge 3 parts grafik biblioteker så som QT og GTK? Og hvordan ser muligheden for C++ som web?
Qt
Jeg vil nok anbefale at du kigger på Qt og dets Opengl biblioteker, de er sikkert langt fra det bedste at kode spil med, men Qt er ret nemt at gå til og har tonsvis af smarte libraries og det har flere muligheder for scripting og Qt er meget veldokumenteret. Jeg synes ikke man har samme kvalitet ved gtk+ dokumentationen.
#3
Så vidt jeg ved så er
#3
Så vidt jeg ved så er opengl til 3d brug og det spil jeg har er ved at lave remake af er kun i 2d. Hvordan ser QT supporten ud udenfor PC værdenen (Web og mobil)?
Det skal lige nævnes at jeg ikke har brug for så meget avanceret grafikting. Lige nu er det bare png billeder som bliver vist i en applet og i et vindue/Canvas. Er der en bedre løsning?
Hvordan ser lyd ud hvis man skulle bruge C++. Skal man også bruge 3 parts biblioteker her? Jeg ved at java har disse ting indbygget i selve sproget
Re: programmeringssprog til spil
Jeg har aldrig avet noget med grafik i c++ så det ved jeg ikke
Re: programmeringssprog til spil
Der er jo også python og pygame.
http://www.pygame.org/news.html
#4
Hvad skal du bruge QT til
#4
Hvad skal du bruge QT til på web?
Altså, der er jo mobil-systemet QTopia, der sjovt nok baserer sig på QT.
Derudover er Nokia der ejer QT, så i hvert fald generelt på Nokias telefoner er der sandsynligvis god QT-support. Men jeg skal ærligt indrømme at jeg ikke har undersøgt det så grundigt.
Men, du kommer nok næppe til at få problemer med krydsplatformskompatibilitet med QT. Det findes til Windows, Mac, Linux, Brødrister og alt muligt andet.
Men ja, du er nødt til at bruge QT, GTK eller tilsvarende med C++ - ligesom med stortset alle andre programmeringssprog.
Re: programmeringssprog til spil
#6 Jeg har rodet med python fra et par år siden og kigger ikke tilbage. Jeg ønsker ikke at arbejdet med et sprog som tager space og tab som en del af syntaksen. Jeg ved godt at nogle mennesker kan lide det men for mig er det kun bøvlet
Men ellers tak for informationen
#7
Hvis jeg vælger c++ og QT til spillet så vil jeg gerne være i stand til at ligge det ud på en hjemmeside hvor folk kan spille det uden at downloade den nyeste version. Dette betyder en del for mig for så for jeg hurtigere feedback da nogle ikke gider downloade et ny version.
Så vidt jeg kan se har jeg 2 valgmuligheder. Enden forsætte med at bruge java eller begynde at bruge c++ med 3 parts biblioteker. Jeg heler mest til Java da jeg ved at det opfylder mine krav.
Alternativ så er der c++ med qt til grafik og et eller andet til lyd biblioteker til at håndtere lyde da c++ vist ikke har noget der kan det.
Re: programmeringssprog til spil
Hvis du vil bruge Python, så kan jeg anbefale at du kigger på
www.blender.org (et 3d modellerings program, kanon til spil!) som for det ikke skal være løgn - har spilmotor (game engine) indbygget + real time views så du kan arbejde med det du ser, og programmere i en intern editor hvis du lyster...
...og så virker den på Linux, Mac og Windows.
Den har både Game Logic (hvor du blot strækker node tilslutninger visuelt til logik-brikker /And/Or/Always/motion/scene etc..) og tilslutter dine Python Scripts, hvilket gør det ekstremt nemt for dig at lave spil.
#8
Qt4.4+ har også et
#8
Qt4.4+ har også et lyd-API, den samme KDE-bruger phonon. Det skulle gøre det meget nemt at lave lyde fra dit program.
Hvis du vil have folk til at spille spillet i deres browser, så er det ikke C++ du skal bruge. Så er det mere Java eller Flash, personligt hælder jeg mest til Java.
Re: programmeringssprog til spil
Eks. på at afspille en lydfil med phonon (taget fra wikipedia)
media = new MediaObject(this);
connect(media, SIGNAL(finished()), SLOT(slotFinished()));
media->setCurrentSource("/home/username/music/filename.ogg");
media->play();
Re: programmeringssprog til spil
så vidt jeg kan se er der 2 valgmuligheder med hver deres fordele:
c++ med qt og phonon
Java
Så vid jeg ved står de lige stærke/svage på mobilområdet og PC/Mac. C++ løsningen har den fordel at KDE bruger samme teknologi så hvis man engang skulle hacke lidt på det så kender man allerede det. Java har derimod den fordel at man "nemt" kan lave en applet som virker i 90%(gæt på hvor mange som allerede har java webplugin installeret) af folks browsere og derfor mulighed for at få flere brugere
Jeg skal vist lige i tænkebox de næste par uger
Tak skal i have for jeres input
#10 sådan som Adobe har behandlet os linux brugere så vil jeg helst undgå at udvikle til flash. Dette er en blanding imellem praktisk erfaringer og religion
Re: programmeringssprog til spil
Jeg tror til det du gerne vil med spillet (altså at det fungerer i normale vinduer så du har brugt SWING indtil videre? Ihvertfald det jeg har forstået...) så er det altså java som er nemmest at lave ordentligt cross platform til både normal spil, web og mobil.
Hvis bare din arkitektur er ordentligt sat op så du har en form for view som sætter brugergrænse fladen burde det være muligt at komme ud til alle PC'er, web kan nemt laves en Applet version af det og mobil burde også være nemt alt efter hvilket framework / environment man kommer frem til. Så burde du kunne komme på alle mobiler undtagen IPhone. C++ tror jeg dog er svært, ordentligt at få på mobiler og vil slet ikke snakke om muligheden for web.
#13
Jeg ved ikke om det kan
#13
Jeg ved ikke om det kan gøres smartere men det jeg har gjort indtil videre er at have 2 klasser til at vise tingende i hhv applet og "normal" desktop brug samt 2 klasser til håndtering af af indlæsning af baner (selve IO delen) og 2 klasser til indlæsning af de png billeder som bliver brugt.
Indlæsningen af baner fra IO dele skal omskrives da jeg gerne vil bruge XML i stedet for plain text samt at det meste af kollision detektion skal omskrives da den nuværende ikke er ordenligt.Når et monter eks rykker ind på noget gras som på bane 10 så bliver det rykket tilbage. Men hvis man selv står derpå så dør man.
Alternativer til Java
Java er et godt og omfattende sprog, der i nogen grad egner sig til web spil.
Flash egner sig måske i højere grad, men jeg ved ikke om udviklingsværktøjerne findes til Linux? Hvis de gør, vil jeg da gerne vide det...
Lige nu bruger jeg Python og Pygame til 2D spil. Jeg har også brugt BlitzMax, men var ikke så begejstret for sproget, der var baseret på BASIC.
#15
Flash egner sig måske i
#15
Flash egner sig måske i højere grad, men jeg ved ikke om udviklingsværktøjerne findes til Linux? Hvis de gør, vil jeg da gerne vide det...
Det er ikke det samme som at bruge Adobes store pakke, men du kan kigge på Adobe Flex og Eclipse fik det anbefalet af en flash udvikler, men har ikke kunne tage mig sammen til at kigge på det endnu.
Tak
Jeg har desværre ikke viden til at hjælpe dig med dit spørgsmål
Men vil gerne sige tak for et lille flashback til de mange timer jeg brugte på gameboy versionen tilbage i tiden med den store grønne kasse (gameboy) jeg elsker den slags små tidsfordrivs spil :)
Du burde nok tilføje i "manualen" at man genstarter banen på K
Jeg håber du kan undgå Flash da jeg startede med Ubuntu for få år siden trak det virkelig ned i oplevelsen med de mange crashes og generelt dårlig performance (min oplevelse er dog at det blevet MEGET bedre med tiden)
Held og lykke med projektet!