Page 6 of 23

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Mar 07, 2012 6:43 pm
by Latexi95
Konstaduck wrote:Jostain luin, että tällöin peli on FPS riippumaton...
Ehei... Tuolla ei ole mitään tekemistä sen kanssa.

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Mar 07, 2012 6:45 pm
by Jonez
Tuo ei tee fps-riippumattomaksi. Pelin saa niin fps-riippumattomaksi, että lasket yhteen frameen kuluneen ajan, ja liikutat hahmojasi tällä ajalla. Näin, jos frameen kuluu 1ms, hahmo liikkuu vaikka 0,1 pikseliä, ja jos frameen taas kuluu 10ms, hahmo liikkuu 1 pikselin. Nyt liikenopeus on aina sama, eli 0,1px / 1ms = 0,1 px/ms = 100 px/s.

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Mar 07, 2012 7:00 pm
by axu
Konstaduck wrote:Jostain luin, että tällöin peli on FPS riippumaton...
Tämä ei pidä paikkaansa. Chaosworm oikeastaan luettelikin kaikki tuohon pätkään liittyvät asiat, joten kerron vähän FPS-riippumattomuudesta.
Kun peli on FPS-riippumaton, kaikkeen pelin nopeuteen vaikuttaa se, kuinka kauan edellisen framen suorittamiseen meni (pelimoottorin pyörittäminen + grafiikan piirto). Eli jos peli pyörii sutjakasti (esim. FPS 60), niin kaikkia pelin objekteja ym. liikutetaan vähemmän kunkin framen aikana. Jos peli takkuilee, liikutetaan objekteja enemmän, jolloin peli itsessään ei näytä hidastuvan, vaan pelkästään tökkivän. Silloin kun peli on toteutettu FPS-riippumattomasti, ei Framelimitiä tarvitse eikä kannata käyttää.

Esimerkki:

Code: Select all

Ukko = LoadObject("Media/guy.bmp", 72)
PositionObject Ukko, 0, -150
Dim FrameTime#, GameTime
GameTime = Timer()                              //Tämä estää pelin äkkinäisen liikkeen ensimmäisen framen aikana
Repeat
    FrameTime = (Timer() - GameTime) / 1000.0   //Lasketaan, kuinka paljon viimeisimmän silmukan suorittamiseen kesti sekunneissa
    GameTime = Timer()                          //Laitetaan laskuriin muistiin, milloin silmukkaa alettiin suorittamaan
    
    MoveObject Ukko, 200 * FrameTime            //Liikutaan 200 pikseliä sekunnissa
    TurnObject Ukko, 90 * FrameTime             //Käännytään 90 astetta sekunnissa (täysi ympyrä 4:ssä sekunnissa)
    
    //Seuraava pätkä liittyy testaamiseen, ei FPS-riippumattomuuteen
    Text 0, 0, "Framen suorittamiseen kulunut aika: " + FrameTime + " s"
    Text 0, 10, "Paina ylös/alas muuttaaksesi FPS:ää"
    WaitTime = Max(0, WaitTime - UpKey() + DownKey())   //Muutetaan odotettavaa aikaa näppäimillä. Rajoitetaan nollaan
    Wait WaitTime
    //--
    
    DrawScreen
Forever
Huomaa, että hidastuessaan peli tökkii, mutta ukko kulkee samalla nopeudella. Reitti saattaa vääristyä pelin hidastuessa.

Re: Tyhmät kysymykset (I/2011)

