Permalänk
Medlem

Fråga ang. spelprogrammering

God afton!

Har länge funderat på att programmera ett spel med en kompis som också är intresserad men snarare på att göra modeller.

Min fråga lyder: Vilket programmeringsspråk är det vi är ute efter?

Spelet vi vill skapa är ett sådant där 2D-spel med rymdskepp, dvs, man ska kunna skjuta på varandra osv Ett bataljspel dvs!

Ett exempel är ett iPhonespel jag har som heter Spaceduel.

Jag är medveten om att det tar lång tid att lära sig osv, men vi har tid och vill ha detta som ett slags hobbyprojekt.

Tidigare kunskaper:
Jag har grundläggande kunskaper inom C++ fast inte särskillt avancerad, polarn är en duktig digital-modellbyggare och har även intresse för programmering.

Vilket programmeringsspråk bör vi satsa på, och har ni något tips på hur man kommer igång?

Tack för svar!

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk
Medlem

Jag tycker ni ska satsa på ett språk ni redan behärskar så det inte blir för mycket på en gång. Om ni väljer C++ är frågan vilket tredjepartsbibliotek ni ska använda för ert 2D-spel. Titta på SDL och sfml är mitt förslag, men det finns andra alternativ. Skippa 3D tills vidare.

Permalänk
Medlem

C++ är nog bäst för PC men ska du få det att funka på iphone också så kan nog java vara ett bra alternativ

Visa signatur

In the end what separates a man from a slave?
Money? Power? No... A man chooses, a slave obeys.
ASUS Z170M-PLUS || Intel Core i7 6700k @ 4,7GHz || 64GB 2133MHz Corsair RAM || MSI NVIDIA RTX 2070 Gaming Z 8GB || Bifenix Prodigy M || 2x CZ TR150 480GB RAID 0 || BeQuiet DarkRock Pro

Permalänk
Medlem

Om du kan c++ någorlunda bra så skulle jag också rekommendera SDL.
Om det verkar för svårt så skulle jag rekommendera Python med pyGame då det är simpelt att lära sig.

Permalänk
Medlem

Tack för alla förslag! Kikade lite på SDL, där jag drog en Google, hittade en guide kallad "GFX with SDL", varav "Lesson 6" verkar vara ungefär det vi söker efter!

Vad gäller Java har jag ingen som helst erfarenhet med. Min följdfråga är; är det svårt att lära sig, och hur är kompabiliteten i jämförelse med C++? Några andra fördelar/nackdelar? Ska kika lite på Google också förstås Vore dock bra om någon kunde skriva något kort om saken med vårt målprojekt (reminder: 2D-spel likt spacebattle).
Tack så väldigt!

Edit* är det någon speciell compiler man ska köra eller något annat speciellt? (gällande SDL, jag kör Code::Blocks)
Om vi skulle bestämma oss för att göra en iPhone applikation, är det då Cocoa som gäller?

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk

Java är inte plattforms beroende, C++ är inom vissa delar plattforms beroende, fast går att komma runt genom att använda bibliotek som gör det man vill göra oberoende. T.ex. fönster hantering kan göras plattformsoberoende med QT. Grafik med OpenGL vet inte hur SDL är.

Här kan du läsa om programmering för Iphone och hur du börjar:
http://icodeblog.com/2008/07/24/iphone-programming-tutorial-1...

Permalänk
Medlem

Kör på C++ om du kan det någolunda bra redan. Det är dessutom relativt enkelt att få saker att funka på flera platformar (iPhone etc) om man planerar lite i förväg och inte blandar in platformsspecifika anrop överallt i sin kod.

SDL är gjort för att vara just plattformsoberoende (eller så gått det nu kan bli). Det startar bara fönster och ger dig ytor att rita på. Kan även dra igång en OpenGL-context så man kan rita med den utan att behöva gå på plattformsspecifika API:n som win32/x11. SDL finns även för iPhone, men man kan behöva skriva lite Obj-C-kod för att få igång allt.

När det gäller utvecklingsmiljö i windows kör jag själv oftast VisualStudio. Finns en gratisversion att ladda ner från Microsoft. För att utveckla till iPhone krävs en Mac, utveklarlicens och XCode. De flesta iPhone-programmen skrivs dessutom inte i Java som någon i tråden antydde, utan i Objective C som är ett språk i C-familjen. Detta gör det relativt enkelt att länka det mot välskriven C/C++ som är planerat för att kunna portas. Vill ni testa att ni skriver portabel kod så utveckla på flera platformas samtidigt. T.ex. windows och linux.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Citat:

