View previous topic :: View next topic |
Author |
Message |
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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 |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: 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 |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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 |
|
|
Tenjou
Joined: 22 Nov 2005 Posts: 275
|
Posted: 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 |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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 |
|
|
Tenjou
Joined: 22 Nov 2005 Posts: 275
|
Posted: 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 |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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 |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: 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 |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Tue Oct 16, 2007 11:08 pm Post subject: |
|
UML?
šis: http://en.wikipedia.org/wiki/Unified_Modeling_Language ?
vai "universal memory leak"?
izskatās pec chart'iem...
nu ok, zīmēšu spēles struktūru uz lapas! vai vismaz paint'ā! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
elvman Indago Uzvarētājs
Joined: 09 Apr 2003 Posts: 1278 Location: Kuldiga
|
Posted: 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 |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: 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 |
|
|
kovacs Indago Uzvarētājs
Joined: 16 Mar 2007 Posts: 51
|
Posted: 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 |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: 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 |
|
|
|