X FOR HAN ARK VUR
» SAM INFO AKT BSK

Programmerings hjælp!


Svar
AsseAsseSkrevet 07/08-03 13:38 
Hejsa,

Jeg har en idé om at jeg en dag skal være spildesigner/programmør. Men jeg kan faktisk, for at sige det mildt, ikke noget som helst med hensyn til programmering.

Så hvor starter jeg? Til sidst skal det jo gerne munde ud i noget spil programmering, men det behøver jeg ikke starte med, da jeg ku forestille mig at det er ufatteligt svært. Men hvor starter jeg? Og kan jeg overhovedet starte selv uden at vide noget?

Håber i ka hjælpe mig:)
KTCKTCSkrevet 07/08-03 13:43 
Det mest fornuftige er nok at starte med C++, da det er meget udbredt og er fornuftigt at lave spil i. Du kan eventuelt finde nogle tutorials på nettet og/eller købe en bog om C++.
A small cog? Now that you mention it, I know a puzzle about an object that almost fits that description.
AmbyAmbySkrevet 07/08-03 13:52 
Man kunne også starte med et rimelig entuitivt sprog som PHP. Derved kan du danne et grundlag for en hjemmeside, som du senere fylder med dine små c++ programmer :)

Man kan i de fleste boghandler købe en udemærket bog om PHP til 69 kroner. Når du føler dig hjemme dér, kan du hoppe videre til C++. Ikke at de ligner hinanden, for det gør de ikke. Men på den måde for man smag for programmering, hurtige resultater og finder hurtig ud af om programmering er noget for en.

Det hele handler jo kun om syntaksen :)
Have no thing I'd rather see, Since I found Serenity.Spiller nu: Mirror's Edge, Resistance 2
la0sla0sSkrevet 07/08-03 14:20 
et sprog der ikke riiitig bruges længere, men som jeg ved har hjulpet mange i gang... det er turbo pascal. Det er i hvert fald et godt nybegynder sprog.
Hvad sker der?
AsseAsseSkrevet 07/08-03 14:24 
Hmm, mere info tak:)
KTCKTCSkrevet 07/08-03 14:26 
Jeg vil give dig ret i, at man får lagt grundlaget for simpel programmering ved at lære f.eks. PHP, men et eller andet sted er det måske lidt for besværligt at lære det den vej. Jeg ville foretrække at gå "Hello World" vejen med C++ til at starte med, og så avancere, for man kører hurtigt træt, hvis man skal lære 2 sprog...
A small cog? Now that you mention it, I know a puzzle about an object that almost fits that description.
KTCKTCSkrevet 07/08-03 14:27 
la0s >
et sprog der ikke riiitig bruges længere, men som jeg ved har hjulpet mange i gang... det er turbo pascal. Det er i hvert fald et godt nybegynder sprog.
Gode gamle Turbo Pascal :)
Jeg lærte det i Datalogi på gymnasiet, og jeg fik da også lavet et par små-spil. Før det havde jeg programmeret Basic på min Amstrad.
A small cog? Now that you mention it, I know a puzzle about an object that almost fits that description.
AmbyAmbySkrevet 07/08-03 14:29 
Hvis han kører træt efter 2 sprog er det ikke spilprogrammør han skal være.
Det er det på den anden side heller ikke hvis han bliver træt af det hvis han starter med C++ :)
Have no thing I'd rather see, Since I found Serenity.Spiller nu: Mirror's Edge, Resistance 2
MarcKMarcKSkrevet 07/08-03 15:09, rettet 07/08-03 15:14 
Jeg vil anbefale dig at starte med at lære C og derefter C++ (som så ofte sagt er C med mere). Den nemmeste måde at lære det på er ved at gå på biblioteket og låne nogle gode begynderbøger - glem alt om tutorials på nettet, omend ganske få er okay.

Når du så har en nogenlunde forståelse og erfaring med sproget, kan du begynde at lege med Allegro som er et gratis bibliotek der er nemt at bruge og som er specielt beregnet til spilprogrammering.

Som kompiler kan jeg anbefale at begynde med DJGPP som Allegro også er kompatibel med. Det kan godt være lidt svært at sætte det op og få sin første kode kompileret i første omgang, men når først det er gjort én gang går det hurtigt fremad.

Som et godt tip vil jeg igen sige at du ikke skal fokusere så meget på hjælp fra Internettet. Brug de gode bøger som er skrevet af kompetente mennesker, istedet for at spilde tiden med upædagogiske, ofte fejlfyldte og overfladiske tutorials osv. Først når du bevæger dig længere ud af den obskure akse kommer Internettet til sin ret. :)

http://www.delorie.com/djgpp/
http://www.talula.demon.co.uk/allegro/readme.html
dRxLdRxLSkrevet 07/08-03 19:14 
Jeg startede selv med C++ som jeg senere bevægede mig væk fra til fordel for C. Det er i øvrigt rigtigt hvad Marc siger at alt hvad du lærer i C kan tages videre til C++ (omend du vil lære lettere måder at gøre tingene på).

Hvis jeg skulle give mig selv dengang et godt råd med den viden jeg har i dag, så ville det være at få fat i en rigtig god nybegynder bog om assembler. Kun på den måde kan du få en forståelse for hvad der foregår i de fortolkede (compilede) sprog. Det var i hvert fald først fra det øjeblik jeg gav mig selv et grundkursus i assemblerprogrammiering at jeg blev "god", men der havde jeg selvfølgelig også højniveau sprogenes metoder at relatere til.
Ovenstående råd ville have været det bedste til mig, men det er nok fordi mit temperament er lidt mærkeligt, og jeg godt kan li' at vide hvad der foregår. Desuden vil det gøre dig til en langt bedre programmør på sigt at have assembler forståelse i det du laver.

Man kan selvfølgelig vælte helt over i den anden grøft og lære et sprog som java der befinder sig relativt langt fra hvad der foregår i maskinen. Og så vælge at se det som sin største styrke at man er "åh så maskinuafhængig" ;-)
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
SumezSumezSkrevet 07/08-03 19:23 
C++ er godt at starte med for at lave noget rigtigt, men hvis man overhovedet ikke har nogen idé om programmering, kan det være en god idé at starte med noget simpelt og brugervenligt, der ikke kræver at man kan lave et komplet script i første hug.

Hvis man f.eks. bruger mIRC, er der meget at lære gennem mIRC scripting, og hvis man laver hjemmesider, kan man prøve at kigge på JavaScript.

Et andet alternativ kunne være Multimedia Fusion, det er en efterfølger til det klassiske Klik 'n' Play, der lader brugeren sætte spil sammen uden at skrive nogle linjer med kode. Dette betyder selvfølgelig også at det har utroligt mange begrænsninger, selvom mange af dem med tiden er blevet brudt vha. nye plugins, men fordelen er at man i første omgang ikke skal bekymre sig om grafik og lydprogrammering osv. Der skal dog nok gå nogle år før man rent faktisk opfatter programmeringselementerne i det program, da de er der, men ikke er nødvendige for at sammensætte noget :)

Så er en anden, og klart bedre måde, at sammensætte et spil på uden at kunne for mange af de kedelige, tekniske ting, C++ med brug af Allegro bibliotekerne, der gør det meste af det kedelige arbejde for en, så man kan gå næsten direkte igang med det grafiske. Dette kan dog godt være MEGET besværligt at få til at virke, hvis man i forvejen ikke har noget som helst begreb om C++
Spis sundt og tro på dig selvSpiller nu: Gravity Circuit, Bonze Adventure
dRxLdRxLSkrevet 07/08-03 20:33 
Jeg vil bare modsige Sumez med at hvis man vil programmere så er det en blindgyde at begynde at scripte.
Så tror man at man kan en hel masse, men i virkeligheden man grundlæggende forståelse for datatyper, de forskellige betingede udtryk (if/else, do/while, for, switch osv.) og hele idéen om at skrive funktioner (evt. hele klasser i objekt orienteret programmering), som man fra scripts er blevet vant til bare er der, eller at man højest kan sammensætte makroer.

Især er det vigtigt at man så hurtigt som muligt får styr på sine databegreber og afmystificeret pointer begrebet, multidimmensionelle arrays og structs. Eller det synes jeg i hvert fald at det er.
I rigtig mandeprogrammering er det de færreste dataobjekter der er tekststrenge der tolkes af meget venlige funktioner for én.
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
SumezSumezSkrevet 07/08-03 20:41 
Here we go again, dRxL ;)

Alt det tekniske, som datatyper, som du nævner, får man ikke af at scripte, nej. Men det du siger med funktioner holder ikke helt. Man kan skrive ganske normale funktioner i de fleste scriptsprog, som de fungerer i C++ og andre 4. generations programmeringssprog (og det er helt forkert at inddrage objekter her. Det skal man lære fra bunden, når man går igang med et objektorienteret sprog), og hele idéen med logikken bag programmering og if/then/else, den måde man skal tænke på når man programmerer, får man bestemt af at scripte, som jeg selv gjorde nogle år før jeg gik i gang med rigtig programmering.
Min idé er at scripting er super nemt for enhver at give sig i kast med, og har man erfaring på det punkt så, tro mig, er det noget nemmere at gå i kast med programmering.
Spis sundt og tro på dig selvSpiller nu: Gravity Circuit, Bonze Adventure
KTCKTCSkrevet 07/08-03 20:42, rettet 07/08-03 20:45 
Der er jeg så uenig. Det er lettere at lære, hvis man ikke blander pointere ind i det fra starten. Lær nogle datatyper og if/else før du går videre, for ellers ender du med at koge over, vil jeg påstå...

