Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Aiheet - TQeng

Sivuja: [1]
1
Olen kirjoitellut vuodesta 2006 alkaen, varsin hitaasti ja satunnaisesti, lähinnä omaksi ilokseni ja ohjelmointiharjoituksena tekstipohjaista roolipeliä.

Koodirivejä on tällä erää n. 6 700 ja pelin perusrunko alkaa olla kunnossa.

Ferment - Revenge of the Post-Apocalyptic Communist Ninjas on kunnianosoitus fantasiaropejen genrelle ja vähän kaikelle muullekin, tekee popkulttuuriviittauksista taidetta ja on muutenkin varsin erinomainen pieni peli. Pelin perustiedot löytyvät esittelysivulta.

On toki myönnettävä, että vajaan kolmen vuoden kehitystyön jälkeenkään peli ei ole aivan täydellinen. C++-taitoni kun rajoittuvat noin kymmeneen funktioon, joita väärinkäytän surutta. Switch-case ja do-while esiintyvät tiheään. Koodi ei ole ehkä kaunista, mutta useimmiten se toimii.

Tämän ketjun tarkoitus ei niinkään ole markkinoida tuotetta, vaan toimia interaktiivisena ohjelmointipäiväkirjana, jota satunnaisesti päivittelen, ja jossa kokeneemmat voivat joskus neuvoa ongelmissa. Tästä syystä en laittanut ketjua Pelit-alueelle.

Juoni ei ole vielä valmis, eikä pelitasapainoa ole hiottu kuin alkuvaiheen osalta. Tällä hetkellä kehityksessä prioriteettina on vapaamman liikkumismallin keksiminen - suunnitelmissa on roguelike-peleistä tuttu ascii-kartalla suunnistaminen ja tähän liittyen vielä erilliset luolastot. Ja vaikka Fermentin peruslähtökohta onkin olla teksti-RPG, pitkän tähtäimen jatkosuunnitelmiin kuuluu myös GUI:n liimaaminen päälle, kunhan joskus saan aikaiseksi opetella GUI-ohjelmointia.

Eilen "julkaistu" versio 0.0.0.29 on pikkupäivitys joka lähinnä helpottaa hieman peliä. Viimeisimmät suuret muutokset liittyvät tallennusten hallintaan ja talousjärjestelmään.

Tässä vielä työn alla olevan uuden liikkumisfunktion raakaversio, joka löytyy kyllä lähdekoodista mutta ei ole vielä käytössä. Idea on se, että kursorin paikka siirtyy numeroa painamalla tiettyyn suuntaan, johon piirretään pelaajan hahmoa osoittava kirjain. Taustagrafiikka piirretään myös joka päivityksellä uusiksi. Typerä idea, kenties? Toimii kuitenkin jotenkuten.

Koodia: [Valitse]
int mapAlt()
{
int currentchoice;
int fightornot, fightresult, fightlevel, hunterspecial=1;
int posx, posy;
system("clear");
showstats();
ruler();
cout << "                                                                 \n";
cout << "                             :::::::::PI::                       \n";
cout << "                   SE:::::::::   :    :  ::                      \n";
cout << "                   :  ::       :::    ::::::                     \n";
cout << "                   :   ::::    :      :    ::                    \n";
cout << "                   :      ::: ::      :     ::                   \n";
cout << "                   :        CK::::::::::::::::::::::KR           \n";
cout << "                   :      :: ::       :                          \n";
cout << "                   :    :::   :::::::LE                          \n";
cout << "                   :  :::     : ::                               \n";
cout << "                   : ::      :NA                                 \n";
cout << "                   ES:::::::::                                   \n";
cout << "                                                                 \n";
if (cityid == 2)
{
posx = 21;
posy = 10;
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
}
do
{
currentchoice = mygetch()-'0';
updateinfla();
switch (currentchoice)
{
case 1:
posy++;
posx--;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 2:
posy++;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 3:
posy++;
posx++;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 4:
posx--;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 5:
break;
case 6:
posx++;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 7:
posy--;
posx--;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 8:
posy--;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 9:
posy--;
posx++;
drawMap();
printf("\033[%d;%dH", posy, posx);
cout << "P";
printf("\033[%d;%dH", posy, posx);
break;
case 0:
break;
}
fightornot=(rand()%20)+1;
if (fightornot <= 3)
{
EPÄOLENNAISTA KOODIA LEIKATTU TÄSTÄ
}
else
{
EPÄOLENNAISTA KOODIA LEIKATTU TÄSTÄ
}
}while (currentchoice != 0);
mygetch();
return 0;
}

