Toon posts:

[Programming] Game-programming

Pagina: 1
Acties:
  • 127 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben al enkele jaren verzot van pc's en games. Ik ken al redelijk wat over pc's en de absolute basis van C++ heb ik al eens een jaartje of twee geleden geleerd. Dit gaf mij echter weinig moed om verder te doen omdat je programma's vaak maar simplistisch zijn en weinig grafisch (en dan nog in DOS ook :()
Als ik nu echter het lopende 3D-engine-project zie wou ik dat ik kon meedoen. Ik wil dit op mijzelf leren zodat ik later ook kan meedoen aan zulke dingen. Maar als leek weet ik niet waar te beginnen.
Het liefst zou ik online tutorials volgen. Ik ben bereid van eerst heel wat theorie te doorworstelen als ik maar een toekomst zie in wat ik doe (wat ik niet zag in de boeken C++, het bleef gewoon bij simpele programma's, nix tof). Kunnen jullie mij wat raad geven wat ik best lees en zo zodat ik uiteindelijk zelf een 3D-engine zou kunnen maken en een game? (ik weet dat dit een heel moeilijke vraag is maar ik weet niet waar ik beter hulp kan vinden dan hier)

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
Eigelijk is een 3D engine niet zozeer een programmeer uitdaging, maar een wiskundige uitdaging. Als je dit echt wil doen dan zou ik een studie Burgerlijk aanraden, of op een andere manier aan de vereiste wiskundekennis proberen te geraken.
Tot je daar geraakt kan je best C programmeren en veel experimenteren met pointers, arrays, unions, structs etc.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op http://nehe.gamedev.net staat een mooie OpenGL tutorial om een beetje de basics van OpenGL onder de knie te krijgen.. Je kunt na afloop geen Quake4 maken, maar het helpt je waarschijnlijk een hoop op weg.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

[onzin]
Je mag ook geen Quake IV gaan maken, want die naam is copyrighted
[/onzin]

  • SG
  • Registratie: Januari 2001
  • Laatst online: 07:06

SG

SG surft naar info hardewaren

Mij lijkt het dat voorbeeld code simplistisch hoord te zijn en alleen zich concentreerd op het gene wat het uitlegd of duidelijk probeerd te maken.

aangezien C++ gewoon een Programmeer taal is wat dus gewoon ontwikkel tool is voor bijvoorbeeld 'n game te maken.

Je zou je ook kunnen concentreren op boeken of tutorials die ingaan op het geheel het maken van 'n game als je het allemaal bijelkaar doet dus 'n complete game. En waar je dus moet op letten.

Ik zou dus beginnen met 'n simple game dus geen tech demo'tje maar een compleet simplisties game die makelijk uit breid baar is .

Dat houd dus ook in game designen en dat proggen komt dan wat later.

aangezien gameplay (balancing) niet direct iets met C++ te maken heeft dus hier dus al helemaal de boot mist.

Bijvoor beeld tetris is simpel en heeft toch een aan zienlijke verslavende gameplay en dat zonder geavanceeerde 3D engine.

Toen ze dat erbij haalden waren ze geflopt

Ik ben bijvoorbeeld geinterreseerd in RTS games.
En wil dus 'n Simplistische RTS gamepje maken.
D'r zijn bijvoorbeeld maar 2 boeken die over dit soort games gaan en ook alleen maar in 2D engine.

De keus is dus beperkt maar je weet dan wel ongeveer waar je op letten moet of in de juiste richting.

X399 Taichi; ThreadRipper 1950X; 32GB; VEGA 56; BenQ 32" 1440P | Gigbyte; Phenom X4 965; 8GB; Samsung 120hz 3D 27" | W2012SER2; i5 quadcore | Mac mini 2014 | ATV 4g | ATV 4K


Verwijderd

Misschien aardig om je te verdiepen in DHTML ?! Je kunt dan redelijk snel leuke dingen maken !!

Kijk eens rond op internet naar dhtml en zie wat et allemaal kan !

  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Ik heb ongeveer hetzelfde doel voor mezelf gesteld, en ik ben maar begonnen met gewoon Windows-programmeren in C++ :)

Helaas helaas is dit verre van interessant, maar het lijkt me wel nuttig wanneer ik verder kom en gebruik ga maken van DirectX. Op http://www.cpp-home.com/ kun je wat inleidingen tot "C Windows Programming" vinden.


Kortom: zorg dat je eerst de basis hebt voor C++ zodat je je volledig kan concentreren op de problemen die komen kijken bij 3D-proggen (niet alleen de wiskunde, maar ook de eigenaardigheden van OpenGL/DirectX).