Ursprungligen inskrivet av lollol7
C++ är nog bäst för PC men ska du få det att funka på iphone också så kan nog java vara ett bra alternativ

Man använder Objective-C för iphone-programmering.
Android kör java däremot.

Permalänk

DarkBASIC Professional FTW! Väldig lätt att lära sig jämfört med C++

http://darkbasicpro.thegamecreators.com/

Visa signatur

"Att betala för att icke-modulärt och klaga på det är korkat. Som att köpa en opel och klaga på att du inte fick en mercedes..."

Permalänk
Medlem

Vill man nå ut till den största massan så skulle jag iafl satsa på flash för ett enklare 2D-spel. Iom med CS5 så ska Flash gå att bompilera till iPhone åsså.

Permalänk

Testa det här:
http://www.microsoft.com/express/gamedevelopment/Default.aspx

Otroligt lätt att få resultat

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av KurreKula
Testa det här:
http://www.microsoft.com/express/gamedevelopment/Default.aspx

Otroligt lätt att få resultat

Har försökt få igång Dark GDK för nåt år sedan, lyckades inte. Förhoppningsvis går det bättre nu
Hursomhelst, är Dark GDK kompatibelt med Visual C++ 2010 Ultimate Beta 2? Eller rekommenderas det att man skall köra 2008 express eller liknande?

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av lollol7
C++ är nog bäst för PC men ska du få det att funka på iphone också så kan nog java vara ett bra alternativ

Rätta mig om jag har fel, men är inte iPhone den enda (stora) plattformen som inte stöder Java alls? Har för mig om att JVM bröt mot någon licens i AppStore, någonting med att ett iPhone App inte får köra ett annat app.

Permalänk
Citat:

Ursprungligen inskrivet av Njure
Har försökt få igång Dark GDK för nåt år sedan, lyckades inte. Förhoppningsvis går det bättre nu
Hursomhelst, är Dark GDK kompatibelt med Visual C++ 2010 Ultimate Beta 2? Eller rekommenderas det att man skall köra 2008 express eller liknande?

Vet faktiskt inte, måste du ju kunna läsa på deras sida?:) Skrev lite Dark GDK förut, sjukt kul faktiskt Lyckades få in lite AI, väldigt simpelt, en map som man kunde springa runt på, en verklig hoppkänsla och en rätt skön chasecam Var rätt så nöjd med det, var typ 15 och hade aldrig skrivit c++

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av KurreKula
Vet faktiskt inte, måste du ju kunna läsa på deras sida?:) Skrev lite Dark GDK förut, sjukt kul faktiskt Lyckades få in lite AI, väldigt simpelt, en map som man kunde springa runt på, en verklig hoppkänsla och en rätt skön chasecam Var rätt så nöjd med det, var typ 15 och hade aldrig skrivit c++

Installerar båda för säkerhets skull. Älskar att Microsoft ger ut dessa uvecklingsprogram gratis till studenter Bara att tanka VSC++ Professional! Installerar båda för att vara på den säkra sidan

Edit* Har varken lyckats få SDL eller Dark GDK att funka. Helt hopplöst, har säker kollat igenom 10 tutorials idag men det vill förstås inte funka. Det är därför jag aldrig kommer igång med programmering, eftersom det ska vara så förbannat svårt att få grejer att funka.. Det är bra mycket enklare med html och php, då behöver man bara en tom .txt.

Önskar bara att någon med erfarenhet kunde sätta sig vid min dator och fixa det så att man kan komma igång någon gång..

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk
Medlem

Det du behöver göra med SDL är att lägga till sökvägarna till lib- och include-filer, därefter ska det bara vara att kompilera.

Under Tools->Options väljer du "Projects and Solutions" -> VC++ Directories
Välj "Include files" längst upp tillhöger och lägg till SDL-katalogens include-katalog.
Gör sedan samma sak med "Library files" och lib-katalogen.

Det kan vara lite pilligt i början, men det du gör här är helt enkelt att tala om för kompilatorn var den ska söka efter dina nya bibliotek. Du bör även lägga in SDL:s DLL-fil i den katalog där du kommer köra ditt program.

Du kan även följa http://sol.gfxile.net/gp/ch01_vc7.html som går igenom det rätt bra. Där ställer du in det på projektet och "globalt" för alla projekt.

EDIT: nakdelen med att köra beta-mjukvara som VC10 kan vara att du inte hittar förkompilerade libs för det. testa med VC8-libs, funkar det inte så får du fyvärr kompilera SDL själv, eller hitta nån som kan göra det åt dig.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem

Det löste sig Hade laddat ned fel SDL-paket, nu funkar det fint. Alltid är det någonting fel

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk
Medlem

