[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
väike FPS? Tee mäng kiiremaks!
valter
1


Liitunud: 19.1.2005
Postitusi: 1553
[EEMAL]




postitati 19.8.2009 12:19 Tsiteeri
väike FPS? Tee mäng kiiremaks!



SPRITED

1) Crop

Võtke oma sprited lahti, ja Cropige nad ära:

Edit Sprite > Images > Crop > Border: ...

Border panna 0 või 1 - see oleneb spritest. Parem oleks kui sa saaksid panna border 0 aga iga sprite puhul seda panna ei saa, kuna siis vahel võib jääda vale värv läbi paistma. (all-vasakul nurgas) Kui vale värv peaks mõnel kaadril läbi paistma, pane undo ja pane Cropi Borderiks hoopis 1.

Kui peale Croppi jääb sprite mõõtmed kahtlased (nt 124x121), siis võib selle resizeda 128x128-ks.


Test
>on 320x320 sprite, croppimata ja seda pannakse 1000 korda ruumi. FPS on 4-6.
>Nüüd cropiti 320x320 sprite 114x112 suuruseks. FPS 11-14




2) Preload texture - linnuke peal

Siis laeb selle sprite kohe ära, et mängu aeg temaga enam laadimisega enam tegemist ei oleks

EDIT by InC: Sellega ettevaatust. Kui on väga palju ja/või väga suured sprited, võid niimoodi mängu viletsama graafikakaardiga mängijale üldse mängimatuks muuta, sest preload tambib sprited otse videomällu ja seda on niipalju kui on.
Üldjuhul on sellest siiski rohkem kasu kui kahju.



BACKGROUNDS

Ei ole mõtet teha mingi 2x2 backgroundi ja panna see 4000x4000 ruumi. See on jube aeglane, kuna ta peab ju siis kuvama 2000x2000 korda seda taustapilti. Soovitavad taustapildi mõõtmed oleksid minu poolt vähemalt 48x48.

Tähtis on ka, et backgroundi mõõtmed oleksid kahendsüsteemis. (2,4,8,16,32,64,128,256,512 ... )


Test:
ruumi suurus 4000x4000.
>16x16 bg - FPS 196-198
>17x17 bg - FPS 172-182
>15x15 bg - FPS 172-182
>32x16 bg - FPS 196-202
>32x32 bg - FPS 192-196
>64x64 bg - FPS 143-152
>128x128 bg - FPS 169-175
>256x256 bg - FPS 160-180
>640x480 bg - FPS 194-215
>1x1 bg - FPS 0-2



GLOBAL GAME SETTINGS
1) Graphics


Interpolate Colors Between pixels - linnuke maha. Siis on mäng sakilisem, aga natukese kiirem.


2) Resolution


Use synchronization to avoid tearing - linnuke maha. Kui see asi on maas, võib FPS tõuseda nii mõne võrra.

EDIT by InC: Vertical sync on kahe otsaga asi: kõige sõbralikum oleks lubada mängijal see ise sisse-välja lülida. Mängus kus ekraan scrollib või view liigub ruumis kiiresti, on paljude LCD monitoride puhul VSync hädavajalik, muidu pilt tükeldub liikumisel. Käsk vsynci jaoks on

set_synchronization(0 või 1)

Ja seda võib läbi mõne lihtsa muutuja sisse-välja lülitada.


3) Other


Game Process Priority - kindlasti panna Normal. Kui panna midagi rohkem, siis on mäng palju aeglasem.


4) Errors


Kontrollige, et Display error messages oleks linnuke peal. Muidu kui seda ei ole, ja peaks juhtuma erroreid kuvama, siis ta ei näita erroreid ja mäng läheb väga venides edasi.


STEP EVENT > Alarm
Igal objektil ei ole vaja, et iga step peaks midagi kontrollima. Võib näiteks iga 3. või 2. step. Kui näiteks iga 3. step, siis tavalise step evendiga võrreldes kasutab ta temast KOLM KORDA VÄHEM mälu, aga seda ei märka silmaga, seega seda on jube kaval kasutada.
Esiteks, kirjutage create eventi
Kood:
alarm[11]=3;

