Joo ensiks pyydän anteeksi kaikkia törkeyksiäni. ja sitten asiaan miten tehtäis ohjelma joka ensin lataa yhdestä tiedostosta kentän ja toisesta tiedostosta hahmon ja kolmannesta kerättävät tavarat.
Otsikoksi olisit voinut keksiä vähän kuvaavamman. Ja tuohon kysymykseesi on hankala vastata; normaalilla file I/O:lla voit lukea tiedostoja, mutta koska et sanonut mitä tiedostomuotoja käytät, on vaikea vastata.
Eli toisin sanoen, binaari, vai ASCII, vai mikä?
Lisäksi mikähän on kieli?
Kun kysymys on tällä alueella, se voi olla joko C:tä, C++:aa tai Delphiä.
C/C++:alla tämä onnistuu esim. fstream.h kirjaston avulla.
Siis oon anim8or ohjelmalla tehnyt kentän hahmon ja kerättävät asiat ja käytän kielenä on delphi.
Kantsii exporttaa objektit vaikka 3d studio maxin käyttämään muotoon (kuten .3ds) sillä varvempi ohjelmointikieli tai -ympäristö tukee anim8orin omaa formaattia :)
Eli objektimuokkaimesta muistaakseni object-valikosta export.
Hmm...
Vilkaisepa vaikkapa tätä ja kerro oletko vähän samoilla jäljillä...
Minäkin olisin halunnut aloittaa ohjelmoimalla Quake III:n ja Morrowindin...
1. Jos olisit oikeasti sillä tasolla, että osaisit käyttää ohjelmissasi 3D-malleja, et taitaisi olla kysymässä, miten ne avataan ohjelmaan. (Vilkaisin aiempia kysymyksiäsi ja topiccejasi, ne vahvistavat asian.)
2. Delphin tuki 3D:lle on toistaiseksi melko niukka; DelphiX DirectX:lle ja jokin OpenGL-kirjasto varmaankin.
3. Delphi ei ole kieli, se on ohjelmointiympäristö Pascalille.
4. Voin kokemuksesta kertoa, että isomman pelin tekemiseen Delphi ei ole kaikkein paras valinta. Hyötyohjelmia sillä sen sijaan saa paremmin tehtyä.
Metabolix kirjoitti:
3. Delphi ei ole kieli, se on ohjelmointiympäristö Pascalille.
Object Pascalille. Nillitystä;)
[offtopic]
Mutta onhan se Object Pascalkin yksi Pascal...
[/offtopic]
No oikeestaa en teen vain peliä jossa hahmo kerää asioita eri ympäristöissä. Ja sitä paitsi satun tietämään ettein delphi ole kieli vaan bordlandin tekemä ohjelma, jolla voidaan ohjelmoida object pascal kieltä. Niin ja mä muuten tiedän myös että ohjelmia ei voi tehdä ilman kääntäjää.
lainaus:
4. Voin kokemuksesta kertoa, että isomman pelin tekemiseen Delphi ei ole kaikkein paras valinta. Hyötyohjelmia sillä sen sijaan saa paremmin tehtyä.
No kyllä noinkin voi sanoa mutta Delphilläkin on aivan samat lähtökohdat ohjelmaohjelmointiin kuin muillakin ohjelmilla. Sen Drag'n'Drop ympäristö on vain tarkoitettu hyötyohjelmille mutta sitähän ei ole pakko käyttää.
Maalari: Sinulla kuulostaa olevan ongelmaohjelmoijan ongelmaohjelman ohjelmointiongelma.
[offtopic]
Janezki kirjoitti:
No kyllä noinkin voi sanoa mutta Delphilläkin on aivan samat lähtökohdat ohjelmaohjelmointiin kuin muillakin ohjelmilla. Sen Drag'n'Drop ympäristö on vain tarkoitettu hyötyohjelmille mutta sitähän ei ole pakko käyttää.
Delphistä ei suoraan löydy mahdollisuutta hylätä tuo ihana Drag'n'Drop-ympäristö; täytyy melkein valita Console Application ja tietää täsmälleen, mitä tekee jotta saa luotua ikkunan ja WndProcin niinkuin normaalissa C++-ohjelmassa. Tässä vaiheessa ollaankin jo aika kaukana Delphin eduista Dev-Pascaliin ja Free Pascaliin verrattuna.
[/offtopic]
PS. Mukava keskustelunaihe, tehdäänkös uusi topicci ihan tätä varten?
Ja Maalarille:
En millään pahalla tuota tarkoittanut, vaan ihan siltä kannalta, että 3D-ohjelmointi tosiaan on vaikeaa, kannattaa siis aloittaa helpommasta.
Metabolix kirjoitti:
Mukava keskustelunaihe, tehdäänkös uusi topicci ihan tätä varten?
Ei taida kannattaa kun kysessä on paljolti mielipiteellinen asia. Onhan näitä mielenkiintoista pohdiskella niin kauan kun keskustelu ei muutu 'nyrkkitappeluksi'.
Mutta faktana vielä että teen itse pelejä Delphillä eikä mitään valittamista.
Kannattaa tosiaan käyttää sitä ohjelmointikieltä, josta itse tykkää ja jolla saa parasta jälkeä aikaan.
Janezki kirjoitti:
Mutta faktana vielä että teen itse pelejä Delphillä eikä mitään valittamista.
Mutta et taida käyttää Drag'n'Droppia? Sehän on se, joka varsinaisesti erottaa Delphin noista muista... Käytän minäkin Delphiä Console-systeemeissä (esim. tuo ristinolla-kilpailu), mutta en sanoisi tekeväni niitä Delphillä, koska sama koodi kääntyisi kuitenkin muillakin Pascal-kääntäjillä...
Käytän yleensä lomaketta tai TpaintBoxia piirtopohjana enkä mitään muita komponentteja.
Kiinnostaisi tietää, millaisia pelejä ja mitä käytät timerina?
Taidanpa laittaa oman ThdTimerini tuonne Koodivinkkeihin
En ole tähän mennessä tehnyt pelejä missä olisi tarvinnut hirveästi Timeria. Tuohon palikkapelikilpailuun osallistuin Shangai-nimisellä pelillä. Nyt olen tekemässä riekonmetsästyspeliä ja kuten kaikki muutkin täällä; roolipeliä, tai oikeastaan moottoria ja myöhemmin peli. Aika paljon pitänyt perehtyä canvasiin ja kuvankäsittelyyn.
Tuo Timerin käyttö on vähän hankala juttu ainakin Delphissä.
Itse olen tullut ainakin Visual Basicissa siihen tulokseen, etten juuri tarvitse Timereita. Saan ne aina korvattua helposti tavallisella luupilla, jonka sisälle vain pistetään DoEvents sopivaan väliin. En vain tiedä, miten tuo DoEvents tehtäisiin Pascalilla.
Edit: Oikeastaan Timerin käytöstä tuppaa koitumaan vain harmia. Mitään tarkistuksia niihin esimerkiksi ei pidä laittaa.
Tämähän "kuuluu" toteuttaa GetTickCount()-funktiolla, ja yhdellä LongWordilla, jolloin nähdään kauanko on aikaa kulunut ja jos on kulunut yhden framen verran, käydään kaikki tekoälyt ja muut läpi... Tein juuri oman tetris-kloonin (vei ~3h) ja nyt ymmärrän peliohjelmointia paljon syvällisemmin :D (Oli tosin C++, mutta osaisin Pascalillakin.)
Jotain tällaista voin muuten maalarillekin suositella...
Minkä arvon tuo GetTickCount() palauttaa? Sekunnit keskiyön jälkeen vai...?
Se palauttaa millisekunnit tietokoneen viimekäynnistymisestä.
Ediit: Äh se olikin milli ei mikro
hunajavohveli kirjoitti:
En vain tiedä, miten tuo DoEvents tehtäisiin Pascalilla.
Application.ProcessMessages hoitaa homman.
Aihe on jo aika vanha, joten et voi enää vastata siihen.