Posted: Wed Mar 07, 2012 7:11 pm
by esa94
Eulerin metodilla on aika helppo tehdä kivasti FPS-riippumaton peli, joskin Eulerin metodi on myös kovin epätarkka.

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Mar 11, 2012 1:59 pm
by ItzRaines
Käytän Mousedown- komentoa, kun ammun aseella. Nyt kun aseita on useita erilaisia, niin joidenkin kohdalla pitäisi silti käyttää Mousehit- komentoa. Kuinka vaihdan tämän komennon lennosta samalla kun vaihdan asetta?

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Mar 11, 2012 2:03 pm
by Ilmuri
ItzRaines wrote:Käytän Mousedown- komentoa, kun ammun aseella. Nyt kun aseita on useita erilaisia, niin joidenkin kohdalla pitäisi silti käyttää Mousehit- komentoa. Kuinka vaihdan tämän komennon lennosta samalla kun vaihdan asetta?

Code: Select all

If weaponusesclick Then
	active = MouseHit(weaponbutton)
Else
	active = MouseDown(weaponbutton)
EndIf
If active Then
	pum()
EndIf
Jotain tuon suuntaista.

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Mar 11, 2012 8:54 pm
by skorpioni-cb
Moikka vaan kaikille, tässä olen taas minä, skorpioni-cb, innostuneena taas CoolBasicin kanssa hihhuloida, kun ei oikein C++/SDL+OpenGL suju, niin aattelin käyttää tätä windowssiin vangittua iki-ihanaa kieltä taas vaihteeksi :D No kuitenkin, kysymykseen:
Mä teen peliini HUD:in, jotta Ammot sun muut näkyisi erikseen, ja mua ihmetyttää miten näyttää pelimaailma tommosessa kuvassa, niin kuin se joku koodinpätkä sieltä jostain kaukaa menneisyydestä :oops: Joten voitteko te auttaa, auttaisi suuresti HUD:in tekoo, kiitos kaikille vastanneille :shock:

Re: Tyhmät kysymykset (I/2011)

Posted: Sun Mar 11, 2012 9:00 pm
by Latexi95
skorpioni-cb wrote:Moikka vaan kaikille, tässä olen taas minä, skorpioni-cb, innostuneena taas CoolBasicin kanssa hihhuloida, kun ei oikein C++/SDL+OpenGL suju, niin aattelin käyttää tätä windowssiin vangittua iki-ihanaa kieltä taas vaihteeksi :D No kuitenkin, kysymykseen:
Mä teen peliini HUD:in, jotta Ammot sun muut näkyisi erikseen, ja mua ihmetyttää miten näyttää pelimaailma tommosessa kuvassa, niin kuin se joku koodinpätkä sieltä jostain kaukaa menneisyydestä :oops: Joten voitteko te auttaa, auttaisi suuresti HUD:in tekoo, kiitos kaikille vastanneille :shock:
Ja yhtä sekava viesti kuten aina. :lol:

En nyt ole ihan varma, mitä tarkoitat. Mutta DrawGame ja sen jälkeen HUDin kuvien, palkkien ja tekstien piirto. Sillä tyylillä se menee.

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 6:43 am
by skorpioni-cb(nyt)
Latexi95 wrote:
skorpioni-cb wrote:Moikka vaan kaikille, tässä olen taas minä, skorpioni-cb, innostuneena taas CoolBasicin kanssa hihhuloida, kun ei oikein C++/SDL+OpenGL suju, niin aattelin käyttää tätä windowssiin vangittua iki-ihanaa kieltä taas vaihteeksi :D No kuitenkin, kysymykseen:
Mä teen peliini HUD:in, jotta Ammot sun muut näkyisi erikseen, ja mua ihmetyttää miten näyttää pelimaailma tommosessa kuvassa, niin kuin se joku koodinpätkä sieltä jostain kaukaa menneisyydestä :oops: Joten voitteko te auttaa, auttaisi suuresti HUD:in tekoo, kiitos kaikille vastanneille :shock:
Ja yhtä sekava viesti kuten aina. :lol:

En nyt ole ihan varma, mitä tarkoitat. Mutta DrawGame ja sen jälkeen HUDin kuvien, palkkien ja tekstien piirto. Sillä tyylillä se menee.
Sekavaa se on juu, mutta tarkoitan että siinä hudissa olisi erillinen alue mistä näkyy pelimaailma, että kaikki muu olisi HUD:ii, että sikäli :P

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 6:55 am
by MrMonday
skorpioni-cb(nyt) wrote:
Latexi95 wrote:
skorpioni-cb wrote:Moikka vaan kaikille, tässä olen taas minä, skorpioni-cb, innostuneena taas CoolBasicin kanssa hihhuloida, kun ei oikein C++/SDL+OpenGL suju, niin aattelin käyttää tätä windowssiin vangittua iki-ihanaa kieltä taas vaihteeksi :D No kuitenkin, kysymykseen:
Mä teen peliini HUD:in, jotta Ammot sun muut näkyisi erikseen, ja mua ihmetyttää miten näyttää pelimaailma tommosessa kuvassa, niin kuin se joku koodinpätkä sieltä jostain kaukaa menneisyydestä :oops: Joten voitteko te auttaa, auttaisi suuresti HUD:in tekoo, kiitos kaikille vastanneille :shock:
Ja yhtä sekava viesti kuten aina. :lol:

En nyt ole ihan varma, mitä tarkoitat. Mutta DrawGame ja sen jälkeen HUDin kuvien, palkkien ja tekstien piirto. Sillä tyylillä se menee.
Sekavaa se on juu, mutta tarkoitan että siinä hudissa olisi erillinen alue mistä näkyy pelimaailma, että kaikki muu olisi HUD:ii, että sikäli :P
Eli tarkoitatko nyt jotain minikarttaa, mitä esim. monissa hiekkalaatikko peleissä nähdään? Viestisi kun ei tosiaan ole ihan selvimmästä päästä :)
EDIT:

Vai tarkoitatko, että pelimaailma näkyisi tavallaan ikkunassa?

EDIT:

Tai varmaan parhaiten auttaisi, jos voisit laittaa kuvaa jostain pelistä, jossa käytetään tarkoittamaasi systeemiä, niin ei tarvitsisi sitten arvailla :)


Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 9:38 am
by Awaclus
Minä ymmärrän tämän niin, että koko ruutu on pelkkää HUDia, mutta siinä HUDissa on alue, josta näkee pelimaailman.

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 3:56 pm
by skorpioni-cb
Chaosworm wrote:Minä ymmärrän tämän niin, että koko ruutu on pelkkää HUDia, mutta siinä HUDissa on alue, josta näkee pelimaailman.
Ja meillä on voittaja ajassa 5.32s
Eli juu niin, koska en haluu tehä mitään "Half-Life"-tapaista hudii vaan tommosen minkä chaosworm sano, mutta en tiiä miten sen pelimaailman kameran voisi piirtää erilliselle alueelle jolla on x ja y sekä leveys ja korkeus määritelty :3 Jos funkkarii saisi niin voin laittaa sen tekijän mun pelin credit-osan kiitos-kappaleeseen :D

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 4:24 pm
by Latexi95
skorpioni-cb wrote:
Chaosworm wrote:Minä ymmärrän tämän niin, että koko ruutu on pelkkää HUDia, mutta siinä HUDissa on alue, josta näkee pelimaailman.
Ja meillä on voittaja ajassa 5.32s
Eli juu niin, koska en haluu tehä mitään "Half-Life"-tapaista hudii vaan tommosen minkä chaosworm sano, mutta en tiiä miten sen pelimaailman kameran voisi piirtää erilliselle alueelle jolla on x ja y sekä leveys ja korkeus määritelty :3 Jos funkkarii saisi niin voin laittaa sen tekijän mun pelin credit-osan kiitos-kappaleeseen :D
No tästämälleen samanlailla kuin sen pienemmänkin HUDin. Eli piirrät ensin kentän ja sitten piirrät HUDin päälle. Voit joutua siirtämään kameraa CloneCameraPositionin jälkeen jos haluat objektin keskelle HUDissa olevaa aukkoa ja aukko ei ole keskellä ruutua.

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 4:40 pm
by skorpioni-cb
Edit: siis ihan ihQ kun löyty hakuu käyttäen samanlainen juttu, kiitos kaikille vastanneille :shock:

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 5:04 pm
by koodaaja
CloneCameraPosition siirtää kameran siten, että pyydetty piste on ruudun keskellä. Kun piirrät 400x300-kuvaan, joudut siirtämään kameraa jonkun verran. Ja WTF:llä merkitsemäsi täysin looginen alue johtuu siitä, ettet tyhjennä kuvaa joten ne alueet joihin ei piirretä, jäävät sellaisiksi kuin olivat viime framella. Nykyinen CB tyhjentää DrawScreenin yhteydessä kohteliaasti näytön, mutta kuvaan piirrettäessä CB:n on vaikea päätellä milloin, jos ollenkaan, kuvaa tulisi tyhjennellä. Tässäpä korjattu koodinpätkä, ei siihen kyllä tullut kuin kaksi riviä lisää.

Code: Select all

FrameLimit 40 //Sets FPS-limiting to about 40

SCREEN 800,600,0,1 //Set screen

map= LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject map,0,0,0.5

guy= LoadObject("Media\soldier.bmp",72)
SetupCollision guy,map,2,4,2

ws = MakeImage(400,300) //Make screen to view into gameworld

Repeat
    If LeftKey() Then TurnObject guy,5
    If RightKey() Then TurnObject guy, -5
    If UpKey() Then MoveObject guy,4
    If DownKey() Then MoveObject guy, -4
    DrawToImage ws //Draws world into image
        Cls
        UpdateGame
        CloneCameraPosition guy
        TranslateCamera 200,-150
        DrawGame
    DrawToScreen 
        
    DrawImage ws,0,0
    
    DrawScreen 
    
Until EscapeKey()

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 7:11 pm
by skorpioni-cb
Täytyy taas tuplapostata koska viestin editillä kukaan ei huomaa minun tätä uutta ongelmaa:
Eli joo, nyt kun hudi pelaa kuten pitää ja muuta, niin mä ihmettelen että kun mä teen aseita tyypeillä, niin miten mä saan aina eri aseelle eri patiti näkyviin, olettaen tietenkin että jokaisella aseella on eri lippaan koko ja se kuinka monta patii sulla on repussa siihen aseeseen, eli miten saan tehtyy niin että yksi ase ampuu plasmaa, toinen ampuu esim. ensiapupakkauksia(Voi jeesus kun on tullut pelattuu liikaa TF2 medicillä :D) elikkä toisin sanoen, miten voin laittaa eri tyyppejä taulukkoon ja valita mikä niistä on milloinkin aktiivinen? Sori vaikeeselkoinen kysymys, mutta en pysty kuvaamaan muuten kuin tällä tavalla

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 7:27 pm
by Awaclus
skorpioni-cb wrote:Täytyy taas tuplapostata koska viestin editillä kukaan ei huomaa minun tätä uutta ongelmaa:
Eli joo, nyt kun hudi pelaa kuten pitää ja muuta, niin mä ihmettelen että kun mä teen aseita tyypeillä, niin miten mä saan aina eri aseelle eri patiti näkyviin, olettaen tietenkin että jokaisella aseella on eri lippaan koko ja se kuinka monta patii sulla on repussa siihen aseeseen, eli miten saan tehtyy niin että yksi ase ampuu plasmaa, toinen ampuu esim. ensiapupakkauksia(Voi jeesus kun on tullut pelattuu liikaa TF2 medicillä :D) elikkä toisin sanoen, miten voin laittaa eri tyyppejä taulukkoon ja valita mikä niistä on milloinkin aktiivinen? Sori vaikeeselkoinen kysymys, mutta en pysty kuvaamaan muuten kuin tällä tavalla
Olet siis toteuttamassa aseita tähän tyyliinkö?

Code: Select all

