Tai rekisteröidy jo tänään!
Näytä kirjoitukset
Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.
    Viestit   Aiheet Liitteet  

Viestit - Swast

Sivuja: [1] 2 3 ... 217
1
Esimerkit, moottorit & tutoriaalit / [GML][script]Debug-loki
« : 13. Helmikuu 2019, 22:11 »
Debug-loki -skripti
Yhteenveto: Luo peliin vianetsintälokin ja tallentaa sen sovelluskansioon.
Lisenssi:Public domain. Saa käyttää ja muokata miten haluaa. (Ei koske GM-filesystemiä! Tutustu sen omaan lisenssiin erikseen.)

Monet erinäisten ohjelmien tiedostoja tonkineet ovat varmasti huomanneet lähes kaikissa kaupallisissa peleissä ja muissa sovelluksissa olevan jonkinlainen tiedosto täynnä outoa tekstiä ja kellonaikoja. Näitä kutsutaan lokitiedostoiksi, joita pelintekijät käyttävät pelinsä bugien metsästykseen. Tämä on myös yleensä se tiedosto (tietokoneesi speksien ohella), jonka peli lähettää pelinkehittäjille pelin kaatuessa.

Oletko tähän mennessä käyttänyt "show_message"-funktiota debugaamiseen ja kironnut kuinka ärsyttävää sitä on koodista jälkeenpäin poistella ja kuinka rasittavaa on, että kyseinen ponnahdusikkuna jatkuvasti keskeyttää pelisi toiminnan? Ei hätää. Tein tähän ratkaisun viimeistä projektiani tehdessä ja täytyy sanoa, että tästä on ollut itselleni ainakin suunnatonta apua ja tulen käyttämään jokaisessa projektissani jatkossa.

Koska YoYoGames on tehnyt helvetin fiksun ratkaisun ja päättänyt, että Game Maker Studio pyörii "sandboxissa", eli et voi päättää itse mihin tiedostosi tallennat, niin mikäli käytät scriptiä studiossa, joudut lataamaan tämän lisäosan: (Suosittelen muutenkin lataamaan ja käyttämään. Säästää paljon harmaita hiuksia. Voit lisäosan avulla esim. tallentaa pelin tallennukset omaan kansioon.
GMFileSystem:
https://code.google.com/archive/p/gm-filesystem/
(Lataa "Downloads"-linkistä viimeisin versio)
Lisäosaa ei tarvita Game Maker 8.1:ssä eikä edeltävissä versioissa. Tällöin poistat vain FS_ -alkuliitteen tekstitiedostoihin liittyvissä funktioissa ja scriptit toimivat normaalisti. Voit myös käyttää scriptiä Studiossa ilman lisäosaa, mutta et pääse lokitiedostoon käsiksi testattua peliäsi, sillä Studio poistaa luomasi tiedostot joka runin jälkeen. Kun julkaiset pelin ja compilaat sen, niin tiedosto pysyy tallessa, mutta se ilmestyy pelisi %appdata%-kansioon.



Scriptit:

DebugInit()
Alustaa scriptin ainoan muuttujan "global.debug_log", joka säilyttää lokin tietoja ennen tallennusta tiedostoon.
Aseta tämä "pääobjektisi" (objekti joka alustaa itsensä ensimmäisenä) Create-eventiin.

global.debug_log = "["+ string( current_day ) + "/" + string( current_month ) + "/" + string( current_year ) + "][" + string( current_hour ) + ":" + string( current_minute ) + "] Session started!#";


DebugWrite( string comment )
Tätä scriptiä tulet koodissasi useimmiten käyttämään. Anna tälle funktiolle merkkijono, jonka haluat lisätä debug-lokiin.

/*
DebugWrite( string comment)

Adds a line of text to the debug-string*/
global.debug_log += "[" + string( current_hour ) + ":" + string( current_minute ) + "] " + argument0 + "#";


DebugSave( boolean game_ended )
Tämä scripti tallentaa lokitiedostosi. Anna scriptin argumentille arvo true, jos peli päättyy, niin peli merkitsee lokiin tiedon pelin päättymisestä. Jos argumentin arvo on false, niin peli olettaa, ettei peli ole päättymässä, vaan tallennat vain lokin.
/*
DebugSave( boolean game_ended )

Saves the debug log to a file*/

var file;
file = FS_file_text_open_append( program_directory + "DebugLog.txt" )

var lines, i, line;
lines = string_count(  "#", global.debug_log );


for( i = 0; i < lines; i += 1 )
{
    line = string_copy( global.debug_log, 1, string_pos( "#", global.debug_log ) - 1 );
    global.debug_log = string_delete( global.debug_log, 1, string_pos( "#", global.debug_log ) );
    FS_file_text_write_string( file, line );
    FS_file_text_writeln( file );
}
FS_file_text_write_string( file, "[" + string( current_hour ) + ":" + string( current_minute ) + "] DebugLog saved!" );
FS_file_text_writeln( file );
if ( argument0 == true ) /* Checking if the game is about to end */
{
    FS_file_text_write_string( file, "["+ string( current_day ) + "/" + string( current_month ) + "/" + string( current_year ) + "]
    //Poista tämä välilyönti ja kommentti. Venytti sivua liikaa :D[" + string( current_hour ) + ":" + string( current_minute ) + "] Session ended!" );
    FS_file_text_writeln( file );
    FS_file_text_writeln( file );
}
FS_file_text_close( file );

global.debug_log = "";





Käyttöohje:
Aseta DebugInit() "pääobjektisi" (objekti joka alustaa itsensä ensimmäisenä) Create-eventiin.

Seuraavaksi DebugWrite-scriptin käyttö:
Voit esimerkiksi haluta tietää tappelupelissä mitä vahinkoa pelaajan hahmon lyönnit tuottavat viholliseen, muttet halua piirtää sitä peliin tai muutenkaan ilmoittaa siitä pelaajalle:
//Lyöntiskriptisi tähän
DebugWrite( "Player hit " + obj_enemy.name + " with " + string( hit_damage ) + " damage." );

Korvaat tietenkin obj_enemyn vihollisobjektin nimellä ja muuttujan name vihollisobjektin nimimuuttujalla ja muuttujan hit_damage sillä muuttujalla, joka kertoo lyönnin vahinkomäärän.
Nyt scripti kirjoittaa tuon tekstin global.debug_log -muuttujaan, joka pitää väliaikaisesti tietoa debug-lokista.

Tämän jälkeen lisäät skriptin DebugSave( boolean game_end) Game End-eventiin:
DebugSave( true );



On myös hyvä tallentaa lokia kesken pelin, koska muuten muuttujaan global.debug_log saattaa kerääntyä ihan hirveän pitkä määrä tekstiä, joka voi kaataa pelisi. (Epätodennäköistä, mutta mahdollista, jos peliin varattu muisti loppuu) Toiseksi, jos pelisi kaatuu eikä Game End -eventti ehdi suorittaa itseään, menetät kaikki tallentamattomat lokitiedot.
Kun tallennat keskeyttämättä peliä laita DebugSave tähän muotoon, ettei skripti merkitse lokissa peliä päättyneeksi (Session ended):
DebugSave( false );

Lokin voi vaikka laittaa tallentumaan kun vaihdat huonetta tai koodaat sen tallentumaan vaikka joka kymmenes minuutti.

Löydät peliä testaessa tiedostosi polusta "C:\Users\Kayttajanimi\AppData\Roaming\GameMaker-Studio" ja kun julkaiset pelisi (compilaat sen), löydät sen samasta kansiosta missä pelisovelluksesi on.


Tässä vielä esimerkki oman pelini lokitiedostosta, joka antaa tietoa pelini lokalisaatiokoodista:
Koodia: [Valitse]
[13/2/2019][21:51] Session started!
[21:51] Localization's initialization complete.
[21:51] --Starting to read the localization file: 'English.txt'
[21:51] Line of comment found
[21:51] Localization key 'MENU_CC_HUE' assigned to 'Hue'
[21:51] Localization key 'MENU_CC_SAT' assigned to 'Saturation'
[21:51] Localization key 'MENU_CC_LUM' assigned to 'Luminosity'
[21:51] Line of comment found
[21:51] Localization key 'MENU_CC_HEAD' assigned to 'Head'
[21:51] Localization key 'MENU_CC_TORSO' assigned to 'Torso'
[21:51] Localization key 'MENU_CC_LEGS' assigned to 'Legs'
[21:51] Localization key 'MENU_MAIN_COPYRIGHT' not found!
[21:51] --Localization complete
[21:51] DebugLog saved!
[13/2/2019][21:51] Session ended!




Muuta:
-Jos et halua valmiiseen peliin debug-lokia, voit estää scriptien toiminnan luomalla yleisen "global.debug"-muuttujan ja laittamalla jokaisen debug-loki -skriptin alkuun:
if ( global.debug = false )
{
    exit
}

Tästä lokista voi tosin olla hyötyä valmiissakin projektissa, sillä jos pelaaja luovuttaa sen sinulle havaittuaan bugin pelissä, pystyt sen avulla paremmin metsästämään mistä bugi johtuu.


-Tämä scripti ei tallenna lokia, kun peli kaatuu Fatal erroriin (esim. jos jokin muuttuja on alustamatta pelissä ja GM pakottaa sulkemaan pelin). Scriptiä ei ole tarkoitettu aloittelijakoodaajille, vaan heille, jotka tekevät astetta edistyksellisempiä koodeja, joiden virheet ei välttämättä kaada peliä, mutta voivat aiheuttaa koodin toimimaan väärin.

-Pelin versionumeron saa lokiin myös helposti näkyviin luomalla ensin versionumero-muuttujan ja lisäämällä sen DebugInit ja DebugSave-skriptien aloitusteksiin, joka löytyy global.debug_log muuttujaan asetettuna. Voit toki kirjoittaa sen myös muuttujaan suoraan, mutta joudut version vaihtuessa joka kerta muokkaamaan saman tekstin kahteen kertaan sen sijaan, että muokkaisit yhtä muuttujaa. Versionumeromuuttuja on myös muussakin käytössä kätevä. Voit esim. piirtää sen näkyville pelin päävalikon alakulmaan.

2
Pelisuunnittelu / Vs: Hypetys
« : 11. Helmikuu 2019, 19:57 »
Terve mieheen pitkästä aikaa näin ontopicin-muodossa.

Olen tässä viimeaikoina palannut Game Makerin ääreen vuosien aktiividevaamistauon jälkeen melko kunnianhimoisen projektin kanssa.

Kyseessä on isometrinen verkkoroolipeli, jota voi pelata pienillä yksityispalvelimilla kavereiden kanssa. Hengeltään ehkä hiukan runescapemainen, mutta tarkoitus olisi tehdä aktiviteeteistä vähän point-and-clickiä kiinnostavampia.

Peli on vielä ihan alkutekijöissään, kuten kuvassa näkyy, mutta tasaista kehitystä tapahtuu viikottain. Pelin kehitystyylistä johtuen, kun peli tulee julkaisukuntoon julkaisen myös todennäköisesti kenttäeditorin, jolla pelaajat pääsevät luomaan kanssani maailmaa mieleiseksi. Jonkinlainen modaaminenkin tulee ehkä olemaan mahdollista, mutta verkkopeliominaisuuksista johtuen, ei välttämättä ihan heti ensijulkaisulla.


Koska en ole miljonääri, niin itse pelipalvelimet ovat pelaajien vastuulla. Pystytän itse "Master"-serverin johon tallentuvat pelaajien edistys.


Monista tämän tyylisistä roolipeleistä poiketen hahmojen varusteet tulevat näkymään itse pelaajallakin. (Jokaiselle varusteelle on omat spritet ja animaatiot neljään eri ilmansuuntaan.)

Jos herää kysyttävää niin lesoilen mielläni projektillani. Ja jos pixel-artin teko tässä projektissa kiinnostaisi, niin ota yhteyttä. Olen hiukan laiska spritettämään ja pelin isometrisyys ei auta asiaan, joten hahmojen varustespritejen tekoon otan kaiken avun vastaan. ;)

3
Offtopic / Vs: Yleisthread #4
« : 31. Joulukuu 2018, 17:22 »
Asuntooni tuli mahdollisuus tilata netin nopeus 1000Mb/s mutta se maksaa 40€/kk ja vuoden tilauksen jälkeen se nousee tarjouksen loppumisen takia varmaan vielä kalliimmaksi. Enpä taida tilata, nykyinen nopeuteni 100Mb/s saa riittää. Maksan siitä 20€/kk.
Onhan tuo aika hyvä tarjous, jos on käyttöä tuollaiselle kaistalle. Ihan normikäyttäjä ei kyllä tee 1000 megan nopeudella mitään.

Itselläni on myös tuo 100Mb/s yhteys vielä aikalailla samaan hintaan. (Muistaakseni oli 22e kuussa) ja riittää hyvin käyttööni. Pelailuun ja erittäin satunnaiseen streamaamiseen.

Tulee mieleen ne ajat, kun kakarana jaoin 3Mb/s yhteyden kahden pikkuveljen kanssa. :D Saatiin aikatauluttaa pelaamisvuorot netissä.

4
Offtopic / Vs: Mikä ärsyttää tällä hetkellä eniten? #2
« : 07. Lokakuu 2018, 17:48 »
Yritin ladata yhtä open source ohjelmaa ja yhtäkkiä ruutuun tuli viesti: "Olet ostanut tämän palvelun ja se maksoi 5€." Ihmettelin koska en ollut antanut mitään korttitietoja sile mutta ajattelin että ehkä se tekstiviesti jonka lähetin maksoi 5€ ja se tulee laskuun laitettuna sitten kun puhelimen lasku tulee operaattorilta. Ainakaan vielä pankkitililtä ei ole otettu mitään.


Kaikkea sitä tapahtuu, ja ilman varoitusta.


Edit: Pelkään nyt että laskuja alkaa tulla kerran kuussa.
Minkä ohjelman latasit?

5
Offtopic / Vs: Mikä ärsyttää tällä hetkellä eniten? #2
« : 08. Lokakuu 2017, 17:58 »

Sitten kun kävelee kauppaan huomaa että kauppa ei enää myy olutta kun on liian kännissä.
Eipä itselleni ole kyllä koskaan käynyt noin.  :|

6
Offtopic / Vs: Mikä ärsyttää tällä hetkellä eniten? #2
« : 06. Lokakuu 2017, 19:18 »
Kalja alkaa loppumaan eikä millään jaksaisi kävellä kauppaan. Autonrattiinkaan ei voi enää hypätä. :S

7
En ymmärrä tuota steam gems systeemiä. Ensinnäkin, voiko noi kasata jotenkin yhteen kasaan? Ja sitten, luulen että näillä on mahdollisuus jotenkin saada pelejä? Miten?



Germssejä voi ymmärtääkseni käyttää vain "korttipakkojen" ostamiseen Merkit-valikosta.

8
Offtopic / Vs: Yleisthread #4
« : 29. Elokuu 2017, 19:02 »
Jos joku opettaa minulle miten tradetaan steamissa voin tradeta näitä alennuskuponkeja.



En ihan varma ole, mutta mulla on haikea muistikuva, että alennuskuponkeja ei voi myydä eikä vaihtaa.

9
itse poltin n.7 vuotta ja lopetin tupakoinnin vähentämällä rutiineja ja tupakoinnin määrää puoli vuotta aikaisemmin. Pahinta oli juuri rutiinien lopettaminen tupakoinnissa. Lopettamiseen auttoi myös kahden viikon eristäytyminen muusta maailmasta ja tekemisenä oli pelin tekeminen ja ohjelmointi.
Itselläni kahden viikon erakoituminen ei onnistu ihan työn puolesta ja työn rutiineihinkin kuuluu enemmän tai vähemmän röökitauot. :D Olen keksinyt jo suht' hyvän ajankohdan lopettaa röökin polton, mutta jää nähtäväksi onko musta miestä siihen.
Itse olen aktiivisesti polttanut neljä vuotta. Sitä ennen kännissä ja silloin tällöin kavereiden seurassa parisen vuotta.

Olen sen huomannut, että omaan erittäin huonon itsekurin päihteisiin. Jopa alkoholiakin tissuttelisin päivittäin, jollei olisi säännöllisiä töitä ja muuta tekemistä iltaisin. Jos esim. kannabis olisi laillista ja helposti saatavilla, niin saattaisin olla koukussa siihenkin.

10



Puhelimesta löytyy appseja jotka auttavat lopettamisessa. Saa esimerkiksi badgeja jos on ollut polttamatta jonkun tietyn ajan. Saa myös jonkun ajan kuluttua tiedon, että nyt on kaikki häkä poistunut ruumiista, ja nyt on keuhkosyövän saanti mahdollisuus on pienentynyt 10%.
Joskus kokeilin tollasta tupakka-apsia, mutta itseäni ei ole auttanut lopettamaan kun en oikein välitä mistään badgeista ja kännykkääkin tulee vilkuiltua melko harvoin. Pitää vaan ottaa itseään niskasta kiinni ja lopettaa tuo syöpäkääryleiden imeskely.

Ei mulla siis noita appeja vastaan mitään ole. Hieno homma jos jollekin toimii ja suosittelen käyttämään, mutta itseäni appi ei motivoinut lopettamaan.
edit. Apissa on myös se ongelma itselläni, että se juuri muistuttaa tupakoinnista.

11
Jännä, itelläkin kohta 1½ polttamatta, ja niksat kesti varmaan muutaman viikon, eikä oo enää tehnyt röökiä yhtään mieli ku on niin paljon parempi olo ilman röökiä. Jos on ollut huono päiväkin tai fiilis, niin ei tee mieli tupakkaa, vaikka ennen piti aina silloin röökille päästä. :D
Asiaan vaikuttaa myös se kuinka kauan poltit ennen lopettamista. Hatarasti itse muistan Mercedeksen puheista, että hän oli polttanut vuosikaudet.

Itsekin poltan. Lopettaminen on lähinnä ajatuksen tasolla, mutta olen huomannut sen, että olen saattanut olla jopa päivän polttamatta vahingossa, kun on ollut jotain intensiivistä tekemistä. Että itselleni polton lopettaminen vaatisi sitä, että olisi jatkuvasti muuta ajateltavaa.

12
Tietotekniikka / Kohina mikrofonissa
« : 10. Elokuu 2017, 18:34 »
Ostin mielestäni kohtuu laadukkaan mikrofonin, jolla on hyvät arvostelut netissä. Mutta tällä on sama ongelma kuin kaikilla ostamillani mikrofoneilla. Aivan tajuton kohina riippumatta siitä kytkenkö mikin etupaneeliin kiinni vai suoraan emolevyyn.

Windowsin asetuksista voin laittaa kohinanpoiston päälle, mutta se heikentää merkittävästi äänenlaatua?
Onko mahdollista, että kohina johtuu jostain sähkövirrasta, joka johtuu taas maadoitusviasta? Miten tällaisen korjaa?

13
Offtopic / Vs: Yleisthread #4
« : 19. Kesäkuu 2017, 22:58 »
Onks kellään ylimäärästä koodia 1337 Uploadiin :)
542b1337f5c7023ecf4c9cc268da304b87cdb68a

14
Offtopic / Vs: Mikä ärsyttää tällä hetkellä eniten? #2
« : 05. Kesäkuu 2017, 23:12 »
Yritin kirjoittaa Iltasanomien digi-uutiseen kommentin Putinista mutta se ilmeisesti sensuroitiin koska se ei koskaan tullut julkaistuksi.
Nuo iltapäivälehdet herkästi sensuroivat vähänkään mahdollisesti mielipahaa aiheuttavat kommentit.

15
Offtopic / Vs: Yleisthread #4
« : 09. Huhtikuu 2017, 01:01 »
WTF... Minulle soitti tänään Lontoosta joku random tyyppi, joka esitti jotain kysymyksiä koskien tulotasoon omistuksiin jne. Pyysipä arvioimaan myös, miten EKP:n korkotasopäätökset ovat vaikuttaneet säästöihini. Öö, okei... Ei sentään mitään luottotietoja tms. kalastellut, mutta vähän outoa. Kotiin tullessa kämppis taas kertoi heränneensä siihen, että... yllättäen joku tyyppi soitti Lontoosta. Mikähän on homman nimi, onko mahdollisesti muita törmännyt samaan?
Ei kannata mitään tietoa antaa noille. Varmaan puhui intialaisella aksentilla? Nuo yrittävät vaiheittain kusettaa jollain tavalla vaikkeivät heti pyydä luottotietoja tai vastaavia. Voivat myös yrittää kalastella harmittomilta kuulostavia tietoja, mutta näillä tiedoilla onnistuvatkin sitten ottamaan lainan tai jotain vastaavaa sun nimiin.

Sivuja: [1] 2 3 ... 217
Powered by SMF 2.0.11 | SMF © 2006–2009, Simple Machines LLC