Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Pseudokoodia 2D maailmaan

Sivun loppuun

feltsu [15.02.2010 14:00:45]

#

Niin elikkä mitenkäs pseudokoodina vois toteuttaa tän näköisen maailman?

Tossa kuva mitä pitäis näyttää:
http://www.consoleclassix.com/info_img/Shining_in_the_Darkness_GEN_ScreenShot4.jpg

Ja tossa vähän videokuvaa miltä liikkumisen tulis näyttää:
http://www.youtube.com/watch?v=_O_09fZjJHA­&feature=related

Mietin et oisko semmonen systeemi mahdollista, että ois joku tekstitiedosto, mistä se lukis merkkejä ja niiden mukaan sitten piirtäis sitä maailmaa vai häh?

Eli jos ois vaikka Nethackin kartan näkönen tekstitiedosto esim:

+-----------------+
|.................|
|......+----------+
|......|
|......+----------+
|.................|
|.................|
+-----------------+

Niin oisko se toteutus sitten jotenkin että kaikki noi pisteet tuossa kartassa muutettais kuviksi missä näkyis pelkästään lattia ja katto ja noi viivat tuossa muutettais sitten kuviksi missä näkyis seinä..? Vai oonko ihan hakoteillä tän touhun kanssa, yksityiskohtia esim kuinka monta askelta eteenpäin näkee jne niin voi miettiä sitten myöhemmin, mutta tuommoisen toteusidea ois ihan kiva jotenkin saada aikaseksi.. Niin ja oon siis itse päätellyt että tuo ois 2D maailma, eikä 3D oonko ihan väärässä? Oon saanu sen käsityksen, että jos kuvataan hahmon silmistä niin se ei välttämättä tarkoita sitä että pelis ois 3D

Mutta semmoista tällä kertaa toivottavasti joku osaa auttaa jollakin tavalla ja jos jotain sattuu kiinnostaa niin koodauskielenä käytän Visual Basiccia (6 tai .NET en oo viel päättäny) tietty jos joku osais suositella toista kieltä millä ton vois toteuttaa helpommin niin ideoita otetaan vastaan..

-Feltsu

Zeeli [15.02.2010 14:17:47]

#

Yksi mahdollisuus olisi ray casting

Metabolix [15.02.2010 14:25:18]

#

Eihän niitä voi suoraan muuttaa "kuviksi, joissa näkyy...", kun seinät ovat eri etäisyyksillä ja eri kulmista nähtyinä erilaisia.

Jos haluat, että hahmo voi katsella ympärilleen vapaasti (eikä vain 90 asteen kulmissa), joudut piirtämään maailman 3D:nä. Siitä huolimatta voit tallentaa tasot tuossa formaatissa; päätät vain merkin perusteella, piirretäänkö lattia (neliö vaakatasossa) vai seinä (kuutiosta neljä näkyvää sivua. Itse peli voi yhä toimia 2-ulotteisesti.

Seinän suunnalla (- vs. |) ei ole merkitystä, koska eihän seinää voi koskaan nähdä sisäpuolelta. Siksi on helpompi merkitä kaikki (samanlaiset) seinät samalla merkillä, esim. #.

feltsu [15.02.2010 14:47:23]

#

Joo no tarkotus ois tommonen 90 asteen kulmat, koska se vissiin ois helpompi toteuttaa ja vaikka ei olisikaan niin silti, haluun semmosen old-school meiningin..

vehkis91 [15.02.2010 14:48:16]

#

c++ + opengl, ois aika helppo tehdä, tietenkin olettaen, että osaa c++. :)

feltsu [15.02.2010 15:06:01]

#

No kyllä mä jonkun verran tuota c++:aa osaan, mut en ehkä ihan tarpeeks et lähtis joku tommonen, varsinkin kun opengl:stä en tajuu hölkäsen pöläystä, enkä kait oo löytäny suomenkielistä opasta, ainakaan sellasta missä opetettais pelintekoa jotenkin kivasti :) Mut jos löytyy niin kerrohan ihmeessä! Vai oliko putkan c++ matopeli opengl:ää?

EDIT: Joo toi matopeli käytti SDL:ää.. Höh :(

ZcMander [15.02.2010 15:56:42]

#

Itse suosittelen seuraavaa kirjaa, jos haluaa oppia OpenGL:lää peliohjelmoinnissa. Kirja on kohtalaisen vanha, mutta silti perusteet pitää silti hyvin paikkansa, mutta uusimpia tekniikoita kirja ei kata.

http://books.google.com/books?id=qRPrrWidZCoC­&printsec=frontcover&dq=opengl&ei­=SlF5S9a5CI62ywSUm_CjDw&hl=fi&cd=9#v=onepage&q=&f=false

Deffi [16.02.2010 22:35:19]

#

Suomipelit.comista löytyy jonkinlainen suomenkielinen OpenGL-opas. Opas käsittelee vain perusteita, mutta kaipa sillä alkuun pääsee. Joka tapauksessa karu totuus on, että ilman englantia et tule pärjäämään.

feltsu [17.02.2010 09:27:29]

#

Kyllä mulla englanti yleisesti ottaen sujuu (teenhän siitä pelistäkin englanninkielisen), mut semmosen jutun oon huomannu, et jos jotain oppaita englanniksi lukee (varsinkin asioista mistä en tajuu paljoakaan, esim opengl) niin tykkää mennä sormi vähän niinku suuhun :( Mut pitää varmaan lueskella ja ihmetellä..

Pampi [18.02.2010 15:07:58]

#

Tee sillä, mikä kiinnostaa ja tuntuu helpolta. Esim. suomalainen CoolBasic. Mielestäni turha yrittää tuossa vaiheessa vielä C++:ssan tasosta kieltä, jos muutenkin haluaa koodata vain koodaamisen ilosta.

Tosin tietysti se on ihmisestä kiinni, mikä on helppoa ja mikä ei, mutta jos ei halua heti alussa lannistua, kannattaa (edelleen, tämä on vain minun mielipide, en halua aloittaa uutta kielisotaa..) valita joku helpompi kieli jotta voi keskittyä aluksi itse ohjelmointiin ja sen perusteisiin.

Edit. oho, taisin ymmärtää aiheen väärin, luin aloituspostin vain pikaisesti ja osan C++ssaa ehdottavista kommenteista...:)

Metabolix [18.02.2010 17:42:07]

#

Pampi on kyllä aivan oikeassa siinä, että ei kannata valita C++:aa noin kevein perustein. Mikään ei estä toteuttamasta peliä VB:llä (suosittelen mieluummin VB.NETiä). Harjoitusmielessä voisi olla mielenkiintoista toteuttaa esimerkiksi ehdotettu ray casting -algoritmi Wolfenstein 3-D:n tyylillä. Suunnittelemaasi ruutupohjaiseen maalimaan kyseinen algoritmi nimittäin sopii erinomaisen hyvin, kun taas OpenGL on aika tylsä perusratkaisu.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta