Tyhmät kysymykset (I/2012)

Voit pyytää apua ohjelmointiongelmiin täältä.
Locked
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post by Latexi95 »

Konstaduck wrote:Jostain luin, että tällöin peli on FPS riippumaton...
Ehei... Tuolla ei ole mitään tekemistä sen kanssa.
User avatar
Jonez
Devoted Member
Posts: 575
Joined: Mon Aug 27, 2007 8:37 pm

Re: Tyhmät kysymykset (I/2011)

Post 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.
-Vuoden 2008 aloittelijan ystävä -palkinnon voittaja-
Image <- protestipelikilpailun voittaja.
Space War
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Tyhmät kysymykset (I/2011)

Post 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.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tyhmät kysymykset (I/2011)

Post by esa94 »

Eulerin metodilla on aika helppo tehdä kivasti FPS-riippumaton peli, joskin Eulerin metodi on myös kovin epätarkka.
User avatar
ItzRaines
Active Member
Posts: 211
Joined: Sat Feb 05, 2011 6:59 pm

Re: Tyhmät kysymykset (I/2011)

Post 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?
User avatar
Ilmuri
Developer
Developer
Posts: 277
Joined: Sun Aug 26, 2007 2:46 pm
Location: \o

Re: Tyhmät kysymykset (I/2011)

Post 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.
CoolBasic henkilökuntaa
Kehittäjä
CoolBasic Classic
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post 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:
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post 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.
skorpioni-cb(nyt)

Re: Tyhmät kysymykset (I/2011)

Post 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
MrMonday
Advanced Member
Posts: 378
Joined: Fri Oct 10, 2008 2:35 pm

Re: Tyhmät kysymykset (I/2011)

Post 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 :)

Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post 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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post 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
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post 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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post by skorpioni-cb »

Edit: siis ihan ihQ kun löyty hakuu käyttäen samanlainen juttu, kiitos kaikille vastanneille :shock:
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
koodaaja
Moderator
Moderator
Posts: 1583
Joined: Mon Aug 27, 2007 11:24 pm
Location: Otaniemi - Mikkeli -pendelöinti

Re: Tyhmät kysymykset (I/2011)

Post 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()
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post 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
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Tyhmät kysymykset (I/2011)

Post 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.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post 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
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Tyhmät kysymykset (I/2011)

Post 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ä

Attachments
ShootOrDie.rar
kaikki koodit ja mediat :D
(133.84 KiB) Downloaded 283 times
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tyhmät kysymykset (I/2011)

Post 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.
Locked