Daarna kan je dan allemaal leuke tutorials gaan volgen zoals op http://www.gamedev.net/

Verwijderd

Op donderdag 16 mei 2002 23:30 schreef T.T. het volgende:
Ik heb ongeveer hetzelfde doel voor mezelf gesteld, en ik ben maar begonnen met gewoon Windows-programmeren in C++ :)

Helaas helaas is dit verre van interessant, maar het lijkt me wel nuttig wanneer ik verder kom en gebruik ga maken van DirectX. Op http://www.cpp-home.com/ kun je wat inleidingen tot "C Windows Programming" vinden.


Kortom: zorg dat je eerst de basis hebt voor C++ zodat je je volledig kan concentreren op de problemen die komen kijken bij 3D-proggen (niet alleen de wiskunde, maar ook de eigenaardigheden van OpenGL/DirectX).

Daarna kan je dan allemaal leuke tutorials gaan volgen zoals op http://www.gamedev.net/
Heb jij zelf een win32 wrapperclass gemaakt? Ik ben nu bezig met een wrapper class voor mijn eigen engine, maar ik zit nog na te denken over het ontwerp ervan, suggesties?

  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Op donderdag 16 mei 2002 23:37 schreef Liquidus het volgende:
Heb jij zelf een win32 wrapperclass gemaakt? Ik ben nu bezig met een wrapper class voor mijn eigen engine, maar ik zit nog na te denken over het ontwerp ervan, suggesties?
Nee, zover ben ik helaas nog niet. Ik heb er wel wat over gelezen in één van de turorials, waar iemand de implementatie en ontwerp van een wrapper-class gebruikte als voorbeeld. Helaas weet ik de link niet meer :?

edit: ff zoeken, kan het nog niet vinden, misschien heb je toch wat aan Wrappers and Abstractions hoewel dat meer over DirecX wrappers gaat.


edit2: wel een leuke link gevonden, met een overzicht van heel veel tutorials: http://www.3dlinks.com/3dprogramming_directx.cfm

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 15:49
Even wat pure spelfouten aanstippen (om over de stijlfouten maar te zwijgen). Sommige delen heb ik maar niet gecorrigeerd omdat ik geen idee had wat ik ermee moest.
Mij lijkt het dat voorbeeld-code simplistisch hoort te zijn en zich alleen concentreert op het gene dat het uitlegt of duidelijk probeert te maken.

Aangezien C++ gewoon een programmeertaal is wat dus gewoon een ontwikkel-tool is om bijvoorbeeld 'n game te maken.

Je zou je ook kunnen concentreren op boeken of tutorials die ingaan op het geheel - het maken van 'n game - als je het allemaal bij elkaar doet dus 'n complete game. En waar je dus op moet letten.

Ik zou dus beginnen met 'n simpele game dus geen tech demo'tje maar een compleet simplistische game die makelijk uit te breiden is.

Dat houdt dus ook in game designen en dat proggen komt dan wat later.

Aangezien gameplay (balancing) niet direct iets met C++ te maken heeft dus hier dus al helemaal de boot mist.

Bijvoorbeeld Tetris is simpel en heeft toch een aanzienlijk verslavende gameplay en dat zonder geavanceeerde 3D engine.

Toen ze dat erbij haalden waren ze geflopt.

Ik ben bijvoorbeeld geïnteresseerd in RTS games en wil dus 'n simplistisch RTS gamepje maken.
Er zijn bijvoorbeeld maar twee boeken die over dit soort games gaan en ook alleen maar met een 2D engine.

De keus is dus beperkt maar je weet dan wel ongeveer waar je op letten moet of in de juiste richting.
Aight?

  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
Lol@soultaker :)

De meeste aspirant programmeurs blijken allemaal eender te redeneren. Gamen==leuk; dus Games proggen==leuk;
Ze blijken dan geen flauw idee te hebben hoe een programma in elkaar zit en denken dat ze na een dagje in een leuk click&drool apje leveltjes zitten te ontwerpen.
Of ze dromen hiervan:

If(player.gotshot()){player.health--;}
If(monster.aroundcorridor=true && player.lookingbackward) monster.poparoundcornenandkickass();

  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Op vrijdag 17 mei 2002 00:12 schreef XTerm89D het volgende:
