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

35
Gamesmaken.startpagina.nl www.wouterbaars.net je eigen videogame Wouter Baars Demozone 2005

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

Page 1: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

je eigen videogame

Wouter Baars

Demozone 2005

Page 2: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Belangrijke Waarschuwing!

Page 3: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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

Page 4: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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)

Page 5: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Gameproductie vervolg

Concept design:• Verhaallijn

• Storyboard

• Level design

• Spelregels

Page 6: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Gameproductie vervolg

Audio:

• Midi

• Audio

Software:

• Logic

• Cubase

• Protools

Page 7: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Resumé

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

Page 8: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

3d: Hoeveel vrije tijd heb je?

Page 9: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Hoe belangrijk is 3d voor een game?

Page 10: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Hoeveel vrije tijd heb je? - verlvolg

Programmeren in C of in een scripttaal?

Page 11: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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);

Page 12: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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);

}

Page 13: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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);

Page 14: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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);}

Page 15: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Scripttaal versus “C”

In scripttaal:

Rotate (“kubus”, axis, degrees)

Page 16: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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......

Page 17: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

b.v. Blender gamekit

Page 18: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Bv. (2d) Gamemaker

Page 19: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Resultaten

Page 20: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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!

Page 21: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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)

Page 22: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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”

Page 23: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Leuk spel

Page 24: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Ook een leuk spel...

Page 25: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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

Page 26: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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.)”

Page 27: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Uitdaging

Page 28: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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)

Page 29: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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)

Page 30: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

http://www.submarinechannel.com/louparadis

Page 31: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Feedback voorbeeld Quake III

Page 32: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Balans in je game

Page 33: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Balans voorbeeld starcraft

Page 34: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

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!

Page 35: Gamesmaken.startpagina.nl  je eigen videogame Wouter Baars Demozone 2005.

Gamesmaken.startpagina.nlwww.wouterbaars.net

Vragen?

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

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