cbMap - Karttafunktioita 3D-ominaisuuksilla
cbMap - Karttafunktioita 3D-ominaisuuksilla
Olin jo vanhalle foorumille lähettänyt tilekarttojen käsittelyyn tehdyn funktiopaketin.
Nyt tuo paketti on saanut ominaisuudet jolla tilekartalle voi helposti luoda 3-ulotteisia rakennuksia vanhaan kunnon GTA-tyyliin. Rakennuksia voidaan myös teksturoida.
Imuroi esimerkkiohjelma CoolTown ja kokeile!
Paketti on ollut valmis jo jonkin aikaa mutta KTE on yksinoikeudella tehnyt moottorin päälle demopelin.
Peli löytyy täältä.
Nyt tuo paketti on saanut ominaisuudet jolla tilekartalle voi helposti luoda 3-ulotteisia rakennuksia vanhaan kunnon GTA-tyyliin. Rakennuksia voidaan myös teksturoida.
Imuroi esimerkkiohjelma CoolTown ja kokeile!
Paketti on ollut valmis jo jonkin aikaa mutta KTE on yksinoikeudella tehnyt moottorin päälle demopelin.
Peli löytyy täältä.
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Näyttää erittäin hyvältä, tätä tullaan varmasti käyttämään.
No leikin tolla vähäsen ja huomasin pari asiaa:
- Ensinnäkin, talojen korkeus voi olla vain kokonaisluku, mutta se voisi yhtä hyvin olla liukuluku. Periaatteessa turha yksityiskohta, mutta ehkä joku joskus tarvii sitäkin ominaisuutta. Sen saa kuitenkin itsekin helposti muutettua.
- Hieman pahempi ongelma on se, ettei tällä systeemillä voi tehdä taloja "päällekkäin". Ajattele kahta taloa, jotka ovat esim. kulmistaan kiinni toisissaan. Tällaisia on, ja monen muunkin muotoisia. Tällä systeemillä päällekkäin olevat talot bugaavat: matalampi talo piirretään tietyissä kulmissa korkeamman päälle.
- Kolmas ja ehkä kaivattavin ominaisuus voisi olla yksittäisten rakennusten poistaminen. Uudelleenteksturointi onkin jo, joka on erittäin hyvä asia, mutta ajattele esim peliä, jossa voin hyvällä omallatunnolla sinkautella rakennuksia singolla. Jos rakennuksia voisi poistaa ja rakentaa uudelleen, saisi helposti aikaan esim. jonkinlaisen romahdusefektin. Lisäksi tämä mahdollistaisi paketille suunnatun map-editorin (siis kyllä se vieläkin mahdollista on, mutta ei "reaaliaikaisena").
Mutta loppujen lopuksi tämä on erinomainen paketti, joka vetää vertoja jopa cbNetworkille jo helppokäyttöisyytensä takia. Hyvää työtä.
Edit. Ja tästä asiasta en nyt ole varma, kun se vasta juolahti mieleen, mutta olisi hyvä jos objekteja saisi jollain tavalla piirrettyä myös talojen päälle. Tämä olisi erittäin kaivattava ominaisuus.
No leikin tolla vähäsen ja huomasin pari asiaa:
- Ensinnäkin, talojen korkeus voi olla vain kokonaisluku, mutta se voisi yhtä hyvin olla liukuluku. Periaatteessa turha yksityiskohta, mutta ehkä joku joskus tarvii sitäkin ominaisuutta. Sen saa kuitenkin itsekin helposti muutettua.
- Hieman pahempi ongelma on se, ettei tällä systeemillä voi tehdä taloja "päällekkäin". Ajattele kahta taloa, jotka ovat esim. kulmistaan kiinni toisissaan. Tällaisia on, ja monen muunkin muotoisia. Tällä systeemillä päällekkäin olevat talot bugaavat: matalampi talo piirretään tietyissä kulmissa korkeamman päälle.
- Kolmas ja ehkä kaivattavin ominaisuus voisi olla yksittäisten rakennusten poistaminen. Uudelleenteksturointi onkin jo, joka on erittäin hyvä asia, mutta ajattele esim peliä, jossa voin hyvällä omallatunnolla sinkautella rakennuksia singolla. Jos rakennuksia voisi poistaa ja rakentaa uudelleen, saisi helposti aikaan esim. jonkinlaisen romahdusefektin. Lisäksi tämä mahdollistaisi paketille suunnatun map-editorin (siis kyllä se vieläkin mahdollista on, mutta ei "reaaliaikaisena").
Mutta loppujen lopuksi tämä on erinomainen paketti, joka vetää vertoja jopa cbNetworkille jo helppokäyttöisyytensä takia. Hyvää työtä.
Edit. Ja tästä asiasta en nyt ole varma, kun se vasta juolahti mieleen, mutta olisi hyvä jos objekteja saisi jollain tavalla piirrettyä myös talojen päälle. Tämä olisi erittäin kaivattava ominaisuus.
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Rakennusten dimensiot määritellään tileinä joten siksi kokonaisluku. Katsoin sen olevan selkeämpää näin.Jonez wrote: - Ensinnäkin, talojen korkeus voi olla vain kokonaisluku, mutta se voisi yhtä hyvin olla liukuluku. Periaatteessa turha yksityiskohta, mutta ehkä joku joskus tarvii sitäkin ominaisuutta. Sen saa kuitenkin itsekin helposti muutettua.
Päällekkäisyydellä tarkoittanet intersektiota etkä korkeussuuntaista päällekkäisyyttä?- Hieman pahempi ongelma on se, ettei tällä systeemillä voi tehdä taloja "päällekkäin". Ajattele kahta taloa, jotka ovat esim. kulmistaan kiinni toisissaan. Tällaisia on, ja monen muunkin muotoisia. Tällä systeemillä päällekkäin olevat talot bugaavat: matalampi talo piirretään tietyissä kulmissa korkeamman päälle.
Jos rakennukset ovat osittain sisäkkäin niin silloin tulee kyllä ongelmia piirtämisen kanssa. Ongelman voi kiertää tekemällä ensin päärakennuksen ja sitten siipirakennuksen paloista.
Jotenkin näin:
Code: Select all
XXXXXX
XXXXXXWWWW
XXXXXXWWWW
OOOOOO
Tuo on luonnollisesti purkkaviritys ja tekstuurien kanssa joutuu kikkailemaan.
Sitten on tuo korkeussuuntainen päällekkäisyys. Sen pystyy tekemään. Taitaa olla CreateBuilding:in kolmas parametri jolla ilmoitetaan lattiatason korkeus. Normaalisti se on nolla eli maassa kiinni ja silloin systeemi lisää automaattisesti HIT-kerroksen talon alle. Jos talo on ilmassa niin pelihahmo voi kävellä sen alle piiloon.
Systeemi yrittää epätoivoisesti laskea jonkinmoista piirtojärjestystä mutta joissain tapauksissa se kusee.
Tähän tulee jossain vaiheessa päivitystä. KTE:lla oli tuossa demopelissä jo tämänkaltaisia ongelmia joten tulossa on.- Kolmas ja ehkä kaivattavin ominaisuus voisi olla yksittäisten rakennusten poistaminen.
Pitäähän vanhat talot purkaa pois kun uusi kartta ladataan.
-
- Advanced Member
- Posts: 335
- Joined: Tue Aug 28, 2007 3:55 pm
- Location: Siellä jossain
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
KIITOS KIITOS JA KIITOS!!! Nyt saa ns. 3d nopeasti. Mietin vain, että eikö tuota maan ja kameran välistä kulmaa voisi muuttaa jotenkin jolloin saataisiin vielä parempi 3d-tunnelma?
OT: Ja tein pienen ja yksinkertaisen funktion talojen lataamiseen jos ei tarvitse erinlaista tekstuuri joka sivulle.
EDIT: Ups. olihan siellä jokin "PERSPECTIVE_RATIO#". Ja toivottavasti se tarkoittaa tuota mitä haluan Paitsi laitoin vahingossa siihen tasan 5 joka taisi olla "hieman" liikaa. Kone oli jumissa joku 5 min. nyt uus yritys
OT: Ja tein pienen ja yksinkertaisen funktion talojen lataamiseen jos ei tarvitse erinlaista tekstuuri joka sivulle.
Code: Select all
Function LoadFullBuilding(building,wall,roof)
SetTexture(building,TX_ROOF,roof)
SetTexture(building,TX_LEFT,wall)
SetTexture(building,TX_RIGHT,wall)
SetTexture(building,TX_FRONT,wall)
SetTexture(building,TX_BACK,wall)
EndFunction
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee
Joku projekti meneillään... Mitähän siitäkin tulee
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Ei voi!iTKEVAnAKKI wrote:Mietin vain, että eikö tuota maan ja kameran välistä kulmaa voisi muuttaa jotenkin jolloin saataisiin vielä parempi 3d-tunnelma?
Tällä systeemillä ei ole mitään tekemistä oikean 3d:n kanssa.
Yhtään ainoaa 3d-laskukaavaa ei ole käytetty vaan illuusio perspektiivistä saadaan hyvin yksinkertaisella kertolaskulla.
Jos kameran kulmaa muutettaisiin niin silloin oltaisiin jo oikeassa 3d-maailmassa jossa pelkät illuusiot ei riitä (eikä varsinkaan cb:n tehot).
EDIT:
Juu, kannattaa säätää aika varovasti sillä pienikin muutos vaikuttaa.EDIT: Ups. olihan siellä jokin "PERSPECTIVE_RATIO#". Ja toivottavasti se tarkoittaa tuota mitä haluan Paitsi laitoin vahingossa siihen tasan 5 joka taisi olla "hieman" liikaa. Kone oli jumissa joku 5 min. nyt uus yritys
Tuo muuttaa vain perspektiiviä eikä kameran kulmaa maahan nähden.
-
- Advanced Member
- Posts: 335
- Joined: Tue Aug 28, 2007 3:55 pm
- Location: Siellä jossain
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Joo okei. Mutta kuitenkin pirun hieno Oletko kokeillut kuinka montaa taloa pystyy pyörittämään? Vai toimiiko aivan normaalisti?
Projektit:
Joku projekti meneillään... Mitähän siitäkin tulee
Joku projekti meneillään... Mitähän siitäkin tulee
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
En ole kokeillut mutta talojen määrä ei juuri vaikuta suorituskykyyn sillä piirtovaiheessa käsitellään vain näkyviä taloja.iTKEVAnAKKI wrote:Oletko kokeillut kuinka montaa taloa pystyy pyörittämään? Vai toimiiko aivan normaalisti?
Latausajat tietysti kasvavat. Suurin osa ajasta kuluu tekstuurien valmisteluun mutta systeemi osaa käyttää jo ladattua tekstuuria samankokoisissa seinissä.
Omalla koneella tuo esimerkki pyörii paikasta riippumatta täydet FPS 60.
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Ohhoh. Todella vaikuttavaa - aiheutti ihan oikeasti suurimman koskaan koetun WOW-fiiliksen CB:n parissa. Tämä on mahtavaa. Tuli hyvä inspis päälle.
Systeemi tahmaa välillä ja alkaa sitten pyöriä uudestaan sulavasti. Mistäköhän se johtuu?
Systeemi tahmaa välillä ja alkaa sitten pyöriä uudestaan sulavasti. Mistäköhän se johtuu?
Peli piirtokomennoilla - voittaja, Virtuaalilemmikkipeli - voittaja,
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Sukellusvenepeli - voittaja, Paras tileset - voittaja
Vaihtuva päähenkilö - voittaja, Autopeli - voittaja sekä
Hiirellä ohjattava peli - voittaja B)
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Jee... uutta Marcoderia
Hieno on ja käyttöön tulee. Mulla oli FPS 17.
Tulooko tämäkin CB SDK:hn?
Hieno on ja käyttöön tulee. Mulla oli FPS 17.
Tulooko tämäkin CB SDK:hn?
-
- Newcomer
- Posts: 21
- Joined: Tue Aug 28, 2007 6:54 am
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
UU uuuu! One Saintin lähdekoodi vain uusiksi. Pitää vähän tutkailla tuota kooia, jos vaikka oppisi jotain
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Loistavaa, tämähän on oikein laadukas systeemi. Kyllä minulla oli tässä kaupunki esimerkissä tasaisesti 60fps, mutta tuossa zombie pelissä oli 30 pintaan. En tiedä oliko 30fps limit tuossa, vai oliko se muuten vain raskaampi.
Life is worthless without computer.
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Mullakin tuolla toisella koneella tahmaa välillä eli ukko jähmettyy vajaaksi sekunniksi kunnes taas jatkaa kulkuaan.Harakka wrote:Systeemi tahmaa välillä ja alkaa sitten pyöriä uudestaan sulavasti. Mistäköhän se johtuu?
Tutkiskelin eri prosessien suorittimien käyttöä ja aika-ajoin joku prosessi tekee jotain. Lataa päivityksiä tai jotain. Kone on läppäri jossa Windows 2000.
Tällä koneella (läppäri XP:llä) pyörii täysin sulavasti kaiken aikaa.
Sitten on vielä yksi läppäri jossa on Vista. Tulos on kelvoton.
Aika heikko FPS! Koneen tehot ja käyttis?leonarven wrote:Hieno on ja käyttöön tulee. Mulla oli FPS 17.
Tulooko tämäkin CB SDK:hn?
SDK:n ylläpito on ollut viime aikoina aika kuralla. Pitäisi ottaa taas itseään niskasta kiinni ja tehdä asialle jotain.
KTE:n zombie-pelissä vesisade ja zombien suuri lukumäärä verottaa suorituskykyä.Kelli wrote: Kyllä minulla oli tässä kaupunki esimerkissä tasaisesti 60fps, mutta tuossa zombie pelissä oli 30 pintaan. En tiedä oliko 30fps limit tuossa, vai oliko se muuten vain raskaampi.
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Koneen käyttis on Windows XP Home Edition.Aika heikko FPS! Koneen tehot ja käyttis?
Hieno on ja käyttöön tulee. Mulla oli FPS 17.
Tulooko tämäkin CB SDK:hn?
SDK:n ylläpito on ollut viime aikoina aika kuralla. Pitäisi ottaa taas itseään niskasta kiinni ja tehdä asialle jotain.
Tehoja:
Prossua 2,66 Ghz, RAM:ia 768 ja näyttis ATI Radeon 9250
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Sanoisin että VAU!! saatan nyt muuttaakkin tekeillä olevan räiskintä pelin koodia
FPS oli 73 ja hyvin pyöri!
FPS oli 73 ja hyvin pyöri!
-
- Newcomer
- Posts: 21
- Joined: Tue Aug 28, 2007 6:54 am
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Pääsinpä nyt tuota tilesettiä ja tilemappia vähän muokkaamaan, ja täytyy sanoa, että koko One Saint menee uusiksi. Yritän vähän opetella tuota CB koodausta (typet ja funktiot pitäisi ainakin opetella). Sitten lisäilen vähän rakennuksia tuonne ja laajennan mappia pikkuhiljaa. Yritän pistää kuvaa kun on pelaaja edes jotenkin valmis.
Keep up the good work!
Keep up the good work!
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Siis WAU!!! Tää siis on jo jotain todella mahtavaa! Tuli kyllä heti vanha kunnon GTA 2 mieleen Nyt sain kyllä kunnon inspiraation täytyy varmaan omistaa viikonloppu koodaukselle ja suunnitelulle
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Uskomattoman hieno! Jonkun on pakko tehdä joku GTA-tyylinen peli tämän pohjalta.
Onko tuo miten hidas isoilla kartoilla? Kuoleman pataljoonat -pelissäni on 200 x 300 tilen kokoinen kartta, taitaa hidastua jonkin verran, jos käyttäisin tätä? Muuten kyllä voisi tehdä "3d-talot" siihen...
Onko tuo miten hidas isoilla kartoilla? Kuoleman pataljoonat -pelissäni on 200 x 300 tilen kokoinen kartta, taitaa hidastua jonkin verran, jos käyttäisin tätä? Muuten kyllä voisi tehdä "3d-talot" siihen...
-
- Newcomer
- Posts: 21
- Joined: Tue Aug 28, 2007 6:54 am
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Teen joregalis wrote:Uskomattoman hieno! Jonkun on pakko tehdä joku GTA-tyylinen peli tämän pohjalta.
Onko tuo miten hidas isoilla kartoilla? Kuoleman pataljoonat -pelissäni on 200 x 300 tilen kokoinen kartta, taitaa hidastua jonkin verran, jos käyttäisin tätä? Muuten kyllä voisi tehdä "3d-talot" siihen...
- TheDuck
- Devoted Member
- Posts: 632
- Joined: Sun Aug 26, 2007 3:51 pm
- Location: C:\Program Files\Tuusula\
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Mäkin :OMr.Demolition wrote:Teen joregalis wrote:Uskomattoman hieno! Jonkun on pakko tehdä joku GTA-tyylinen peli tämän pohjalta.
Onko tuo miten hidas isoilla kartoilla? Kuoleman pataljoonat -pelissäni on 200 x 300 tilen kokoinen kartta, taitaa hidastua jonkin verran, jos käyttäisin tätä? Muuten kyllä voisi tehdä "3d-talot" siihen...
^^
Re: cbMap - Karttafunktioita 3D-ominaisuuksilla
Itse kartan koko ei vaikuta suorituskykyyn mitenkään.regalis wrote:Onko tuo miten hidas isoilla kartoilla?
Rakennusten määrä on ratkaiseva tekijä ja siinäkin vain ruudulla näkyvien rakennusten määrä.
Huomasin pienen optimointivirheen jonka korjaan jossain vaiheessa.
Ensin määritellään rakennusten piirtojärjestys. Sen jälkeen piirretään vain näkyvät rakennukset.
Parempi tapa olisi ensin tutkia piirretäänkö taloa ylipäänsä ja vain piirrettävät rakennukset osallistuvat piirtojärjestyksen laskentaan.
Vaikutus tuskin on merkittävä mutta vaikutus kuitenkin.