Portaali:Peliohjelmointi Linuxilla
Tämän sivun tarkoitus on toimia lähtöpaikkana kaikille, jotka haluavat opetella peliohjelmointia Linux-ympäristössä. Monesti peliohjelmointiin liittyvät ohjeet ovat pelkkiä linkkilistauksiPeliohjelmointi Linuxillaa ilman tarkempaa tietoa siitä, mitä mikäkin ohjelma ja mitä eri kirjastot tekevät, tai mikä on lajityyppinsä paras ohjelma. Tässä artikkelissa pyritään antamaan mahdollisimman yleispäteviä suosituksia, joiden pohjalta oman pelin ohjelmointi olisi helpompaa. Aloitetaan!
Millainen on Linux peliohjelmoijan näkökulmasta?
Aluksi vaikeahko, mutta tämä sivu on tarkoitus helpottaa sitä.
Mitä taitoja tarvitsen visuaalisen pelin luomiseksi?
- Suunnittelu
- Ohjelmointikielen opettelu
- Kuvankäsittely
- Ääni
- Mallinnus
- Lokalisointi
Pelisuunnittelu
Kuinka pelin voi suunnitella. Piirtääkö ja hahmottelee peli-idean paperille vai käyttääkö siihen suunniteltuja ohjelmia. On pelin tekijästä kiinni mitä ohjelmia tai tapoja haluaa käyttää.
2D-peli
2D-peli on kuvattu kaksiulotteisena kuvana. Kaksiulotteiset pelit ovat kuvattu sivusta tai ylhäältä. Kaksiulotteisia pelejä ovat mm. Mari0 ja The Mana World. Mikä on isometrinen peli? Isometriset pelit kuvattu yläviistosta. Isometriset pelit kuuluvat myös kaksiulotteisiin peleihin. Isomerisiä pelejä ovat mm. Unknown Horizons.
Kaksiulotteisia pelinkehitystyökaluja
Mokoi Gaming Alchera
Mokoi Gaming Alchera on graafinen kaksiulotteisten pelienkehitystyökalu, joka sisältää SDL:n päälle toteutetut grafiikka-, ääni ja verkkokirjastot. [1]
GameEditor
GameEditor on graafinen 2D-pelikehitystyökalu. [2]
o.h.r.RPG.c.e
o.h.r.RPG.c.e on NES/SNES tyylinen 2D-pelikehitystyökalu ja roolipelimoottori. [3]
Kaksiulotteisia pelimoottoreita
Löve
Löve on 2D-pelimoottori, jota ohjelmoidaan tulkattavan Lua-kielen avulla. Peli voidaan ohjelmoida pelkkää tekstimuokkainta käyttäen. Ohjelma koodi suoritetaan komentoriviä käyttäen. Ohjelman koodi on helppolukuista ja sen oppii nopeasti. Löven pelimoottorilla voi myös tehdä 3D-pelejä, tekniikkaa kutsutaan raycastingiksi [4]. Löve:lla ohjelmoituja pelejä on muunmuassa Mari0.
FIFE
- Fife on isometrinen 2D-pelimoottori, jota ohjelmoidaan tulkattavan ? kielen avulla. [5] Fife:llä ohjelmoituja pelejä ovat mm. Unknown Horizons.
3D-peli
Kolmiulotteisia pelinkehitystyökaluja
- Syntensity on avoimen lähdekoodin 3D-peli ja pelinkehitystyökalu.
- Platinum Arts Sandbox Game Maker on avoimen lähdekoodin kaksi- ja kolmiulotteisien pelien suunnittelu ja hiekkalaatikko-ohjelma.
Kaupalliset ohjelmistot
Kolmiulotteisia pelimoottoreita
- OGRE on joustava 3D-grafiikkamoottori ja kehys, joka antaa kehittäjien tuottaa sovelluksia hyödyntäen laitteistokiihdytettyjä 3D-grafiikkaa OpenGL avulla.
- Crystal Space
- Irrlicht Engine on joustava 3D-grafiikkamoottori ja kirjasto, joka antaa kehittäjien tuottaa sovelluksia hyödyntäen laitteistokiihdytettyjä 3D-grafiikkaa OpenGL avulla.
- Lightfeather 3D
- Panda3D on 3D-grafiikkamoottori, jota ohjelmoidaan Python-kielen avulla.
Fysiikkamoottorit ja kirjastot
- Spring on 3D-fysiikkamoottori.
- Open Dynamics Engine [6] on avoimen lähdekoodin fysiikkakirjasto.
- Chipmunk Physics [7] on fysiikkamoottori ja kirjasto, jota käytetään 2D-peleissä.
- Bullet [8] on fysiikkamoottori ja kirjasto, jota käytetään 3D-peleissä.
- Newton Game Dynamics [9] on fysiikkamoottori.
- assimp [10] open asset impot library
Moduulit
- Pygame on avoimen lähdekoodin Python-ohjelmointikieleen tehty peliohjelmointi moduuli. Se sisältää SDL:n päälle toteutetut grafiikka- ja äänikirjastot.
Suomenkielistä kirjallisuutta
- Ville Vuorela - Pelin tekijän käsikirja BTJ-Kustannus 2007 (ISBN 978-951-692-661-5)
- Tony Manninen - Pelisuunnittelijan käsikirja, ideasta eteenpäin Kustannus Oy Rajalla (ISBN 978-952-5271-68-3)
Katso myös
Aiheesta muualla
- Pelitieto.net - Pelien peruskurssi
- Avoin ohjelmistokehitys - seminaari (hyviä pdf-tiedostoja aiheesta)
- sourceforge.net joka on maailman suurin avoimen lähdekoodin ohjelmistokehittäjien yhteisö.
Sivu on työn alla
Tätä sivua pyritään laajentamaan ajan kanssa. Tällä hetkellä työtä tekee lähinnä lahtis, joten apu on tarpeen.