Nüüd Võtke oma step event, ja tõstke see kood, mis teil seal on, alarm11 eventi ümber ja kirjutage kõige lõppu jälle
Kood:
alarm[11]=3;



Test:
On mingi objekt, vaja jooksutada skripti.
step eventis -> FPS 218-225
Alarmiga (alarm[11]=2;) > FPS 420-428
Alarmiga (alarm[11]=8;) > FPS 431-432


EDIT by InC: küll aga ei ole mõtet teha ühe-kahe koodirea kontrolli üle alarmi: Seda kas alarm on oma aja täis jooksnud, kontrollib iga step niikuinii. Milleks sama asja ringiga teha?

http://www.dmgamez.pri.ee/GRONGO1/uss_walk.gif
Ralli I: dm11Veresaun III: dm11<br>Emo1: icedude, valter8bit I: võistlus kestabAktsioon III (2009): -<br>Aasta mäng 2009: Pilvemees, valter<br>Vabateema II: valter
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
valter
1


Liitunud: 19.1.2005
Postitusi: 1553
[EEMAL]




postitati 19.8.2009 14:04 Tsiteeri


hmm, see vist oli vanas GMis (5) . Praegu jah pole vahet kas pcc peal, või maas. Isegi collisionis! Fps ei muutu üldse.
Parandatud.

http://www.dmgamez.pri.ee/GRONGO1/uss_walk.gif
Ralli I: dm11Veresaun III: dm11<br>Emo1: icedude, valter8bit I: võistlus kestabAktsioon III (2009): -<br>Aasta mäng 2009: Pilvemees, valter<br>Vabateema II: valter
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 21.8.2009 15:06 Tsiteeri


On väga vähe juhtumeid, kus sprite origin on kusagil mujal kui keskkohas, vähemalt x-teljel.
Tõsi küll, algajad originiga jännata ei taipa ega julge.
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
-DMI-
Level 12


Liitunud: 16.4.2005
Postitusi: 1000
[EEMAL]




postitati 28.11.2009 09:38 Tsiteeri


Avastasin kah midagist, aga ma ei tea kas seda siin juba ära näidatud on.

Resolutsioon 640x480, suurel hulgal objekte mängus.
Ilma järgneva koodita on (gm7) fps ~250 kuid koodi kasutades fps ~320. GM5-es oli fps kootita ~490 ning koodiga ~515.
alarm eventi ooteaeg ning kaugused saab vastavalt oma vajadustele ümber sättida.

create event:
Kood:

alarm[0]=60

alarm 0 event:
Kood:

if distance_to_object(mees1)<400{
visible=1
}
else{
visible=0
}
alarm[0]=60
Platform II: -DMI-; H0lx&jorss
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jnt
Veebiguru
Avatar

Liitunud: 3.2.2005
Postitusi: 731
[EEMAL]




postitati 28.11.2009 11:22 Tsiteeri


dmi, tegelt on veel kavalam teha sarnast trikki enda mehe koodis, käies kõik vajalikud objektid üle ja sättides neile visible't, mitte, et iga objekt tegeleb endaga ise. ;) Kood siis lihtsam ja vb lisab su praegusele ~320fps'ile veel mingi 10 juurde. ;)

EDIT: Ja nüüd, kui mõtlen, oli olemas gm'is ka funktsioon, millega said sättida ala, kus sees on objektid aktiivsed. (ja väljaspool mitte-aktiivsed) Tegemist oli ühe funktsiooniga, mis tegi kogu töö ise ära. ;)

GigAHerZ Web - http://jnt.pri.ee/
Banner Exchange - http://be.jnt.pri.ee/
Mission Possible - http://web.zone.ee/mispos/
Black Nova Traders - http://bnt.jnt.pri.ee/
Aktsioon I: jnt
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
Pilvemees
Moderator
Avatar

Liitunud: 28.7.2007
Postitusi: 791
[EEMAL]




postitati 28.11.2009 11:26 Tsiteeri