De meeste aspirant programmeurs blijken allemaal eender te redeneren. Gamen==leuk; dus Games proggen==leuk;
hehe, heb je helemaal gelijk in. Bij mij is het omgekeerd: games vind ik wel aardig, maar dan vooral om de engine te bekijken :)
Ik wil dan ook niet perse een spel maken (dan had ik beter de Quake2 engine kunnen pakken en/of mods gaan schrijven). Ik wil mijn kennis verbreden en aangezien ik de laatste tijd veel PHP heb geprogged, en C alweer een tijdje geleden is, heb ik me nu weer voorgenomen om dit te gaan doen.

Oh trouwens, als je nog tips hebt (goede en relevante tutorials, wrappers ala glut voor DirectX (bestaan die?) enz) hoor ik het graag :)

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op vrijdag 17 mei 2002 00:12 schreef XTerm89D het volgende:
If(player.gotshot()){player.health--;}
If(monster.aroundcorridor=true && player.lookingbackward) monster.poparoundcornenandkickass();
thanx!!
mag ik dit stukje code gebruiken in mijn spel? *D

maar even serieus, hier is al eens eerder een (grote) topic over geweest... zal m eens opzoeken

ah: [topic=190414]
en [topic=323890]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Ik wil even dit vermelden. Dat programmeren niet alleen maar fun is en je niet meteen resultaat ziet dat weet ik maar al te goed. Ik ben bereid om maanden te leren om dan maar een klein iets op mijn scherm te toveren maar dat toch voldoening schept. Dit vond ik echter niet in de boeken C++ want wat voor voldoening vind je nu in een dos-programma dat een conversie-tabel van °C naar °F geeft?
Dat je voor programmeren goeie wiskunde nodig hebt kan ik verstaan en dat dit momenteel nog niet voldoende zal zijn voor een superengine te maken ook, maar ik doe nu echter Wetenschappen-Wiskunde en ik veronderstel dat ik nu toch wel iets of wat wiskundig inzicht heb om een simpele engine en game te maken, of vergis ik mij hier kompleet in?
(je ziet, ik heb geen idee wat een engine net vereist en zo, dus weet ook totaal niet of mijn wiskunde als ver genoeg reikt)

  • PipoDeClown
  • Registratie: September 2000
  • Niet online

PipoDeClown

Izze Zimpell

Al eens de source van Allegro doorgespit?

DJGPP

God weet alles, want hij is lid van de Mosad. To protect your freedom i will take that away from you. Mijn drankgebruik heeft ernstig te lijden onder mijn gezondheid.


  • Koenzie
  • Registratie: April 2001
  • Laatst online: 07-02 00:29

Koenzie

Never leave, just go

De wiskunde houd vooral de berekeningen van de rendering en de opbouw in dacht ik zo

Life is like a box of chocolates you never know what ya gonna get


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Er komt heel wat meer bij kijken dan programmeren alleen wil je een spel ontwerpen. Als je een beetje een game wilt, kan je dat niet alleen. En je zult zeker niet van den eerste ker een game maken met oogverblindende graphics en een verslavende game-play. Ik wil je niet ontmoedigen maar een game programmer je niet zomaar in één-twee-drie. Zeker als je nog niet veel ervaring hebt.

Probeer misschien eerst C++ goed onder de knie te krijgen en speel nadien misschien een beetje met DirectX. Er zijn boeken op de markt over DirectX, ik heb gisteren nog een ebook gedownloaded: "Teach yourself DirectX in 24h". (Nu, de titel is een beetje misleidend. DirectX leer je echt niet in 24 uur).

Trouwens, een gewone bruikbare/nuttige applicatie programmeren kan ook voldoening geven.

https://fgheysels.github.io/


  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 18-08 10:58

Bergen

Spellingscontroleur

Op vrijdag 17 mei 2002 00:06 schreef Soultaker het volgende:
Even wat pure spelfouten aanstippen (om over de stijlfouten maar te zwijgen). Sommige delen heb ik maar niet gecorrigeerd omdat ik geen idee had wat ik ermee moest.
[..]

Aight?
Het viel mij ook op ja, het ging niet helemaal 100% in die reply.. Maar ik denk dan altijd maar: hmmz misschien heeft ie wel last van dyslexie oid. Dus ik houd me dan altijd maar stil :x (Al stoor ik me soms wel eens aan mensen die niet de moeite nemen om 'loopt' ergens voor in de plaats te zetten.)

Affijn, on-topic:

Als je je puur op 3D-engines wilt richten (wat ultra-stoer is om te doen vind ik :)) hoef je op zich niet eerst een hoop tutorials of vage stof door te worstelen. Met de uitspraak van XTerm89D over dat het eerder een wiskundige uitdaging dan een programmeeruitdaging is ben ik het dan ook absoluut niet eens. (lees: zo heb ik dat absoluut niet ervaren) Het enige -pittigere- wiskundige is eigenlijk de rotatiefunctie. De andere wiskunde dingetjes (lineaire van punt A naar B glijden en ondertussen texture-coordinaten bijhouden ofzo) zijn niet echt een uitdaging, dat is standaard 2e-klas wiskunde ofzo (y=ax+b).

Ik zou het als volgt opbouwen:
* Leer eerst een windows-proggel bouwen (je had toch alleen dingen voor dos gemaakt?)
* Leer dan eens pixels en lijnen in een vlakje te tekenen.
* Verzin een constructie om een model op te slaan in het geheugen aan de hand van punten en driehoeken om ze te verbinden.
* Leer hoe je berekent waar 3D punten op je beeld komen (3D -> 2D)
* Bouw een draaifunctie in die met je muisbeweging meegaat.
* Hopla je hebt je eerste 3d-engine :o

Oh en ik wil je trouwes ook best es wat helpen ofzo hoor (op icq of msn).. Just ring a bell!

  • hopakee
  • Registratie: December 2001
  • Laatst online: 25-01-2023
kijk eens op de volgende sites,

www.flipcode.com
www.gamedev.net
www.gdse.com
www.gamasutra.com

hier is genoeg te vinden inclusief tutorials
over game development.

Verwijderd

Op donderdag 16 mei 2002 22:24 schreef Hdez het volgende:
[onzin]
Je mag ook geen Quake IV gaan maken, want die naam is copyrighted
[/onzin]
maken wel publiceren niet :p

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op vrijdag 17 mei 2002 08:46 schreef GerbenW het volgende:

Als je je puur op 3D-engines wilt richten (wat ultra-stoer is om te doen vind ik :)) hoef je op zich niet eerst een hoop tutorials of vage stof door te worstelen. Met de uitspraak van XTerm89D over dat het eerder een wiskundige uitdaging dan een programmeeruitdaging is ben ik het dan ook absoluut niet eens. (lees: zo heb ik dat absoluut niet ervaren) Het enige -pittigere- wiskundige is eigenlijk de rotatiefunctie. De andere wiskunde dingetjes (lineaire van punt A naar B glijden en ondertussen texture-coordinaten bijhouden ofzo) zijn niet echt een uitdaging, dat is standaard 2e-klas wiskunde ofzo (y=ax+b).
polys pushen kan iedereen, en standaard vector en matrix algebra is echt totaal niet de wiskunde wat ingewikkeld is. Het wordt echter wel ingewikkeld als je je met meer geavanceerde dingen gaat bezighouden, zoals collision detection & response en volumetric lighting en dergelijk.

en iets zegt me dat jij je daar nog niet mee bezig hebt gehouden *D

Het helpt trouwens wel als je de basis dingen door en door kent, en ook begrijpt waarom ze werken (dus opbouw van matrices, wat alle eigenschappen van het dot en cross product zijn, enz.)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 31-08 20:30

me1299

$ondertitel

Op donderdag 16 mei 2002 23:15 schreef Tizzwat het volgende:
Misschien aardig om je te verdiepen in DHTML ?! Je kunt dan redelijk snel leuke dingen maken !!

Kijk eens rond op internet naar dhtml en zie wat et allemaal kan !
Handig voor boter kaas & eieren en 4 op een rij ofzo.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • T.T.
  • Registratie: April 2000
  • Laatst online: 22-01 14:13

T.T.

Sowieso

Ik ben na het lezen van paar Windows C++ Programming tutorials doorgegaan met de Visual Studio 6.0 (ik heb ook MSDN Library). In combinatie met de DirectX SDK help (Documentation for C++) gaat het nu super.

Het is wel even zoeken voor je precies hebt gevonden wat je wilt, maar dan heb je tenminste al de specificaties bij de hand.

Ik heb nu al een simpel window dat paars is, nu even proberen er een paar vertices in te zetten, w00t :)

Klein probleem is wel dat je met zoooo veel dingen rekening moet houden, dat het bijna onmogelijk is om helemaal zelf te beginnen. Ik werk nu van een simpel tutorial en ga dat zelf proberen uit te breiden.

  • SG
  • Registratie: Januari 2001
  • Laatst online: 07:06

SG

SG surft naar info hardewaren

Op vrijdag 17 mei 2002 00:06 schreef Soultaker het volgende:
Even wat pure spelfouten aanstippen (om over de stijlfouten maar te zwijgen). Sommige delen heb ik maar niet gecorrigeerd omdat ik geen idee had wat ik ermee moest.
[..]

