Fog of war
Fog of war
Ajatuksena olisi tehdä strategiapeliin Fog of War, eli näkökenttä rajoittuu tiettyyn alueeseen.. Mutta ei ole tietoa miten sen voisi toteuttaa..
Oisiko jollain vinkkejä ?
Tarkennuksena: eli näkökentän ulkopuolinen alue olisi esim. pelkkää mustaa.
Oisiko jollain vinkkejä ?
Tarkennuksena: eli näkökentän ulkopuolinen alue olisi esim. pelkkää mustaa.
Last edited by cryde on Wed Jul 02, 2008 12:26 am, edited 1 time in total.
Re: Fog of war
Katsoppa komento objectsight,jos et ole katsonut.
En voi muuten neuvoa kun en osaa:D
En voi muuten neuvoa kun en osaa:D
Huuda mun ip:tä!
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Fog of war
Olw1, hirveää postcountin kasvatusta >: D
Niin noh. Jos käytät tilekarttoja systeemissäsi, totean vain että älä käytä. Jos mennään tämäntapaisiin kikkailuihin, on, jos ei yksinkertaisempaa, niin ainakin selkeämpää tehdä oma systeemi. Ellet halua käyttää kartanmuokkauskomentoja (jolloin joutuisit käytännössä.. vaikeuksiin) Toki niilläkin homman saa hoidettua, muokkaat mustaksi näkymättömien paikkojen overlapin. Itse tosiaan tekisin karttasysteemin kokonaisuudessaan itse, pääsisi kikkailemaan samantien. Strategiapeleissä esimerkiksi isometrinen kuvakulma on aika vinkeä.
Mutta. Periaatteessa siis alussa kaikki on mustaa. Sitten tarkistetaan jokainen pelaajan yksikkö ja poistetaan mustaus sieltä, mihin ne näkevät. (If distance(musta_osa, yksikkö)<yksikön_näkömatka) Ja soli sitten siinä. Toki voit tehdä lisäksi harmaan alueen, eli kun yksikään pelaajan yksikkö ei enää näe kohtaa, siitä tehdään harmaata (yleensä joko lisätään shakkikuvio tai piirretään sama kohta tummemmilla tileillä) Silloin tällä alueella olevat vihutkaan eivät näy, joten ne pitää muistaa jättää piirtämättä. (niin, sanomattakin selvää että mielenterveyden kannalta on kovin tärkeää käyttää kuvia strategiapeleissä. tai.. niinno, mielipiteitähän nämä, en rakasta hirveästi objekteja muutenkaan)
Niin noh. Jos käytät tilekarttoja systeemissäsi, totean vain että älä käytä. Jos mennään tämäntapaisiin kikkailuihin, on, jos ei yksinkertaisempaa, niin ainakin selkeämpää tehdä oma systeemi. Ellet halua käyttää kartanmuokkauskomentoja (jolloin joutuisit käytännössä.. vaikeuksiin) Toki niilläkin homman saa hoidettua, muokkaat mustaksi näkymättömien paikkojen overlapin. Itse tosiaan tekisin karttasysteemin kokonaisuudessaan itse, pääsisi kikkailemaan samantien. Strategiapeleissä esimerkiksi isometrinen kuvakulma on aika vinkeä.
Mutta. Periaatteessa siis alussa kaikki on mustaa. Sitten tarkistetaan jokainen pelaajan yksikkö ja poistetaan mustaus sieltä, mihin ne näkevät. (If distance(musta_osa, yksikkö)<yksikön_näkömatka) Ja soli sitten siinä. Toki voit tehdä lisäksi harmaan alueen, eli kun yksikään pelaajan yksikkö ei enää näe kohtaa, siitä tehdään harmaata (yleensä joko lisätään shakkikuvio tai piirretään sama kohta tummemmilla tileillä) Silloin tällä alueella olevat vihutkaan eivät näy, joten ne pitää muistaa jättää piirtämättä. (niin, sanomattakin selvää että mielenterveyden kannalta on kovin tärkeää käyttää kuvia strategiapeleissä. tai.. niinno, mielipiteitähän nämä, en rakasta hirveästi objekteja muutenkaan)
Re: Fog of war
Ylhäältä kuvatuissa toimintapeleissä voidaan tuo näkökenttäsysteemi tehdä piilottamalla vihut ja tavarat Objectsight:illä ja kartta koko kuvaruudun peittävällä mustalla kuvalla, jossa on maskivärillä piirretty reikä keskellä. Sitten kun piirtovaiheessa kartta ja objektit on piirretty, piirretään tämä iso kuva ja käyttöliittymä sen päälle.
Tämän voisi kai periaatteessa laajentaa strategiapeliin tekemällä koko kartan kattava iso kuva ja piirtelemällä siihen maskivärillä sitä mukaa kun karttaa saa paljastettua. Isojen kuvien käsittelystä aiheutuva hidastelu saattaa tulla esteeksi tämän kanssa.
Ukkojen näköalueet voisi tehdä samalla tavalla toisen kuvan avulla, mutta sen menee jo vähän hankalammaksi.
EDIT: Nyt kun katson, niin tuossa ylempänähän selitetään täsmälleen sama asia. Oletin, että puhuit edelleen tilekartoista ja skippasin loput viestistä. :/
Tämän voisi kai periaatteessa laajentaa strategiapeliin tekemällä koko kartan kattava iso kuva ja piirtelemällä siihen maskivärillä sitä mukaa kun karttaa saa paljastettua. Isojen kuvien käsittelystä aiheutuva hidastelu saattaa tulla esteeksi tämän kanssa.
Ukkojen näköalueet voisi tehdä samalla tavalla toisen kuvan avulla, mutta sen menee jo vähän hankalammaksi.
EDIT: Nyt kun katson, niin tuossa ylempänähän selitetään täsmälleen sama asia. Oletin, että puhuit edelleen tilekartoista ja skippasin loput viestistä. :/
Re: Fog of war
Joskus aikanaan kehittelin tämmöisen tilekarttojen kanssa toimivan FOWin. Ideana on että tilesetin vasemmassa ylänurkassa (tilet 1 & 2) ovat "sumua." Tuo koodi on varmaan yli vuoden vanhaa ja aika purkkaa, mutta ei voi mitään. Epäilen kyllä suuresti, että tuo ei kauhean montaa yksikköä jaksa pyörittää.
Code: Select all
map=LoadMap("fow.til","fow.bmp")
//map=LoadMap("Media\cdm2.til","tileset.bmp")
PlayObject map,0,0,.3
For y=1 To MapWidth()
For x=1 To MapHeight()
EditMap map,1,x,y,3
Next x
Next y
ukko=LoadObject("media\soldier.bmp")
otus=LoadObject("media\cow.bmp")
PositionObject otus,200,200
Repeat
ShowObject otus,ON
If GetMap(1,ObjectX(otus),ObjectY(otus))=2 Then ShowObject otus,OFF
For y=1 To MapWidth()
For x=1 To MapHeight()
If GetMap2(1,x,y)<>3 And GetMap2(1,x,y)<>2 Then EditMap map,1,x,y,2
Next x
Next y
'avataan vähän näkökenttää
EditMap map,1,Int(objectx2(ukko,map)/32),Int(objecty2(ukko,map)/32),10
EditMap map,1,Int(objectx2(ukko,map)/32)+1,Int(objecty2(ukko,map)/32),10
EditMap map,1,Int(objectx2(ukko,map)/32),Int(objecty2(ukko,map)/32)+1,10
EditMap map,1,Int(objectx2(ukko,map)/32)+1,Int(objecty2(ukko,map)/32)+1,10
EditMap map,1,Int(objectx2(ukko,map)/32)+2,Int(objecty2(ukko,map)/32),10
EditMap map,1,Int(objectx2(ukko,map)/32)+2,Int(objecty2(ukko,map)/32)+1,10
EditMap map,1,Int(objectx2(ukko,map)/32)+2,Int(objecty2(ukko,map)/32)+2,10
EditMap map,1,Int(objectx2(ukko,map)/32)+1,Int(objecty2(ukko,map)/32)+2,10
EditMap map,1,Int(objectx2(ukko,map)/32),Int(objecty2(ukko,map)/32)+2,10
TranslateObject ukko,RightKey()*3-LeftKey()*3,UpKey()*3-DownKey()*3
CloneCameraPosition ukko
DrawGame
Text 10,10,FPS()
DrawScreen
Forever
'tämä funktio palauttaa objektin X-koordinaatin
'suhteessa toiseen ojektiin.
Function objectx2(obj1,obj2)
alpha=ObjectSizeX(obj2)/2
x=ObjectX(obj2)+ObjectX(obj1)+alpha
Return x
End Function
'tämä funktio palauttaa objektin Y-koordinaatin
'suhteessa toiseen ojektiin.
Function objecty2(obj1,obj2)
alpha=ObjectSizeY(obj2)/2
y=ObjectY(obj2)+ObjectY(obj1)-alpha
Return y*-1
End Function
Re: Fog of war
No tuo tilekartan sorkkiminen ei kyllä tiedä mitään hyvää, itse kun aikoinani tein hurjaa kauhuräiskintätkkloonia törmäsin varsin häiritsevään ongelmaan, nimittäin käyttäessä loopissa SetTile komentoa, nollaa se samalla kaikkien poimintakäskyjen tulokset :D
Strategiapelin vääntäminen tällä tavalla missä luultavasti tarvitaan kamerapoimintaa voisi olla varsin haastavaa.
Edit: Ah, onhan tuolla tuo EditMap käskykin, tiedä sitten toimiiko paremmin.
Strategiapelin vääntäminen tällä tavalla missä luultavasti tarvitaan kamerapoimintaa voisi olla varsin haastavaa.
Edit: Ah, onhan tuolla tuo EditMap käskykin, tiedä sitten toimiiko paremmin.
Re: Fog of war
Fog of War -> War of Fog ois kuvaavampi nimi
Re: Fog of war
Fog of war on kyllä ihan vakiintunut termi.
CoolBasic henkilökuntaa
Kehittäjä
CoolBasic Classic
Kehittäjä
CoolBasic Classic
-
- Moderator
- Posts: 1583
- Joined: Mon Aug 27, 2007 11:24 pm
- Location: Otaniemi - Mikkeli -pendelöinti
Re: Fog of war
Fog of War se on aina ollut. Lisäksi "sumun sota" ei ole kuvaavampi kuin "sodan sumu". IMHO.axu wrote:Fog of War -> War of Fog ois kuvaavampi nimi
Re: Fog of war
juu ois kyllä voinu pitää suuni kii kun en tiedä tämmötteest yhtään
sori
vakiintunut termi? en oo kyllä kuullukkaan
sori
vakiintunut termi? en oo kyllä kuullukkaan
EDIT:
ainiin ymmärsin muuten että pelin nimi ois "Fog of war"