instance_activate_region vms
http://mangulooja.dragon.ee/lahinguatid/lahinguatid.gifhttp://mangulooja.dragon.ee/lembitu/lembitu_sig.pnghttp://mangulooja.dragon.ee/sigs/kindlus_sig.jpghttp://mangulooja.dragon.ee/keskaeg/sig.png
Aasta mäng 2009: Pilvemees, valter<br>
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jnt
Veebiguru
Avatar

Liitunud: 3.2.2005
Postitusi: 731
[EEMAL]




postitati 28.11.2009 11:39 Tsiteeri


pilvemees, midagi sellist oli jah. ;) ise puutusin selle kasutamisvajadusega kokku omal ajal mapmaker 2.0'i tehes. ;)
GigAHerZ Web - http://jnt.pri.ee/
Banner Exchange - http://be.jnt.pri.ee/
Mission Possible - http://web.zone.ee/mispos/
Black Nova Traders - http://bnt.jnt.pri.ee/
Aktsioon I: jnt
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
-DMI-
Level 12


Liitunud: 16.4.2005
Postitusi: 1000
[EEMAL]




postitati 29.11.2009 00:03 Tsiteeri


Tsitaat:
Tsitaat: jnt
EDIT: Ja nüüd, kui mõtlen, oli olemas gm'is ka funktsioon, millega said sättida ala, kus sees on objektid aktiivsed. (ja väljaspool mitte-aktiivsed) Tegemist oli ühe funktsiooniga,
mis tegi kogu töö ise ära. ;)


***
instance_activate_region vms
***

Pole kursis, pole kuulnudki.

Kusjuures, kui ennem tuli fps ~320, siis instance_ac... kasutamisega on fps ~370(gm7).
Platform II: -DMI-; H0lx&jorss
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Kazpar
$ QliMax $
Avatar

Liitunud: 27.3.2009
Postitusi: 507
[EEMAL]




postitati 26.2.2010 13:24 Tsiteeri


kasutage exit funktsiooni, sain kohe umbes 20 fpsi juurde. :)
Vabateema II: valter
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Kazpar
$ QliMax $
Avatar

Liitunud: 27.3.2009
Postitusi: 507
[EEMAL]




postitati 5.3.2010 16:35 Tsiteeri


Hetkel ei viitsi, võibolla hiljem, kes täpsemalt tahab kuulda kuhu seda toppida siis saatke u2u. Igastahes hoidke gm7 alphast eemale, see on jube. Gm7 alphaga oli max fps rate 50, tegin ümber selle gm8 sprite editori alphaga, fps oli 150. :) Ehk 3 korda kiirem:)
Vabateema II: valter
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
valter
1


Liitunud: 19.1.2005
Postitusi: 1553
[EEMAL]




postitati 5.3.2010 16:41 Tsiteeri


hint: exit kustutab evendi ära. Kui mingit eventi enam vaja pole, siis EXIT ! :)
http://www.dmgamez.pri.ee/GRONGO1/uss_walk.gif
Ralli I: dm11Veresaun III: dm11<br>Emo1: icedude, valter8bit I: võistlus kestabAktsioon III (2009): -<br>Aasta mäng 2009: Pilvemees, valter<br>Vabateema II: valter
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
valter
1


Liitunud: 19.1.2005
Postitusi: 1553
[EEMAL]




postitati 5.3.2010 20:08 Tsiteeri


ahjaa, mitte ei kustuta, vaid lõpetab skripti
http://www.dmgamez.pri.ee/GRONGO1/uss_walk.gif
Ralli I: dm11Veresaun III: dm11<br>Emo1: icedude, valter8bit I: võistlus kestabAktsioon III (2009): -<br>Aasta mäng 2009: Pilvemees, valter<br>Vabateema II: valter
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
Caupo
Caupo
Avatar

Liitunud: 19.7.2007
Postitusi: 1544
[EEMAL]




postitati 6.10.2010 14:36 Tsiteeri


step eventi:

if fps<23 then fps=30

(troll)