void drawMap()
{
system("clear");
showstats();
ruler();
cout << "                                                                 \n";
cout << "                             :::::::::PI::                       \n";
cout << "                   SE:::::::::   :    :  ::                      \n";
cout << "                   :  ::       :::    ::::::                     \n";
cout << "                   :   ::::    :      :    ::                    \n";
cout << "                   :      ::: ::      :     ::                   \n";
cout << "                   :        CK::::::::::::::::::::::KR           \n";
cout << "                   :      :: ::       :                          \n";
cout << "                   :    :::   :::::::LE                          \n";
cout << "                   :  :::     : ::                               \n";
cout << "                   : ::      :NA                                 \n";
cout << "                   ES:::::::::                                   \n";
cout << "                                                                 \n";
}

Jos jotakuta kiinnostaa testailla tämänhetkistä tuotetta, palaute tietysti kelpaa. Lähdekoodit löytyvät osoitteesta http://www.vaihtoehto.org/ferment.

Pelihän näyttää suurin piirtein seuraavalta:


2
Yleistä keskustelua / Jakeluhistoriasi?
« : 05.08.06 - klo:12.56 »
En nopealla vilkaisulla löytänyt vastaavaa aihetta, anteeksi jos tästä on jo olemassa ketju.

Tämä on toki Ubuntu-foorumi, joten lienee ilmiselvää että näillä foorumeilla suurin osa ihmisistä käyttää (K/X/Ed)Ubuntu Linuxia. Mutta mitä kautta päädyittekään Ubuntun käyttäjiksi? Tuliko kokeiltua muita jakeluja ennen Ubuntua, vai onko/oliko Ubuntu ensimmäinen Linuxinne? Mitä eroja distrojen välillä olette havainneet? Onko matka jatkunut Ubuntusta kenties johonkin muuhun jakeluun? Onko Ubuntu paras kokeilemanne jakelu, ja jos on, niin miksi? Kiinnostaisiko jonkin muun jakelun kokeileminen?

Aloitin tietokoneen käytön MS-DOSilla. Tämän jälkeen käytin Windowseja (95, 98, ME, XP) varsin pitkään. Ensikosketus Linuxiin oli Mandrake, nimen omaan siltä ajalta kun se vielä oli Mandrake. En erikoisemmin innostunut, tuntui vähän hankalalta ja oudolta. Varsinkin kansiorakenne ja ohjelmien asentaminen vaikutti jostain syystä omituiselta. Näin jälkikäteenkään ajatellen, eipä tuo Mandrake kovin täydellinen järjestelmä ollut, mutta varmaan suurin osa ongelmista meni oman osaamattomuuden piikkiin.

Sitten asensin ykköskoneelleni Kubuntun 64-bittisen version. Ongelmiahan se tuotti rutkasti, mutta ainakin paransi taitoja ja tietoja. Vähän ajan kuluttua siirryin suosiolla 32-bittiseen, jolloin ongelmien määrä väheni. Kubuntu tuntui Mandrakeen verrattuna melko toimivalta paketilta. Varsinkin apt-get ilahdutti, samoin kuin pakettivarastojen laajuus, ja siirryin käyttämään päätoimisesti Kubuntua.

Tämän jälkeen olen sitten kokeillut myös Debiania Etchiä ja Zenwalk Linuxia. Näistä Debian tuntui ainakin ensivaikutelman perusteella huononnetulta Kubuntulta. Live CD:eillä on tullut testattua muitakin jakeluita, ja kakkoskoneelta löytyy Fedora Core ja Arch, mutta en paljoa ole niitä käyttänyt.

Nykyään pääkäyttis on Zenwalk, jonka nopeuteen, toimivuuteen, käytettävyyteen (oikeaan, ei Gnome-, Windows- tai Mac-tyyliseen)  ja yksinkertaisuuteen ihastuin. Zenwalk lähtee täysin eri lähtökohdista kuin Ubuntu ja osoittaa, että jakelu voi olla hyvä ilman valtavaa pakettivarastoakin. Nykyään pidän Kubuntua varsin hyvänä jakeluna, jolla on heikkoutensa, kuten bugisuus. Tätä viestiä kirjoittelen Debian Unstablesta käsin. Päätin antaa Debianille uuden mahdollisuuden, joten käytellään nyt tätä jonkin aikaa ja katsotaan, olisiko tästä sittenkin johonkin. Kovin hitaalta vaikuttaa supernopean Zenwalkin jälkeen, mutta yritän olla tekemättä hätiköityjä johtopäätöksiä. Debianin vahvuus on samalla saralla kuin Ubuntussakin - paketteja on saatavilla lähes rajaton määrä. Tällä hetkellä käytössä olevilla repoilla niitä on 18 661 kappaletta.

Tällä hetkellä kiinnostavia distroja ovat PCLinuxOS ja SuSE. Vaikka siitä olenkin kuullut jälkimmäisestä paljon negatiivista palautetta, kiinnostaisi se ihan yleissivistyksen kannalta. PCLinuxOS taas kiinnostaa nimen omaan positiivisen palautteen takia. Myös Gentoota voisin kuvitella kokeilevani, eikä tietämyksen laajentaminen BSD-järjestelmienkään suuntaan olisi mahdotonta (Frenzy-nimistä Live CD:tä olen jo kokeillutkin).

Eli yksinkertaisuudeessaan reittini on siis ollut MS-DOS → Windows → Kubuntu → Zenwalk, mutta sivupolkujakin on riittänyt. Entäs teillä?

3
Ubuntu tietokoneissa / Ati-kellotussoftia?
« : 26.10.05 - klo:16.33 »
Hei, olen melko uusi Kubuntu-käyttäjä, aikaisemmat kokemukset Linuxista ovat melko vähäisä, mutta niitä on kuitenkin olemassa. Ongelma on seuraava:

Pitkällisen uurastamisen jälkeen sain Kubuntu Linux 5.10 "Breezy Badger" -käyttiksen 64-bittisessä versiossa 3D-kiihdytyksen toimintaan, vieläpä niin, että molemmat näyttöni toimivat. Valitettavasti muutaman sekunnin 3D-kokeilun jälkeen näytönohjain kaatui.

Kun hetken aikaa muisteltiin, välähti mieleen se, että softmodatussa X800 Prossani on XT PE:n BIOS. Kellotaajuudet ovat siis XT PE:n tasolla oletuksena - näitä arvoja kortti ei kuitenkaan kestä. Windowsin puolella ongelma on ratkaistu AtiToolin avulla: se käynnistyy Windowsin Startupin yhteydessä ja alentaa kellotaajuudet automaattisesti kortilleni sopiviin lukemiin (noin X800 Pron omat kellotaajuudet).

Mitenkäs homma saataisiin toimimaan Linuxin puolella? Onko (K)ubuntulle/Linuxille yleensäkään saatavilla vastaavia näyttiksen kellotussoftia kuin AtiTool? NVidiallehan noita tuntuu löytyvän, mutta entäpä Atin korteille? Uutta BIOS-flashaystä en viitsisi tehdä, onhan siinä aina pienet riskinsä, ja lisäksi levykeasema ei ole nykyään toiminnassa. Vaan onko minulla muita vaihtoehtoja?

Ja melko kattavat tiedot koneesta, jos joku niitä sattuisi tarvitsemaan, löytyvät täältä.

Kiitoksia neuvoista jo etukäteen.

Sivuja: [1]