dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

spēles struktūra

 
dev.gamez.lv Forum Index -> Programmēšana
View previous topic :: View next topic  
Author Message
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Tue Oct 16, 2007 6:32 pm    Post subject: spēles struktūra

drīz beigsies indago...
vēlos nobeigt spēļu programmēšanas c++'ā pamatu apgūšanu! (līdz šim esmu rīkojies tikai ar spēles sastāvdaļām)
man nenāk prātā, kā es varētu salikt to visu kopā - izvēlne - ieiešana kādā līmenī - iziešana, vēlreiz ieiešana, u.t.t.
kāds game loops man jāveido, lai es šādi varētu izveidot spēli?
varbūt kāds varētu padalīties ar visprimitīvāko kodu?
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Oct 16, 2007 7:40 pm    Post subject:

Nav tāda vienas vislabākās un ērtākās struktūras. Ir n-tie dažādie veidi.
Varu pateikt kā es darīju Skvēriem (un daru jebkuram citam projektam) - uztaisīju vienu variantu, kurš kautkā gāja un darīja savu darbu. Pēc tam, liku klāt jaunas fīčas nemitīgi veco kodu uzlabojot, mainot un refaktorējot atbilstoši jaunajām vajadzībām. Beigās iegūstot tādu kodu, kurš ir situācijai visatbilstošākais un tiešām dara savu darbu un neko lieku. Refaktorēšana ir tad, kad tu maini koda struktūru/uzbūvi nemainot darbības būtību un rezultātu. Tb vienkāršo kodu un padari to ērtāk lasāmu.

Vēl ir KISS princips - Keep it Simple Stupid. Sākumā uztaisi kautko ļoti vienkāršu un mazu. Panāc, ka tas strādā. Un vēlāk, liekot jaunās fīčas, tikai maini to un, kad esi panācis to, ko tam būtu jādara - uzlabo to (refaktorē). Bet galvenais - nemet veco kodu ārā un nesāc visu rakstīt atkal no nulles.
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Tue Oct 16, 2007 8:23 pm    Post subject:

nu jā, bet es biju vairāk gribējis uzzināt tieši par to, kā veidojas game loops - kā var panākt to, ka spēlē vispirms ir izvēlne, tajā var staigāt, kur grib, var ieiet kādā līmenī, pēctam atkal izvēlnē! nu īsāk sakot vēlos ielikt izvēlni ("menu") savā spēlē! kā lai es to izdaru?
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Tue Oct 16, 2007 8:47 pm    Post subject:

Pamēģini kaut vai pavisam vienkāršu veidu -> variable, kas tur scēnas ID. Un main loopā ir switchs, kurš ar case izvēlās atbilstošo scēnu kuru renderēt.

Vai arī uztaisi funkcijas pointeri un kad ir scenas maiņa funkcijas pointerim nodod jaunās scēnas render funkciju.
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Tue Oct 16, 2007 8:50 pm    Post subject:

oho, un tad vnk to mainīgo mainīt! hmm, tas man der.. un scēna ir derived klase?
bet es tomēr vēlos tā dziļi apgūt šo lietu, tāpēc varbūt kādam kāds URLis zināms?
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Tue Oct 16, 2007 8:56 pm    Post subject:

Personīgi nezinu nevienu url par to. Bet ko varu ieteikt, ja darbojās vienkāršakais variants, tad stick with it, tikmēr kamēr nav vajadzibas pēc kautkā labāka.
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Tue Oct 16, 2007 9:14 pm    Post subject:

nu ok!
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Tue Oct 16, 2007 10:39 pm    Post subject:

Quote:
uztaisīju vienu variantu, kurš kautkā gāja un darīja savu darbu. Pēc tam, liku klāt jaunas fīčas nemitīgi veco kodu uzlabojot, mainot un refaktorējot atbilstoši jaunajām vajadzībām.

Lūk tāpēc ir izdomāts UML. Uszīmē programmas struktūru uz lapas un, tici man, ietaupīsi daudz laika uz 'veco kodu uzlabojot, mainot un refaktorējot atbilstoši jaunajām vajadzībām' rēķina.
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Tue Oct 16, 2007 11:08 pm    Post subject:

UML?
šis: http://en.wikipedia.org/wiki/Unified_Modeling_Language ?
vai "universal memory leak"? Very Happy Very Happy Very Happy
izskatās pec chart'iem...
nu ok, zīmēšu spēles struktūru uz lapas! vai vismaz paint'ā! Smile
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Tue Oct 16, 2007 11:24 pm    Post subject:

Jap, tā pati. Man jau visērtāk liekas zīmēt uz lapas, bet ja darba pasūtītājs prasa printētu versiju (vai arī, ja gribi no savas shēmas izveidot C++ kodu), tad noderēs UML tūļi. Vislabākais/ērtākais/plašākais manuprāt ir Visual Paradigm, bet ja gribēsi ģenerēt sourci, tad vienīgais freeware toolis, ko spēju atrast ir StarUML.
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Oct 16, 2007 11:25 pm    Post subject:

Tas ir ļoti normāli mainīt kodu atbilstoši vajadzībām, ja sākumā tu vajadzības nezini. Un es tiešām tās arī nezināju. Refaktorings un koda uzlabošana ir ļoti normāls programminženierijas process. Paskaties kā open-source pasaulē notiek. Tur diezgan daudzkas balstās uz šādiem principa.

Nebija jau arī tā, ka rakstot kodu nemitīgi mainīju programmas struktūru augstā līmenī. Tā manis mainīšana bija domāts process, ka rakstot kādu funkciju redzu, ka atsevišķas daļas varu iznest ārā, atsevišķā funkcijā. Vai rakstot lielākus koda gabalus, redzu, ka lokālos datus varu enkapsulēt atsevišķā objektā - taisu jaunu klasi. Vai arī implementējot kādu klasi, redzu, ka tai nepieciešams darboties ar citu klašu objektiem - taisu tajā citajā klasē jaunu metodi(-es). Un tml lietas.

Ja ir 100% (nu vai tuvu tam) zināms, kas ir jāpanāk, tad jā, tad var zīmēt diagrammiņas.
Back to top
View user's profile Send e-mail
kovacs
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 16 Mar 2007
Posts: 51

PostPosted: Wed Oct 17, 2007 11:10 am    Post subject:

Imo UML ir smagi overrated un pats par sevi nav nekaada panaceja un ir vairaak tikai pieraksta veids tam ko tu gribi taisiit, bet pats par sevi tev nepaliidzees kaut ko uztaisiit labaak.

Runaajot par game loopiem, tak nesen bubu bija iemetis te vienu linku un normaalu rakstu par doto teemu.

Bez tam tachu ir varianti nokachaat kaadas sample gaames tam pasham SDL un paskatiities kaa tas ir uztaisiits tur un ar to saakt.

protams, tas viss ir bezjeedziigi, ja gribas lai ar sudraba karoti ieliek mutee un pasham slinkums maaciities un mekleet.


Last edited by kovacs on Wed Oct 17, 2007 11:12 am; edited 1 time in total
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Wed Oct 17, 2007 11:11 am    Post subject:

hmm, nu man arī ne vienmēr viss ir skaidri zināms, es tāpēc rakstu un rakstu, bet neko neesmu mēģinājis plānot!
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Display posts from previous:   
dev.gamez.lv Forum Index -> Programmēšana All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group