FAQ - eli usein kysytyt kysymykset

 

1. Millä ohjelmilla / ohjelmointikielillä tekemäsi ohjelmat on tehty?

Kaikki tekemäni ohjelmat on tehty C\C++ kielellä, itse asiassa ne ovat 90% puhdasta C koodia. Vain C++:sa olevia piirteitä on käytetty hyvin vähän.
Useimmat projekteistani on käännetty ilmaisella LCC-WIN32 kääntäjällä ja loput niin ikään ilmaisella DEV-C++ kääntäjällä.

3D mallien tekoon olen käyttänyt "Milk Shape 3D" ja "3D Studio max" ohjelmia ja kuvat/tekstuurit on piirretty käyttäen "Paint Shop Pro" ohjelmaa.

 

2. Kuinka tietokonepelejä tehdään?

Tietokonepelit (kuten myös konsolipelitkin) ovat aivan tavallisia tietokoneohjelmia. Tietokoneohjelma puolestaan on lista käskyjä, joita tietokone sokeasti suorittaa. Aivan samoin kuin esim. muusikko soittaa nuoteista tai kokki tekee ruokaa noudattamalla reseptiä. Ainoana erona on, että tietokoneohjelma ei jätä tietokoneelle tulkinnan varaa.

Koska tietokone on hyvin yksinkertainen kapistus (siis muusikkoon tai kokkiin verrattuna) täytyy sille tarkoitettu ohjelma olla kirjoitettu ainoalla tietokoneen ymmärtämällä kielellä, konekielellä. Vaikka konekieli onkin varsin yksinkertainen, on siinä ihmisen kannalta muutama pulma. Ensinnäkin se koostuu sarjasta ykkösiä ja nollia. Toiseksi yhdellä konekielen käskyllä saadaan aikaan mitättömän vähän; tarvitaan useita konekielen käskyjä, jopa yksinkertaisen yhteenlaskun aikaansaamiseksi. Konekielinen ohjelma voisi näyttää esim: tältä:

1101011010110010 0001111010100011
1101011110111111 1111010110101010
0000101010010000 0001111010100011

Siis sattuman varaiselta näyttävä jono ykkosiä ja nollia. Koneelle jokaisella sarjalla ykkösiä ja nollia olisi kuitenkin oma merkityksensä. Ihmisen taas on hankala erottaa toisistaan, saatikka opetella tällaisia sarjoja.

On siis selvää että tarvitaan parempi tapa tehdä tietokoneohjelmia. Parempi tapa olisin jos ohjelmat voitaisiin kuvailla esim. suomen tai englannin kielellä ja sitten kääntää lopputulos konekiellelle. Valitettavasti puhuttujen kielien ja konekielen eroista johtuen esim. suomen kielen kääntäminen konekielle olisi mahdoton urakka. Tämän takia on kehitetty kompromissiksi, niin sanottuja korkeamman tason ohjelmointikieliä. Ne ovat tarpeeksi lähellä konekieltä, jotta kääntäminen konekielelle voidaan tehdä automaattisesti erillisellä kääntäjäksi kutsutulla ohjelmalla ja tarpeeksi lähellä ihmisten käsitysmaailmaa, jotta ohjelmien kirjoittaminen niillä olisi mielekästä. Tällaisia kieliä ovat esim. Fortran, Pascal, C, C++ ja Java. C-kielinen ohjelma voisi näyttää esim. tältä:

#include <stdio.h>
int main(void)
{
printf("Hello World!");
}

Edelleenkin aika kryptisen näköinen, mutta huomattavasti miellyttävämpi, kuin ykkösista ja nollista koostuva konekielinen esimerkki. Esimerkki ei tietenkään toimi tuollaisenaan vaan se on ensin käännettävä C-kääntäjällä konekielelle. Nykyisin suurin osa peleistä kirjoitetaan C++ -kielellä. C++ kieleen voit tutustua esim. osoitteessa: http://www.nic.funet.fi/c++opas/ .

 

3. Voinko saada ohjelman X lähdekoodin?

Jos aijon jaella jonkin projektin lähdekoodia, niin se tulee projektin mukana. Jos ei, niin en lähdekoodia muutenkaan jaa. Asia on loppuun käsitelty.

 

4. Peli X ei toimi. miksi?

Tarkista, että koneesi täyttää minimi laitevaatimukset. Jos näin on ja peli ei siltikään toimi, niin lähetä minulle sähköpostia, jossa kerrot toimimattoman ohjelman nimen ja version, koneesi tarkan kokoonpanon, tarkan kuvauksen aiheutuneesta virheestä ja mahdolliset virheilmoitukset, niin yritän ratkaista ongelman.

 

5. Mistä voin imuroida tuon pelien vaatiman OpenGL:n?

OpenGL tulee jokaisen OpenGL-yhteensopivan näytönohjaimen "mukana". Kaikki vähänkin uudemmat näytönohjaimet tukevat OpenGL:ää. On tosin suositeltavaa, että päivität näytönohjaimeesi uusimmat ajurit. Jos näytönohjaimesi ei ole OpenGL-yhteensopiva, voit imuroida netistä MESA:n software ajurit, joilla pelit toimivat ilman OpenGL-yhteensopivaa näytönohjainta, tosin yleensä pelikelvottoman hitaasti.

 

6. Onko pelistä X olemassa Linux/Mac versiota?

Mistään tekemästäni pelistä ei toistaiseksi ole olemassa Linux tai Mac versiota. Tosin suunnitelmia Linux ohjelmien tekoon on.

 

7. Mistä voin imuroida pelin X vanhemman version?

Minulla on käytössä hyvin niukalti palvelintilaa, joten en säilytä vanhoja versioita, mutta voit ehkä löytää niitä etsimällä Internetistä. Ainakin MBnetissä näyttää olevan JAWC pelin vanhemmat versiot.

 

8. Mitä tapahtui näillä sivuilla aikaisemmin olleille piirtämillesi sarjakuville (ja animaatioille)?

Ne on ainakin toistaiseksi poistettu palvelintilan säästämiseksi.