Aight?
Jij doet me denken aan mijn NL leraar.
Ik weet niet of IE 'n spel checker heeft zo niet dan post ik maar niet meer in P&W.

X399 Taichi; ThreadRipper 1950X; 32GB; VEGA 56; BenQ 32" 1440P | Gigbyte; Phenom X4 965; 8GB; Samsung 120hz 3D 27" | W2012SER2; i5 quadcore | Mac mini 2014 | ATV 4g | ATV 4K


Verwijderd

Op vrijdag 17 mei 2002 16:42 schreef DeathKnight het volgende:

Handig voor boter kaas & eieren en 4 op een rij ofzo.
Zeker de laatste ontwikkelingen niet gezien !
Echt grafisch fraaie spelletjes hoor..

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Op vrijdag 17 mei 2002 18:50 schreef SuperG het volgende:

Jij doet me denken aan mijn NL leraar.
Ik weet niet of IE 'n spel checker heeft zo niet dan post ik maar niet meer in P&W.
Het is toch leuker en gemakkelijker om een post te lezen die niet bol staat van de spellings- en stijlfouten hoor. No offence btw, maar als iedereen daar nu een beetje meer zou op letten. (Niemand is onfeilbaar, maar het mag toch ook niet overdreven worden).

https://fgheysels.github.io/


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op vrijdag 17 mei 2002 18:50 schreef SuperG het volgende:

[..]

Jij doet me denken aan mijn NL leraar.
Ik weet niet of IE 'n spel checker heeft zo niet dan post ik maar niet meer in P&W.
Je post een keer overlezen zal een stuk helpen. Gramatica fouten haalt een spelchecker er veel minder snel uit, maar hebben imo meer invloed op de leesbaarheid van een post..

Maar... Nu verder * Janoz *

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Bergen
  • Registratie: Maart 2001
  • Laatst online: 18-08 10:58

Bergen

Spellingscontroleur

Op vrijdag 17 mei 2002 11:43 schreef .oisyn het volgende:

[..]

polys pushen kan iedereen,
hij nog niet volgens mij
en standaard vector en matrix algebra is echt totaal niet de wiskunde wat ingewikkeld is. Het wordt echter wel ingewikkeld als je je met meer geavanceerde dingen gaat bezighouden, zoals collision detection & response en volumetric lighting en dergelijk.
True, maar ik denk dat dat nog niet voor hem aan de orde is. Als je begint zul je toch eerst moeten leren tekenen en daarna een object moeten kunnen draaien enzo. Daar is iedereen toch mee begonnen op dit terrein?
en iets zegt me dat jij je daar nog niet mee bezig hebt gehouden *D
Ik zeg niets :x
Het helpt trouwens wel als je de basis dingen door en door kent, en ook begrijpt waarom ze werken (dus opbouw van matrices, wat alle eigenschappen van het dot en cross product zijn, enz.)
Zeer zeker leerzaam ja. Als je formules maar dom overneemt zul je nooit 100% snappen hoe je engine nou eigenlijk werkt, terwijl dat juist het interessante is. Lijkt mij.

  • .oisyn
  • Registratie: September 2000
  • Nu online

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op vrijdag 17 mei 2002 20:36 schreef GerbenW het volgende:

hij nog niet volgens mij
ik bedoel dat je er geen wiskundig talent voor hoeft te zijn om dat te kunnen :)

[quote]True, maar ik denk dat dat nog niet voor hem aan de orde is. Als je begint zul je toch eerst moeten leren tekenen en daarna een object moeten kunnen draaien enzo. Daar is iedereen toch mee begonnen op dit terrein?[quote]

Ik praatte niet zozeer vanuit zijn standpunt, maar meer in het algemeen. Als je een 3d engine wilt bouwen zal er toch een bepaalde hoeveelheid aan pittige wiskunde bij komen kijken. (En nee, een proggie dat objecten kan laten zien en bewegen noem ik geen 3d engine ;))

Sowieso met computer graphics. Dingen als differentieren en in mindere mate ook integreren zijn aan de orde van de dag, om het zo maar even te noemen :)

Wiskundige notatie begrijpen is overigens ook heel belangrijk. Als je naar documenten over wat geavanceerdere dingen gaat zoeken dan kom je pdf'jes tegen van wiskundige hoogleraren die vol staan met formules

voorbeeldje: Dynamic Collision Detection using Oriented Bounding Boxes :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1