Jag reckommenderar C/C++ med SDL och då är denna tutorial riktigt bra; http://lazyfoo.net/SDL_tutorials/index.php
Jag rekommenderar NetBeans eller Eclipse (Java IDE som man kan installera plugins till så de kör med C/C++) som IDE eller Visual C++ 2008 Express eller vad microsoft kallar den

som någon påstod om java i iphone så är detta olagligt enligt apples license och det enda som går att koda på dem är Objective-C.

Visa signatur

Bärbar: bösbook, bösbook pro.

Permalänk
Medlem

Om du har ett xbox 360 kan du göra spel till den med XNA

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av thompa89
Om du har ett xbox 360 kan du göra spel till den med XNA

Sorry, i det här hushållet kör vi PS3. Det blev så eftersom jag inte känner någon med Xbox och mina vänner har PS3, var det ett naturligt val för mig

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk
Medlem

sitter med java i skolan (läser spelprogramering)

bra att börja med för att lära sig uppbyggnaden av spel osv.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av MoeB
sitter med java i skolan (läser spelprogramering)

bra att börja med för att lära sig uppbyggnaden av spel osv.

Funderade på en liknande kurs förut, Programmering A-B, vet inte om det fortfarande är aktuellt

Visa signatur

SLI Titan X - i7 5960x 8-kärnig - Asus Rampage V - 32 GB Corsair Dominator - Intel 750 2200 MB/s Pcie-disk.

Permalänk
Medlem

Jag måste ju säga att jag tycker C++ är ett dåligt val. Det har förvisso bra utvecklingsverktyg och bra prestanda, men helt ärligt så kommer du inte kunna använda utvecklingsverktygen till fullo och prestandan behöver du inte. Det är väldigt jobbigt att skriva C++ kod jämfört med lite nyare språk, C# eller Java skulle jag nog säga är bra val (eller ja, även typ Python och sånna, är dock personligen ingen stor fan). Kör du C# så kan du ju även köra XNA och kolla på lite starter kits, typ http://creators.xna.com/en-US/starterkit/spacewar

Visa signatur

I just love the fact that there is a global integer variable named 'i'. Just think, you will never need to declare your loop variable again!
To avoid collisions where a loop that uses 'i' calls another function that loops with 'i', be sure to stack 'i' and restore it when your function exits.

Permalänk
Citat:

Ursprungligen inskrivet av Myris
Jag måste ju säga att jag tycker C++ är ett dåligt val. Det har förvisso bra utvecklingsverktyg och bra prestanda, men helt ärligt så kommer du inte kunna använda utvecklingsverktygen till fullo och prestandan behöver du inte. Det är väldigt jobbigt att skriva C++ kod jämfört med lite nyare språk, C# eller Java skulle jag nog säga är bra val (eller ja, även typ Python och sånna, är dock personligen ingen stor fan). Kör du C# så kan du ju även köra XNA och kolla på lite starter kits, typ http://creators.xna.com/en-US/starterkit/spacewar

Håller med, även om jag nämnde annat innan. Ingen mening att krångla till det. Kan du välja ett nyare språk, själv föredrar jag C# så XNA kan du ju använda... Har ingen erfarenhet av det men låter som något jag kommer använda nästa gång jag ska skriva spel

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk
Medlem

Ja, det är i många fall vettigare att köra något annat än C++. Nu hade dock trådskaparen viss erfarenhet av det redan, och då kan det vara betydligt lättare att fortsätta på detta istället för att lära sig ett nytt språk.

Kommersiella spel använder sig idag även de av mer snabbutvecklade språk i viss mån (ofta Lua), men den större mängden kod som skrivs där är C eller C++, och det är inget jag ser kommer vara annorlunda innom en överskådlig framtid (även om jag hoppas det, men då är det snarare att man kan gå åt lägre nivå än högre

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jdv
Kommersiella spel använder sig idag även de av mer snabbutvecklade språk i viss mån (ofta Lua), men den större mängden kod som skrivs där är C eller C++, och det är inget jag ser kommer vara annorlunda innom en överskådlig framtid (även om jag hoppas det, men då är det snarare att man kan gå åt lägre nivå än högre

Grundtanken i moderna spel är väl egentligen att skriva en snabb grafikmotor och resten av det grafiska i C/C++ och sedan frilägga t.ex. AI och missions etc. till något högnivåskriptspråk typ Lua. Fungerar väldigt bra.

Permalänk

C# och XNA förenklar avsevärt när det gäller grafik, har jag hört. Finns grymt bra community kring XNA så det är nog lätt att få hjälp.

Permalänk
Medlem

Läger också min röst på c# och xna. Lätt och smidigt...

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition