Hei!
Toivottavasti tämä nyt tuli oikealle keskustelualueelle.
Eli tarvitsen osaavan ohjelmoijan auttamaan peli-idean käytännön toteuttamisessa. Itse kun en osaa ohjelmoida. Mikäli idea kiinnostaa niin mukaan vain!
Olen työstänyt peliä, jonka ideana on ohjelmoida "drag and drop" meiningillä AI valvomaan "olioita". Olioilla on erillaisia parametrejä tai arvoja joiden avulla AIta pitää ohjata suorittamaan eri toimintoja.
Esimerkki scenaario: Tietyillä "olioilla" on tarttuva Disease. Tehtävänäsi on ohjelmoida AI kieltämään haluamasi toiminta, että Disease ei leviä. Esim: (DO) (NOT) (ALLOW) (CONTACT) (BETWEEN) olio´s
Tässä aika pelkistetty esimerkki ideasta. Olen tehnyt enemmänkin luovaa työtä, mutta hommaa tyssää juuri tuohon ohjelmointiin. Mitä mieltä olette? Onko tämä oikea paikka kysyä apua? Onko olemassa muitakin foorumeja? yms? Vastatkaa tähän niin mielelläni kuulen neuvoja tai kerron enemmän ideasta jos kiinnostaa.
Ps. lähteekö porukka tälläiseen mukaan kiinnostuksesta vai tarjotaanko yleensä joku komissio yms?
Yt. Kipumax
Kipumax kirjoitti:
Ps. lähteekö porukka tälläiseen mukaan kiinnostuksesta vai tarjotaanko yleensä joku komissio yms?
Yleensä ei lähde kummallakaan tavalla. Maailma on ideoita pullollaan, joten sinun pitäisi jotenkin ihmeellisesti saada perusteltua, miksi juuri tämä idea on niin hieno, että sitä kannattaisi ilmaiseksi toteuttaa. Toinen vaihtoehto on perustaa yritys ja maksaa palkkaa.
Lebe80 äskettäin linkkasikin hienon kaavion peli-idean toteutuksesta.
Kipumax kirjoitti:
Esim: (DO) (NOT) (ALLOW) (CONTACT) (BETWEEN) olio´s
Tästä jotenkin paistaa melko täydellinen suunnittelun puute tai tietämättömyys. Miten ihmeessä pelin pitäisi ymmärtää, mitä tämä AI:n ohje tarkoittaa? Olisi mahtava läpimurto, jos ohjelmointi oikeasti voisi tapahtua noin abstraktilla tasolla. Vai onko tarkoitus, että pelissä on vain hyvin pieni määrä erilaisia sanoja ja että sanojen merkitykset ovat hyvin rajoittuneet?
Tolla esimerkillä tarkoitin pelin ulkoasua/käyttöliittymää. Palikoille/komennoille olisi tietenkin ohjelmoitu selkeä funktio. Itse pelaaja ei siis tässä mielessä ohjelmoisi mitään vaan yhdistää näitä palikoita. Myöhemmin HC-modaaja/ohjelmoija voisi lisätä peliin lisää palikoita.
Esimerkiksi jos tää olis automatisoitu matopeli. Niin onhan mahdollista ohjelmoida jollekkin näppäimelle, että sitä painatessa muuttuu säännöt niin, että mato ei saa enää koskea syötävään esineeseen? Vastasinkohan kysymykseesi?
Kiitos palautteesta ja vastauksesta
Kipumax kirjoitti:
Esimerkiksi jos tää olis automatisoitu matopeli. Niin onhan mahdollista ohjelmoida jollekkin näppäimelle, että sitä painatessa muuttuu säännöt niin, että mato ei saa enää koskea syötävään esineeseen? Vastasinkohan kysymykseesi?
On mahdollista. Siinä on selvä käyttöliittymä (yksi nappi) ja selvä lopputulos (yksiselitteinen muutos pelin toiminnassa). Ehdotit kuitenkin ihan toisenlaista käyttöliittymää, jossa pelaaja valikoisi palikat DO NOT ALLOW CONTACT BETWEEN MATO AND OMENA. Lause on paljon vaikeampi tulkita kuin vain yksi napinpainallus, ja myös käyttäjän virheen mahdollisuus on suurempi. Toisaalta kovin yleispätevää moottoria näille ilmauksille ei voi helposti tehdä, joten käytännössä pitäisi ehkä vain tunnistaa, milloin lause on riittävän hyvä, ja napsauttaa sitten sitä pelin sisäistä nappulaa, joka muuttaa sääntöjä ennalta määrätyllä tavalla. Onko siis pelin ideana opetella loitsuja muutamaan valikoituun tapaukseen vai oikeasti edes alkeellisella tasolla ohjelmoida?
Peli voisi nimittäin toimia helpommin niin, että toteutettaisiin tietyssä tilanteessa ajettavia sääntöjä. Pelissä voisi olla muutama perussääntö, joiden mukaan maailma lähtökohtaisesti toimisi, ja käyttäjä voisi sitten lisätä sääntöjä tehtävän ratkaisemiseksi. Esimerkiksi liikkumisen yhteydessä perussääntä voisi olla ”kohde vapaa, liiku” sekä ”kohde ruoka, syö”, ja jos mato ei saa syödä, tehtävän ratkaisu olisi lisätä sääntö ”tekijä mato, kohde ruoka, stop” ennen syömissääntöä. Pelissä siis toteutuisi aina listan ensimmäinen sääntö, jossa kaikki ehdot täyttyvät ja päästään komentosanaan asti.
Totta, nyt kun asian noin ilmaiset niin tarkoitan ilmeisesti kahta eri asiaa. Tarkoituksena olisi siis, että käyttäjä voisi luoda lauseita. Voisiko nämä kaksi tapaa yhdistää? Eli käyttöliittymä näyttäisi muodostavan lauseita, mutta koodissa aktivoituu ennaltamäärätty kahden tai yhden sanan yhdistetty tai yksittäinen toiminta. Näin lauseen ei tarvitsisi olla täysin oikein ja käyttäjä ei ole sidottu tiettyihin loitsuihin?
Eli siis jos laittaisin yhteen sanat OLIOT ja STOP niin kaikki oliot pysähtyisivät. Entä näin: Jos jokaiselle olioillle olisi ohjelmoitu, että läheisyydessä muiden olioiden kanssa oliot alkavat jakamaan dataa tai muodostavat yhteyden. Kutsutaan tätä pientä jatkuvaa ohjelmaa kommunikaatioksi. Eli OLIOT, STOP KOMMUNIKAATIO pysäyttäisi tämän datajaon/yhteyden. Näin voitaisiin vaikka simuloida tautien leviäminen aerobisesti tai puhetta. Tällä kommunikaatiolla voisi olla muitakin vaikutuksia ja tekijöitä, mutta tässä karkea esimerkki. Voisiko ajatusta viedä vielä niin eteenpäin, että käyttäisi teoreettisesti vaikka AVOID X ja koodissa aktivoituisi että kaikki välttäisivät X tekijää tai sen syntymistä? Onko tämä perusteellista koodaamista vai onko kyse jo algoritmistä?
Aihe on jo aika vanha, joten et voi enää vastata siihen.