Lave Game engine ?

Tags:    diverse

Hej. Jeg har tænkt på noget :) F.eks. C++ er et
kodesprog. Men er det, det eneste man kan lave spil med?
Eller f.eks. Blizzard laver de deres eget kodesprog
? Til deres Spil og game engine? Mvh Tobias



De fleste bruger C++. Nogen opfinder så scriptingsprog for at gøre diverse trivielle ting lettere, som bliver parset af et C++ program.



Jeg har fulgt spil udviklings kurset på Aarhus universitet, hvor hoved fokus var på udviklingen af en engine.

halvdelen af kurset var baseret på forelæsninger af folk fra industrien, så jeg kan med en rimelighed sige at de praktisk alle bruge scriptsprog til at skrive deres spil kode i. Men den underliggende Engine kode er typisk (der var ikke nogen undtagelser i kurset) skrevet i C++.

men det betyder jo ikke at man ikke kan lave spil i andet, for det kan man sagtens, selv har leget meget med Delphi.

Hvis du vil have nogle tips og tricks til at komme igang, så spørger du bare.



Hej. C++ er da et kodesprog nogle har lavet så er det muligt at lave et kodesprog selv og hvordan ?
Og jatak jeg vil gerne have nogle tips og tricks til at komme igang :)



Du får lige lidt maskin teori.
En computer kan opfattes på forskellige abstraktionsniveauer.
typisk siger vi at niveau 0 er det digitale nivaeu bestående af logic gates.
niveau 1 er microkode niveauet
men ingen af dem er synlige for dig, det er den næste dog.
niveau 2 er ISA, instruction set architecture, de indstruktioner som du kan fordre computeren med.
niveau 3 er operativ systemet.
niveau 4 er highlever assembler sprog
niveau 5 og fremefter er det vi sidder leger med på daglig basis, f.eks. C++.

der kan så oversættes eller foltolkes mellen niveauerne, det er vigtigt at kunne skelne mellem fortolkning af oversætning. oversættelse kan sammenlignes med at du skriftligt oversætter noget fra engelsk til dansk, ved fortolkning læser du det engelske op på dansk, altså oversætter i hovedet inden du udtaler.

hvis du selv vil prøve at hacke på det så er "interpreter pattern" et sted at starte, om end jeg kraftigt vil fraråde dig det.

Hvis du vil i gang med at lave så har jeg følgende råd til dig.
--Det handler om at få så meget fun så muligt på så kort tid så muligt, alt andet er demotiverende.
--lad vær med at skyde over målet, sæt ambitionerne for det første projekt så lavt at det rent faktisk er muligt for dig at lave det på 14 dage til 1 måned. Det behøves ikke være det nye Crysis :)
--C++ er et bøvlet sprog på mange måder, start med noget andet
--3D grafik er heller ikke nemmeste, jeg kan se på din profil at du er 13 år, så antager du stadig går folkeskole, det matematiske grundlag for 3D grafik overstiger med 99% sandsynelighed din matematik lærers evner inden faget. Så start med 2D, så kan du jo kigge på 3D om et par år :)

Hvis jeg var i dine sko idag, så ville jeg selv starte med C#.
Jeg ville lave et simpelt 2D spil i stil med Arkanoid eller lignende som det første.
Jeg ville IKKE lave en engine som det første.

En engine er en lidt svær størrelse for hvad skal den kunne?
Hvis du bare laver spillene så er det tydeligt for dig hvad kode du skriver igen og igen efter et par spil eller 3, og det skal så sumpe ned i enginen.

Hvis du har nogle kode specifikke ting på et tidspunkt så skal du natirligvis også være velkommen til at spørge.



Som nybegynder er det klart nemmest at starte med at programmere til en engine der allerede eksisterer. Eksempler kunne være blitzbasic/blitz3d. Eller at programmere mods til spil som f.eks. garrys mod eller unreal tournament. Disse har begge 2 scripting sprog som er rimelig nemme at gå til.



Tak men C++ er et kodesprog? Og er det muligt at lave et kodesprog alla C++ ? F.eks. Blizzard til wow bruger de da deres egen Engine Eller hvad ?



3 X ja



Tobias: Blizzard bruger C++. Ikke et sprog de selv har fundet på, da det ingen mening ville give!! (Det kan dog være at de har blandet lidt med andre !Allerede eksisterende! sprog!)



Jackob: Blizzard bruger *også* et sprog de selv har fundet på, ligesom utroligt mange andre spilproducenter. Da alt andet ingen mening ville give.

Hvorfor skulle de bøvle med C++ til highlevel ting, når deres (C++ baserde)engine kan parse meget simplere scripts for dem?



Note: Blizzard bruger så vidt jeg ved kun standard sprog (C++ og LUA til at scripte)

Men du kan skrive spil i alle sprog, jeg leger lidt med C# til at lave det i. Et godt sted at starte er med GameMaker, det er gratis og nemt at gå til og du får en god forståeæse for at lave spil.

Det kan aldrig svare sig at lave sin egen engine, hvis man vil lave noget seriøst.

P.S. Hvis du bor omkring Aalborg er der en spiludviklingsweekend her i februar hos Indie9000: http://www.indie9000.dk/





Indlæg senest redigeret d. 29.01.2008 12:46 af Bruger #2730
t