data dirs renamed
[k8-i-v-a-n.git] / Doc / Work / HexWork.txt
blob59e2aeb259bce38acd87aeb3faf692e0b26ffc3a
1 Pakkausalgoritmi
2 Savefilet nousee nykyään kymmeniin megoihin, maailmankartan levelittämisen
3 jälkeen satoihin. Onneksi hexaeditointi osoittaa joidenkin savejen tavujen
4 (esim. 0 ja 255) ja eräiden niiden ryhmien (esim. transparent color =
5 0xF81F) olevan hyvin toistuvia. Tee pakkausalgoritmi, joka hyödyntää tätä.
6 Kovin monimutkainen sen ei tarvitse olla, koska senhän pitää yhtä aikaa
7 olla nopea (ehdotan, että autosaveja ei kuitenkaan pakata, vaan vain
8 levelistä ja gamesta poistettaessa tehdyt). Esimerkiksi voit tehdä
9 taulukon käytetyistä tavuista ja yhdistelmistä ja korvata ne lyhyemmillä
10 bittijonoilla ja/tai käyttää niihin RLE-pakkausta. Luulen, että std::map/
11 std::set voi olla hyödyllistä muistuttaa mieleen. FeLibin tiedostoluokkien
12 käyttö on mahdollista, muttei pakollista, koska pakkaus on erillinen
13 toimitus. Voit tehdä omaan ohjelmaan testin tai rakentaa suoraan
14 savesysteemiin.
16 Nimigeneraatioalgoritmi (copypaste viime vuoden assignmentista)
17 Tätä varten luot erillisen ohjelman nimeltä Intelligent Random Imitation
18 Name Assembler (IRINA), joka analysoi tiedoston, jossa on nimiä ja luo
19 niiden perusteella databasen, jonka avulla voi nopeasti luoda lisää
20 samankaltaisia. IVAN sitten lataa tuon databasen. IRINAn kannattanee pystyä
21 myös tulostamaan noita uusia nimiä suoraan kehotteeseen, jotta voit testata
22 tuota ennen IVANiin liittämistä. Algoritmit saat päättää itse, mutta jos et
23 parempaa keksi niin ehdotan Markovin ketjuja, eli tietty kirjain seuraa
24 tiettyä N kirjaimen jonoa aina tietyllä todennäköisyydellä, ja N on
25 käyttäjän antama tai ehkä satunnainen. Databasen luominen saa olla miten
26 hidasta vain, mutta sen lataaminen ja nimien tuottaminen siitä on syytä olla
27 kohtuullisen tehokasta. Pääalgoritmit pitäisi tulla FeLibiin jotta molemmat
28 ohjelmat pystyy käyttämään niitä.
30 16x16 -> 32x32 tilekonvertoija
31 Erillinen commandlineohjelma, joka muuntaa 256-värisen pcx-kuvan neljä
32 kertaa isommaksi ja smoothaa syntynyttä tiedostoa. Voit käyttää felibin
33 rawbitmap-luokkaa ja sen tallennus- ja latausrutiineja jos et parempia
34 tiedä. Minkäänlaista eleganttiutta ei tarvita, koska rutiini on ilmeisen
35 kertakäyttöinen.