Peeter - Blood Money --- Delayed during tragic technical issues!
Kaklusmäng II: RallitajaStrateegia II: Peeter ja rallitajaRPG II: RallitajaJõulu 2008 I: Rallitaja8bit II: võistlus kestabAktsioon II (2009): Rallitaja
Vaata kasutaja profiili Saada kasutajale e-mail Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
stalkerxx3
Level 2
Avatar

Liitunud: 5.6.2010
Postitusi: 30
[EEMAL]




postitati 6.11.2010 23:06 Tsiteeri


Tsitaat:
Tsitaat: Caupo
step eventi:

if fps<23 then fps=30

(troll)

Eriti kaval mõni. =D


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 7.3.2011 21:17 Tsiteeri


Kui on suur hulk mingeid if-kontrollimisi siis paneb nad sellisesse järjekorda, et kõige rohkem aega võtvad on lõpus üldiselt:

Näiteks transpordi helikopter tahab peale võtta tüüpe kes on
1) Meie omad
2) puutuvad transpordi helikopteriga kokku, ehk on piisavalt lähedal

with (unit)
if (place_meeting(x,y,other)
if (omanik == other.omanik)
v6ta_peale();

Kui nii paned, siis checkitakse kõigi unitite puhul "place_meeting()" funktsiooni, mis on kohutavalt töömahukas võrreldes lihtsalt omaniku kontrollimisega.

Peaks olema:

with (unit)
if (omanik == other.omanik)
if (place_meeting(x,y,other)
v6ta_peale();

Nüüd checkitakse kõigi unitite puhul, kas ta on meie oma. Kui ta on meie oma siis checkitakse place_meetingut, ehk päris paljudel unititel place meetinguni üldse ei jõuta ja asi on oluliselt kiirem (khmteoorias).

Lamps and Megarace - multiplayer strateegia

You've got the boomin' system But it's blasting out doo-doo
You think it's chocolate milk But it's watered down yoo-hoo
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jyri1234
Level 9
Avatar

Liitunud: 16.1.2008
Postitusi: 542
[EEMAL]




postitati 8.3.2011 20:34 Tsiteeri


Kas GM'is blokke loogeliste sulgudega avama ei pea?
_________________________________
Eestikeelsed tasuta PHP õpetused - php.ee
PHP Manuaal - php.net
Jõulu 2008 III: Jyri1234<br>
Vaata kasutaja profiili Saada kasutajale e-mail Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 10.3.2011 17:13 Tsiteeri


Ma ei tea täpselt mida sa mõtled aga kui see oli midagi eelneva koodi kohta siis seal ei tohiks probleeme olla. Loodetavasti vastab see su küsimusele :)
Lamps and Megarace - multiplayer strateegia

You've got the boomin' system But it's blasting out doo-doo
You think it's chocolate milk But it's watered down yoo-hoo
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jyri1234
Level 9
Avatar

Liitunud: 16.1.2008
Postitusi: 542
[EEMAL]




postitati 10.3.2011 21:25 Tsiteeri


Ma mõtlesin if süntaksi muidu:
if(1==){
x=1;
}

_________________________________
Eestikeelsed tasuta PHP õpetused - php.ee
PHP Manuaal - php.net
Jõulu 2008 III: Jyri1234<br>
Vaata kasutaja profiili Saada kasutajale e-mail Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
batoonike



Liitunud: 2.4.2005
Postitusi: 378
[EEMAL]




postitati 11.3.2011 17:18 Tsiteeri


Ei pea blokke avama sel juhul loogeliste sulgudega {
Lamps and Megarace - multiplayer strateegia

You've got the boomin' system But it's blasting out doo-doo
You think it's chocolate milk But it's watered down yoo-hoo
Aktsioon III: batoonike<br>Kambakas II: batoonike, whitepower1, tenno11
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum

Hetkel loevad seda teemat:
Mitte ühtegi - 1 külaline

Mine lehekülje lõppu





Foorumi algbaas põhineb XMB mootoril, modifitseeritud Valter Pundi poolt
Kodulehekülg on tehtud Valter Pundi poolt vpundi ät gmail punkt komm