Gamesmaken.startpagina.nl je eigen videogame Wouter Baars Demozone 2005.

Post on 24-May-2015

218 views 0 download

Transcript of Gamesmaken.startpagina.nl je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

je eigen videogame

Wouter Baars

Demozone 2005

Gamesmaken.startpagina.nlwww.wouterbaars.net

Belangrijke Waarschuwing!

Gamesmaken.startpagina.nlwww.wouterbaars.net

Intro: Game productie wat hoort daarbij?

• Graphics:– 3D modelling– Textures– 2d Artwork– Animaties– Fonts, enz.

• Software:– 3Dmax– Maya– Photoshop

• Of open source:– Blender– Gimp

Gamesmaken.startpagina.nlwww.wouterbaars.net

Property schipangle,radius,richting,snelheid--later energy en dergelijke toevoegen

on getpropertyDescriptionList me list = [] addProp list, #richting,[#comment "richting in hoek",#format #float,#default0.05] addProp list, #snelheid,[#comment "snelheid",#format #integer,#default5] return listend

on exitframe me -- verplaatsing schotel radius = sqrt(power(abs(sprite(me.spritenum).loch-sprite(2).loch),2) + power(abs(sprite(me.spritenum).locv-sprite(2).locv),2))

Gameproductie vervolg

Programmeren:

- C (++)- Scripting- Speciale platforms (bv

webgames)

Gamesmaken.startpagina.nlwww.wouterbaars.net

Gameproductie vervolg

Concept design:• Verhaallijn

• Storyboard

• Level design

• Spelregels

Gamesmaken.startpagina.nlwww.wouterbaars.net

Gameproductie vervolg

Audio:

• Midi

• Audio

Software:

• Logic

• Cubase

• Protools

Gamesmaken.startpagina.nlwww.wouterbaars.net

Resumé

• Graphics• Programmeren• Concept• Audio• Projectleiding• AI, Physics engine’s

Gamesmaken.startpagina.nlwww.wouterbaars.net

3d: Hoeveel vrije tijd heb je?

Gamesmaken.startpagina.nlwww.wouterbaars.net

Hoe belangrijk is 3d voor een game?

Gamesmaken.startpagina.nlwww.wouterbaars.net

Hoeveel vrije tijd heb je? - verlvolg

Programmeren in C of in een scripttaal?

Gamesmaken.startpagina.nlwww.wouterbaars.net

Scripttaal versus “C”typedef struct { double x,y,z;} XYZ;

/*

Rotate a point p by angle theta around an arbitrary axis r

Return the rotated point.

Positive angles are anticlockwise looking down the axis

towards the origin.

Assume right hand coordinate system.

*/

XYZ ArbitraryRotate(XYZ p,double theta,XYZ r)

{

XYZ q = {0.0,0.0,0.0};

double costheta,sintheta;

Normalise(&r);

costheta = cos(theta);

sintheta = sin(theta);

Gamesmaken.startpagina.nlwww.wouterbaars.net

Scripttaal versus “C”

q.x += (costheta + (1 - costheta) * r.x * r.x) * p.x;

q.x += ((1 - costheta) * r.x * r.y - r.z * sintheta) * p.y;

q.x += ((1 - costheta) * r.x * r.z + r.y * sintheta) * p.z;

q.y += ((1 - costheta) * r.x * r.y + r.z * sintheta) * p.x;

q.y += (costheta + (1 - costheta) * r.y * r.y) * p.y;

q.y += ((1 - costheta) * r.y * r.z - r.x * sintheta) * p.z;

q.z += ((1 - costheta) * r.x * r.z - r.y * sintheta) * p.x;

q.z += ((1 - costheta) * r.y * r.z + r.x * sintheta) * p.y;

q.z += (costheta + (1 - costheta) * r.z * r.z) * p.z;

return(q);

}

Gamesmaken.startpagina.nlwww.wouterbaars.net

Scripttaal versus “C”XYZ ArbitraryRotate2(XYZ p,double theta,XYZ p1,XYZ p2)

{

XYZ q = {0.0,0.0,0.0};

double costheta,sintheta;

XYZ r;

r.x = p2.x - p1.x;

r.y = p2.y - p1.y;

r.z = p2.z - p1.z;

p.x -= p1.x;

p.y -= p1.y;

p.z -= p1.z;

Normalise(&r);

costheta = cos(theta);

sintheta = sin(theta);

Gamesmaken.startpagina.nlwww.wouterbaars.net

Scripttaal versus “C” q.x += (costheta + (1 - costheta) * r.x * r.x) * p.x; q.x += ((1 - costheta) * r.x * r.y - r.z * sintheta) * p.y; q.x += ((1 - costheta) * r.x * r.z + r.y * sintheta) * p.z;

q.y += ((1 - costheta) * r.x * r.y + r.z * sintheta) * p.x; q.y += (costheta + (1 - costheta) * r.y * r.y) * p.y; q.y += ((1 - costheta) * r.y * r.z - r.x * sintheta) * p.z;

q.z += ((1 - costheta) * r.x * r.z - r.y * sintheta) * p.x; q.z += ((1 - costheta) * r.y * r.z + r.x * sintheta) * p.y; q.z += (costheta + (1 - costheta) * r.z * r.z) * p.z;

q.x += p1.x; q.y += p1.y; q.z += p1.z; return(q);}

Gamesmaken.startpagina.nlwww.wouterbaars.net

Scripttaal versus “C”

In scripttaal:

Rotate (“kubus”, axis, degrees)

Gamesmaken.startpagina.nlwww.wouterbaars.net

Middleware voor games

• Zie: www.gamesmaken.startpagina.nl

Bv. Gamemaker

Macromedia director

Darkbasic

Pygame

Torque

Blender gamekit

e.v.a......

Gamesmaken.startpagina.nlwww.wouterbaars.net

b.v. Blender gamekit

Gamesmaken.startpagina.nlwww.wouterbaars.net

Bv. (2d) Gamemaker

Gamesmaken.startpagina.nlwww.wouterbaars.net

Resultaten

Gamesmaken.startpagina.nlwww.wouterbaars.net

Designtips

• No1: Uitdaging• No2: Doel duidelijk?• No3: Interactie goed?• No4: Easy to master, hard to learn• No5: Balans in je game• ... De spelregels zijn het belangrijkste!

Gamesmaken.startpagina.nlwww.wouterbaars.net

De spelregels zijn het belangrijkste!

• Niet 2d of 3d• Niet de schoonheid van de graphics• Niet de verhaalcontext (b.v. fanatasy of

space)

Gamesmaken.startpagina.nlwww.wouterbaars.net

Binnenkant of buitenkant?

“Een game is als een mooie vrouw: een mooi uiterlijk is meegenomen maar als ze geen interessant karakter heeft, is de lol er snel vanaf”

Gamesmaken.startpagina.nlwww.wouterbaars.net

Leuk spel

Gamesmaken.startpagina.nlwww.wouterbaars.net

Ook een leuk spel...

Gamesmaken.startpagina.nlwww.wouterbaars.net

Iets minder leuk...?

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8. h3 Bb7 9. d3 d6 10. a3 Na5 11. Ba2 c5 12. Nbd2 Nc6 13. c3 Qd7 14. Nf1 d5 15. Bg5 dxe4 16. dxe4 c4 17. Ne3 Rfd8 18. Nf5 Qe6 19. Qe2 Bf8 20. Bb1 h6 1/2-1/2

Gamesmaken.startpagina.nlwww.wouterbaars.net

Is het doel duidelijk?

“Contest Arena Would someone please tell me how to play this game? And why does the instructions have to be like 10 pages long? ...(enz. enz.)”

Gamesmaken.startpagina.nlwww.wouterbaars.net

Uitdaging

Gamesmaken.startpagina.nlwww.wouterbaars.net

Easy to master, hard to learn

• Vermijdt een (geschreven/gesproken) uitleg• De drempel om met een game te beginnen moet

niet te hoog zijn (besturing)• Zorg dat het interessant blijft (steeds iets

moeilijker/verrassingen)

Gamesmaken.startpagina.nlwww.wouterbaars.net

Goede interactie?• Zijn de handelingen duidelijk die je moet

verrichten?

• Reageert de computer (snel genoeg) op je acties?

• Krijg je de juiste feedback?

• Enz. (zie diverse artikelen op het web/boeken over interactie of ergonomie)

Gamesmaken.startpagina.nlwww.wouterbaars.net

http://www.submarinechannel.com/louparadis

Gamesmaken.startpagina.nlwww.wouterbaars.net

Feedback voorbeeld Quake III

Gamesmaken.startpagina.nlwww.wouterbaars.net

Balans in je game

Gamesmaken.startpagina.nlwww.wouterbaars.net

Balans voorbeeld starcraft

Gamesmaken.startpagina.nlwww.wouterbaars.net

Conclusie

• Welke discipline(s) wil je je in bekwamen?

• Welke instrumenten ga je gebruiken?• Hoeveel tijd heb je?• Alleen of in een groep?• Inhoud is belangrijker dan de vorm!

Gamesmaken.startpagina.nlwww.wouterbaars.net

Vragen?

Voor bronnen en startpunten zie:www.gamesmaken.startpagina.nl

Nadere info/vragen/opmerkingen: email via www.wouterbaars.net