Type aseet
    Field patin_sprite
    Field lippaan_koko
    Field panoksia_lippaassa
    Field panoksen_nopeus
    Field damage
EndType
Mikäli olin oikeassa, käytät vain jotain integeriä, joka kertoo, mitä asetta käytetään ja käyt kaikki aseet läpi ja tarkistat, onko se yhtä mones jäsen tyyppikokoelmassa kuin aiemmin mainitun integerin suuruus, ja jos ei ole, ei tehdä mitään.

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 7:31 pm
by skorpioni-cb
Chaosworm wrote:
skorpioni-cb wrote:Täytyy taas tuplapostata koska viestin editillä kukaan ei huomaa minun tätä uutta ongelmaa:
Eli joo, nyt kun hudi pelaa kuten pitää ja muuta, niin mä ihmettelen että kun mä teen aseita tyypeillä, niin miten mä saan aina eri aseelle eri patiti näkyviin, olettaen tietenkin että jokaisella aseella on eri lippaan koko ja se kuinka monta patii sulla on repussa siihen aseeseen, eli miten saan tehtyy niin että yksi ase ampuu plasmaa, toinen ampuu esim. ensiapupakkauksia(Voi jeesus kun on tullut pelattuu liikaa TF2 medicillä :D) elikkä toisin sanoen, miten voin laittaa eri tyyppejä taulukkoon ja valita mikä niistä on milloinkin aktiivinen? Sori vaikeeselkoinen kysymys, mutta en pysty kuvaamaan muuten kuin tällä tavalla
Olet siis toteuttamassa aseita tähän tyyliinkö?

Code: Select all

Type aseet
    Field patin_sprite
    Field lippaan_koko
    Field panoksia_lippaassa
    Field panoksen_nopeus
    Field damage
EndType
Mikäli olin oikeassa, käytät vain jotain integeriä, joka kertoo, mitä asetta käytetään ja käyt kaikki aseet läpi ja tarkistat, onko se yhtä mones jäsen tyyppikokoelmassa kuin aiemmin mainitun integerin suuruus, ja jos ei ole, ei tehdä mitään.
Jotenkin tuolla tavalla, kiitos mato, pitääpä tässä mennä yrittämään tekemään omia grafiikoita, että saadaan tästä eka release-versio ulos

Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 8:39 pm
by skorpioni-cb
Äh ja lisää tuplapostailua :twisted:

Mulla on ongelma, olen tallentanut kaikki lähdekoodin ja tarpeellisen median oikeille paikoilleen, mutta se herjaa ettei voi ladata objectii Media\mie.bmp tässä vielä rar kaikesta tarvittavasta jotta voitte kertoo mikä mättää , ja joo siellä on vain se tilemappi, pelihahmo ja zombie minun tekeleitä, muut coolbasickin omia medioita :D
EDIT:

Ja joo ei tartte valittaa sisennyksestä


Re: Tyhmät kysymykset (I/2011)

Posted: Mon Mar 12, 2012 8:56 pm
by Latexi95
skorpioni-cb wrote:Äh ja lisää tuplapostailua :twisted:

Mulla on ongelma, olen tallentanut kaikki lähdekoodin ja tarpeellisen median oikeille paikoilleen, mutta se herjaa ettei voi ladata objectii Media\mie.bmp tässä vielä rar kaikesta tarvittavasta jotta voitte kertoo mikä mättää , ja joo siellä on vain se tilemappi, pelihahmo ja zombie minun tekeleitä, muut coolbasickin omia medioita :D
EDIT:

Ja joo ei tartte valittaa sisennyksestä

Sinun kuva tiedostosi eivät vaikuta olevan aivan kunnossa. Oletko vaihtanut niiden tiedostopäätettä tai tehnyt jotain vastaavaa, mikä aiheuttaisi sen, että CB ei pysty avaamaan niitä? Minulla tuo lopetti valittamisen, kun avasin kuvan ja tallensin sen uudestaan siihen päälle.