Olen ollut tekemässä peliä jo jonkin aikaa ja nytten mietin että miten kartta kannattaisi toteuttaa kun grafiikan teen directx 8:silla? ja onko jotain erityis vinkkejä peliini kun se on vähän simsin tapainen? ja miten tuo sourcesafe toimii?
Jos se on joku manageripeli tms. niin panosta sisältöön karkkiulkoasua enemmän.
voisin sanoa että unohda koko juttu... mutta koska en tiedä miten paljon osaat en sano (tai no sanoin jo mutta)
Katso seuraava osoite
http://www.gamedev.net/
ja DirectX SDKn mukana tulevat esimerkit
olen koodannut visual basicillä kauan mutta ainoa ongelma on tuo että en tiedä miten kartta olisi viisain toteuttaa ja miten siitä voi lukea...
Eiköhän kaksiulotteinen taulukko ole sille kartalle paras vaihtoehto, jos kerran Sims-tyylinen on tulossa.
Tai yksiulotteinen taulukko, jota käytetään kaksiulotteisesti. Mutta itse kysymykseen vastaamista kyllä helpottaisi, jos tietäisi millaista karttaa haetaan takaa: sen kun voi loppujen lopuksi toteuttaa tuhannella eri tavalla.
Kuvia Googlesta...
http://www.wargamer.com/reviews/
http://merri.net/settlers2/spirale.png <- Settlers II -tyyli
http://home.ural.ru/~shabun/games/map.gif <- TTD-tyyli
http://www.civfanatics.com/images/civ2/scen/
Vaikea löytää karttaikkunoista mallia... eli tulee lähinnä nimeltään tuttujen pelien karttoja ja nämäkin kaikki maanosakarttoja. Karttaan vaikuttaa se, kuinka tarkka sen täytyy olla, toteutetaanko se 2D:nä vai 3D:nä, mitä kaikkea siinä haluaa näkyvän...
Cc kirjoitti:
olen koodannut visual basicillä kauan mutta ainoa ongelma on tuo että en tiedä miten kartta olisi viisain toteuttaa ja miten siitä voi lukea...
No sitten ne se on eri asia :)
Kartta tiedostoon vai ihan peliin? kannattaa tallentaa niin että on käsin luettavaa esim
(Civilization)
Version=11 BeginGame Calendar=CALENDAR_DEFAULT GameTurn=0 StartYear=-4000 EndGame BeginTeam Tech=TECH_THE_WHEEL Tech=TECH_AGRICULTURE EndTeam [...] BeginPlayer LeaderType=LEADER_HATSHEPSUT CivType=CIVILIZATION_EGYPT Team=0 PlayableCiv=1 StartingX=69, StartingY=37 Handicap=HANDICAP_NOBLE EndPlayer [...] BeginMap grid width=124 grid height=68 wrap X=1 wrap Y=0 top latitude=90 bottom latitude=-90 world size=WORLDSIZE_HUGE climate=CLIMATE_TEMPERATE sealevel=SEALEVEL_MEDIUM num plots written=8432 EndMap ### Plot Info ### BeginPlot x=0,y=0 FeatureType=FEATURE_ICE, FeatureVariety=0 TerrainType=TERRAIN_OCEAN PlotType=3 EndPlot BeginPlot x=0,y=1 FeatureType=FEATURE_ICE, FeatureVariety=0 TerrainType=TERRAIN_OCEAN PlotType=3 EndPlot [...]
Ajattelin kartasta Medieval Total War tai TTD:n (mutta tarkempaa) näköistä siinä ei tarvitsisi näkyä kuin rakennukset, tiet ja jotain muita perusjuttuja.
Siinä tapauksessa ensin sinun täytyy kerätä jostakin kohtaa koordinaatit maastosta: mitä enemmän tietoa, sen tarkempi (ja isompi) kartta. Tulet toimeen varmasti byte arraylla, johon voit kikkailla joko kahdeksan eri arvoa, jotka voivat olla kukin yhtä aikaa päällä (eli bittejä säätämällä) tai sitten 256 arvoa, mutta vain yksi arvo voi olla päällä kerrallaan. Koska et ehkä ole kovin suurissa väleissä bittien kanssa, niin tässä hieman mallia:
' aseta tavuun kolme bittiä päälle Tavu = 1 Or 16 Or 64 ' yksinkertainen if-lauseke, joka testaa onko bitti päällä If Tavu And 4 Then MsgBox "Bitti 3 on päällä." If Tavu And 16 Then MsgBox "Bitti 5 on päällä."
Nuo numerot ovat siis sarjaa 1, 2, 4, 8, 16, 32, 64 ja 128, eli yksittäisiä bittejä. Itse tosin yleensä käytän heksamuotoisia vastineita, eli &H1, &H2, &H4, &H8, &H10, &H20, &H40 ja &H80.
Takaisin pääaiheeseen... asettamalla vaikka tietylle bitille tai luvulle tietyn merkityksen voit sitten määrittää, mitä kartan kohdasta löytyy ja lopulta piirtorutiinissa päättää, mitä piirretään. Humm... saa jäädä tähän, en väsyneenä viitsi vaivautua enempää. Nukkumaan.
Lisää bittinypläyksestä: https://www.ohjelmointiputka.net/koodivinkit/
miten tuon ukon liikuttaminen kannattaisi toteuttaa silleen että se liikkuu ylöspäin nuolella siihen suuntaan missä kasvot on ja alaspäin nuolella kääntyisi 180 astetta?
Aluksi sanoit, että ei ole muuta ongelmaa kuin kartan toteutus. Takaisin opettelemaan vain.
Tee vaikkapa niin, että kun painetaan ylösnuolta, niin liikkuu sinne päin, minne kasvot osoittavat, ja kun painetaan alasnuolta, niin käännetään 180 astetta. Ei sitä paljon sen tarkemmin voi sanoa. Sanoisin, että turha haaveilla kunnon pelin teosta, jos ei tuota osaa toteuttaa.
Oisko sulla mitään exe:ä?
Jospa sen antaisit..niin voi päätellä minkä tapaista haet
Aihe on jo aika vanha, joten et voi enää vastata siihen.