EDIT: Det er så dRxL jeg er uenig med...
A small cog? Now that you mention it, I know a puzzle about an object that almost fits that description.
dRxLdRxLSkrevet 07/08-03 20:44 
Du kan ikke skrive funktioner i et skriptsprog. Kun macroer (som er serie af funktionskald som du har sammensat).

Det er så vidt jeg husker sådan man definerer forskellen på et script-sprog og et programeringssprog (og så vist nok også at man i et programmeringssprog kan lave egne datatyper).
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
MarcKMarcKSkrevet 07/08-03 20:49 
Jeg er til dels enig med dRxL. Det er farligt at lære at scripte før man lærer C/C++. Jeg mener dog heller ikke det er nogen god idé at lære assemblerprogrammering før man lærer et high(er)-level language som C/C++, hvis man ikke vil ende med at lave spaghettikode og lignende.

Lær først det grundlæggende uden at prøve at forstå hvordan det _egentlig_ virker i maskinen, derefter kan du altid sætte dig ind i den slags.

Mange (mig inklusive) har gjort den fejl først at lære at "programmere" i sprog som COMAL og BASIC, og sådanne sprog kræver en markant anderledes opbygning af programmer og kan derfor give dårlige vaner.
RJKRJKSkrevet 07/08-03 20:55 
dRxL >
Det er så vidt jeg husker sådan man definerer forskellen på et script-sprog og et programeringssprog (og så vist nok også at man i et programmeringssprog kan lave egne datatyper).

Må komme med en lille anekdote fra min gymnasietid...

Mit datalogihold (hej Fizban) dumpede en rapport, fordi jeg nægtede at skrive at "HTML er et rigtigt programmeringssprog", som vi havde "lært"...

Sigh.
»This Is Beginning Of A Fantastic Story«Spiller nu: Fire Emblem: Three Hous..., Hellblade: Senua's Sacr..., Fire Emblem Fates
AsseAsseSkrevet 07/08-03 21:25 
Nu vi er ved det, hvor kan jeg søge om en praktik plads ved et spilprogrammerings firma/"sted"? Jeg skal jo i praktik her i 9...:)
SumezSumezSkrevet 07/08-03 21:32 
dRxL >
Du kan ikke skrive funktioner i et skriptsprog. Kun macroer (som er serie af funktionskald som du har sammensat).

Der er en kæmpe forskel på hvordan et scriptsprog fungerer i aktion og hvordan et programmeringssprog fungerer, men syntaksen er grundlæggende det samme, uanset om det er en rigtig funktion eller en "makro", og det er den jeg mener er god at kende til på forhånd.
Man kan naturligvis aldrig lære ordentlig optimering og memory håndtering osv. når man scripter, men selv der kan man nu få en idé om hvordan det foregår.
Spis sundt og tro på dig selvSpiller nu: Gravity Circuit, Bonze Adventure
dRxLdRxLSkrevet 07/08-03 21:35 
Hvor i landet bor du, hvis du er i nærheden af København kender jeg en hos IO interactive (Hitman 2) som jeg da godt kan spørge om de tager praktikanter (regn dog ikke med noget).
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
dRxLdRxLSkrevet 07/08-03 22:03 
Sumez det der bliver vi aldrig enige om, jeg har for et par uger siden siddet og forsøgt at lære min lillebror, der overdrevet dygtig mIRC og quake-shell scripter og bestemt ikke ubegavet, om datatyper og funktioner i C.
Funktioner og datatyper var skræmmende fraværende i hans bevidsthed.

Men vi hjælper jo ikke knægten med vores pseudo diskussion (læg i det hvad du vil ]:>), så jeg vil hellere linke til noget han kan gå i gang med:

http://www.cs.virginia.edu/~lcc-win32/

Kildeteksten til dRxLaX er skrevet i LCC editoren så den kan ikke være helt elendig, den installerer sig selv med alt hvad man skal bruge af standarbiblioteker. Forfatteren har derudover skrevet en udmærket begynder guide til C (C tutorial). Hvis det giver blod på tanden så vil jeg foreslå at man går til kilden og læser

denne gamle men gode bog der findes i en udmærket dansk oversættelse.
SIMDSpiller nu: Pokémon Ultra Moon, Pokémon Omega Ruby, Pokémon HeartGold
Login for at besvare
Profilnavn
Kodeord
Husk mig