Yhteisprojekti

Etsitkö tiimiä tai etsiikö tiimisi jäseniä?
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Yhteisprojekti

Post by Viltzu »

Oho, mites mää sain 11 O_O Lol, mutta nyt laskettuna oikein tuli 7 ;D

Code: Select all

Galgoneer  9
Viltzu     7
Chaosworm  2,25
Mut laitetaas nyt toi lista meneen? :D
EDIT:

Ei lol, tajusin miten sain 11 pistettä.. Pysyköön se salaisuutena xD

User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: Yhteisprojekti

Post by Jare »

Galgoneer wrote:
Jare wrote:CoolBasicista puuttuu Continue-komento For-lenkeistä, jonka korvaajaksi goto on mielestäni mainio keino. Toki ehtolauseella saadaan tämäkin aikaan, mutta goto säästäisi ylimääräiseltä If:ltä ja näin ollen myös ylimääräiseltä sisennykseltä.
Mieluummin kirjoitan ylimääräisen iffin, kuin luovun FVD:stä, sillä FVD tulee varmasti auttamaan useissa kirjoitusvirheiden metsästyksissä. Onhan totta, että Continuen korvaajaksi goto sopii kivasti, mutta kun otamme huomioon sen tuomat haitat verrattuina etuihin, niin FVD taitaa tuoda enemmän etua verrattuna Goton käyttöön
Totta kyllä. Uskon kuitenkin, että ongelmilta vältyttäisiin vielä paremmin, jos meillä olisi CoolBasicin kääntäjää tehokkaampi työkalu virheiden etsimiseen.
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: Yhteisprojekti

Post by Dande »

Jare wrote:Totta kyllä. Uskon kuitenkin, että ongelmilta vältyttäisiin vielä paremmin, jos meillä olisi CoolBasicin kääntäjää tehokkaampi työkalu virheiden etsimiseen.
Niin, tai jos meillä olisi kieli, jolle on jo olemassa paremmat virheiden etsintä työkalut, mutta se veisi hieman tämän projektin ideaa. Toki jos joku jaksaa kehittää hyvän ja tehokkaan työkalun, niin tulisihan se varmaankin käyttöön. Ongelma vain on, että sellaista ei ole tällä hetkellä olemassa. Ja mikäli sellaista ruvettaisiin kehittämään, niin voitaisiin unohtaa tämä projekti, sillä sen valmistumisessa saattaisi mahdollisesti kestää.

BTW: Jonhu editoi viestiinsä edelliselle sivulle oman taitoarvionsa, joten tuo "uudistettu" lista on nyt siis:

Code: Select all

Galgoneer  9
Viltzu    7
Chaosworm  2,25
Jonhu 7,5
Tuxu
Member
Posts: 81
Joined: Tue Oct 14, 2008 5:54 pm
Location: Jyväskylä
Contact:

Re: Yhteisprojekti

Post by Tuxu »

Galgoneerin pisteytyksellä sain saman 5, jonka jo arvioin aikaisemminkin.
Edit. Kaikista paitti muistipaloista ja DLL:stä sain pisteitä. Mikä nyt on kehittynyttä käyttöä, niin en oikein osannut sanoa, mutta tommosen noin arvion heitin.

Code: Select all

Galgoneer 9
Viltzu 7
Chaosworm 2,25
Jonhu 7,5
Tuxu 5
Btw, hyödymmekö tämmöisestä pisteytyksestä mitään?

Nuo Galgoneerin yleiset koodauskäytännöt(tms.) kuulostivat mielestäni ihan hyviltä.
aivot pohtii ja raksuttaa
TuxuGames | Projektiblogi
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Yhteisprojekti

Post by Viltzu »

No tällä pisteytyksellä ainakin näemme, kuka on hieman taitavampi ja ei niin taitava. Mutta siis hyöty taitaa olla, että osataan jakaa helpot työt niille "ei niin taitaville" ja vaatimammat työt sitten taitavimmille.. :D
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: Yhteisprojekti

Post by Sami345 »

Jos saan tulla vielä mukaan, niin tässä olisi:

Code: Select all

Galgoneer 9
Viltzu 7
Chaosworm 2,25
Jonhu 7,5
Tuxu 5
Sami345 9
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
KankiKalle
Active Member
Posts: 170
Joined: Mon Jun 23, 2008 9:04 pm

Re: Yhteisprojekti

Post by KankiKalle »

Uusimman pisteytyksen mukaan taitoni olisi tälläinen.

Code: Select all

Galgoneer 9
Viltzu 7
Chaosworm 2,25
Jonhu 7,5
Tuxu 5
Sami345 9
KankiKalle 2,5
Väsyttää niin ettei jaksa edes mennä lepäämään.
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Yhteisprojekti

Post by Viltzu »

Elikkäs strategiapeli on aiheena.
Nykyinen osallistuja lista.

Code: Select all

Galgoneer 9
Viltzu 7
Chaosworm 2,25
Jonhu 7,5
Tuxu 5
Sami345 9
KankiKalle 2,5
-Z- 7,25
Pate5 8,5
Otto90x 8,5
Grandi 6.5
KankiKalle
Active Member
Posts: 170
Joined: Mon Jun 23, 2008 9:04 pm

Re: Yhteisprojekti

Post by KankiKalle »

Osallistujia on oikeasti tämän verran:

Code: Select all

Galgoneer 9
Viltzu 7
Chaosworm 2,25
Jonhu 7,5
Tuxu 5
Sami345 9
KankiKalle 2,5
-Z- 7,25
Pate5 8,5
Otto90x 8,5
Grandi 6.5
Esa94 6.25
vilQuri 7.25
Seuraavia polttavia kysymyksiä olisi ainakin nämä: Millä tavalla koodi kiertää koodaajalta toiselle, (tästä on ollutkin jo jotakin puhetta) ja mikä olisi tekemisjärjestys, (Jos sellaista ylipäätään tehdään) ja mikä olisi viimeinen päivämäärä, johon asti saa ilmoittautua projektiin mukaan?
Väsyttää niin ettei jaksa edes mennä lepäämään.
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Yhteisprojekti

Post by Viltzu »

Se sivu olisi mainio, josta näkisi kenellä koodi on, ja kenelle se siirtyisi seuraavaksi. Sivulta voisi ladata aina uusimman koodin. Sivu antaisi koodin vain sille jonka vuoro on koodata.
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: Yhteisprojekti

Post by Jare »

Viltzu wrote:Sivu antaisi koodin vain sille jonka vuoro on koodata.
Epäilen tuon vuorosysteemin toimivuutta. Mitäs jos henkilö, jonka vuoro on koodata, ei sillä hetkellä ehdi tai ole motivoitunut koodaamaan? Sitten muut odottavat turhaan, että vuoro vaihtuu.

Minun mielestäni kannattaisi lähteä liikkelle näin:
1) Ehdotellaan pelin ideaa ja juonta pääpiirteittäin. Jokainen saa ehdottaa. "Ehdotus" tarkoittaisi siis vaikkapa lyhyttä tarinaa, joka ei kerro vielä mitään yksityiskohtia.
2) Valitaan paras idea esimerkiksi äänestämällä. Tai sitten joku vain valitsee mielestään parhaan idean ja koettaa kerätä tiimin kasaan työstämään sitä.
3) Kun idea on selvillä ja kaikkien tiedossa, halukkaat voivat ilmoittaa osallistuvansa projektiin. Tässä viimeistään nähdään, miten paljon valittu idea saa kannatusta.
4) Keskitytään edelleen juoneen. Neuvotellaan, kuka vastaa juonessa mistäkin tapahtumista ja mistäkin hahmoista jne. Jokainen koettaa kirjoittaa juonta tarkemmaksi ja tulokset julkaistaan muulle tiimille vaikkapa kerran päivässä. Pakko ei ole tehdä joka päivä, mutta siihen olisi hyvä pyrkiä, että pysyy perässä täydellisesti. Yhdistellään kaikkien ideoita mahdollisimman loogisesti (ja rajataan pois ideat, jotka eivät sovi yhteen muiden ideoiden kanssa) ja ylläpidetään näin yleistä "headlinea". Katsotaan, minkälainen juoni kehkeytyy.
5) Kun juoni on selvillä, voitaneen tehdä päätöksiä pelin toiminnallisuuksista. Mitä ominaisuuksia juoni vaatii? Listataan erilaisia asioita, osia yms., joita peliin tulee. Jokainen palanen liittyy toisiinsa niin, että kokonaisuus hahmottuu. Ajatelkaa myös muuta materiaalia, kuin koodia. Grafiikka, äänet, musiikki jne. Nekin voidaan jakaa osiin.
6) Nyt voimme kenties puhua työn jakamisesta. Kukin osallistuja ilmaisee, mitä osia olisi halukas tekemään pelissä.
7) Päätetään, kuka tekee mitäkin. Pidetään mielessä, miten eri osat liittyvät toisiinsa ja kunkin osan tekijä omalla tahollaan miettii, miten toteuttaa osan niin, että se noudattaa liittymätapaansa muihin osiin nähden.
8) Hahmotellaan suurinpiirteinen järjestys eri osien tekemiselle, jotta projektia voidaan alkaa ommella yhteen sitten, kun pieniä palasia on valmiina.
9) Kaikki töihin! Tekemään niitä osia projektissa, jotka ovat saaneet tehtäväkseen. Ei ehkä tarvitse odottaa, että "kaveri saa sen yhden osan valmiiksi, jotta siitä näkee tarkalleen, miten tämän minun osani pitäisi toimia". Toteuta osa oman harkintasi mukaan. Muutoksia voidaan tehdä sitten kun osia liiitellään yhteen. Tee myös "lavastekoodia", jolla pystyt testaamaan tekemääsi osaa ihan itseksesi ilman projektin muita osia.
10) Valmiita osia julkaistaan kerran päivässä. Jos et saa osaasi valmiiksi päivän päätteeksi, pyri ainakin pitämään tiimi ajantasalla siitä, missä vaiheessa osasi on.
11) Osia sovitetaan ja yhdistetään toisiinsa. Kenties yksi henkilö voisi työskennellä pelkästään yhdistämistehtävän parissa. Jos jokin osa on niin poikkeavasti toteutettu, ettei se sovi projektiin kovin helpolla, se palautetaan bumerangina tekijälleen ja kerrotaan asiasta viisastuneena enemmän yksityiskohtia, joita osan tulisi noudattaa. Osan tekijä korjaa sen tai tekee sen alusta asti uudelleen ja sitten uusi yritys.

Näin jokainen pääsee toteuttamaan itseään - myös täysin samanaikaisesti muiden kanssa. Tämä luo myös vastuuta. Koska jokaiselle sovitaan osat, jotka tekee, ei niitä sovi jättää tekemättä tai viivästyttää liikaa sovitusta aikataulusta. Muuten voidaan sulkea ulos projektista ja osat jaetaan muille.

Tämä voi kuulostaa siltä, että jokainen säätää jotain omaansa ja sitten joudutaan tekemään paljon muuttoksia, kun palaset eivät loksahdakaan yhteen. Mutta - onko kukaan koskaan tehnyt yksin tai lähes yksin isoa peliprojektia, jossa ei ole joutunut muokkaamaan jo valmiita osia täysin toisenlaiseksi sen vuoksi, että projektin seuraavat osat olisivat turhan hankalia toteuttaa niin, että ne toimisivat vanhojen osien kanssa? Eli, muutoksia ja uudelleentekemistä joudutaan tekemään joka tapauksessa.

IMHO

Niin, ja se kommunikaatioväline pitää saada päätettyä ennen mitään muuta.
phons
Guru
Posts: 1056
Joined: Wed May 14, 2008 10:11 am

Re: Yhteisprojekti

Post by phons »

Minulla on tullut omissa jutuissa ni joskus sellainen ongelma että käytän samaa muuttujaa\constanttia tai jotain tällaista useampaan kertaan... Joten eikö tällaisessa olisii hyvä jakaa kaikki tämä yhteen tiedostoon mistä näkisi nämä kaikki eikä tarvitsisi etsiä näitä 2000-rivisestä koodista.... :|
Image
Rufi
Member
Posts: 50
Joined: Fri Dec 21, 2007 11:12 am

Re: Yhteisprojekti

Post by Rufi »

Noh käyttäkääs jotain tunnisteita muuttujien, aliohjelmien, funktioiden jne edessä? Vaikkapa käyttäjätunnuksesta pari kirjainta alkuun sijoitatte... Tekeehän tämä koodista sotkuisempaa, mutta toiminee.
I'm gonna be the Pira... CoolBasic King!
D. Adams wrote:The knack of flying is learning how to throw yourself at the ground and miss.
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: Yhteisprojekti

Post by Jare »

phons wrote:Minulla on tullut omissa jutuissa ni joskus sellainen ongelma että käytän samaa muuttujaa\constanttia tai jotain tällaista useampaan kertaan... Joten eikö tällaisessa olisii hyvä jakaa kaikki tämä yhteen tiedostoon mistä näkisi nämä kaikki eikä tarvitsisi etsiä näitä 2000-rivisestä koodista.... :|
Hyvä pointti. Kannattaa ylläpitää julkista listausta kaikista funktioista, tyypeistä, taulukoista ja muuttujista. Muuttujien kohdalla listauksessa näkyisi myös näkyvyys, eli missä ohjelman osassa kyseistä muuttujaa käytetään.
Rufi wrote:Noh käyttäkääs jotain tunnisteita muuttujien, aliohjelmien, funktioiden jne edessä? Vaikkapa käyttäjätunnuksesta pari kirjainta alkuun sijoitatte... Tekeehän tämä koodista sotkuisempaa, mutta toiminee.
Entäs muuttujat, joita monet henkilöt käyttävät usein? Kenen käyttäjän kirjaimia niissä käyttetään?
TheFish
Developer
Developer
Posts: 477
Joined: Mon Aug 27, 2007 9:28 pm
Location: Joensuu

Re: Yhteisprojekti

Post by TheFish »

Jare wrote:Entäs muuttujat, joita monet henkilöt käyttävät usein? Kenen käyttäjän kirjaimia niissä käyttetään?
Globaalien muuttujien tunnisteena voisi loogisesti käyttää tiedoston nimeä (tai lyhennöstä siitä), olettaen että koodi on jaettu includeihin siis. Funktioiden sisällä olevat muuttujathan eivät näy ulos, joten niille ei tarvitse mitään tunnistetta. (en kyllä ole osallistumassa projektiin, mutta sanoinpa kuitenkin)
CoolBasic henkilökuntaa
Kehittäjä
Dande
Active Member
Posts: 193
Joined: Tue Aug 28, 2007 4:30 pm

Re: Yhteisprojekti

Post by Dande »

Minusta siinä vaiheessa alkaa olla liikaa globaaleja muuttujia, kun niiden eteen pitää lisätä tiedoston nimi erottamaan niitä. Dokumentointiin voisi olla kätevä ehkä joku wiki-pohjainen järjestelmä johon voisi sitten lisätä aina muuttujat, vakiot ja funktiot ja niidne toiminnan sekä tyypit. Funktioiden sisäisten muuttujien nimissä voisi nimeämiskäytännöistä mahdollisesti luistaa, koska ne eivät näyt funktion käyttäjälle. Jos funktioon liittyy kiinteästi globaali muuttuja, kyseisen globaalin muuttujan eteen tulisi liittää funktion nimi.

Mutta itse pelin ideasta. Okei, olemme valinneet että kyseessä on strategia-peli, mutta strategia-pelejä on aika monen laisia. Ensinnäkin kaikkein olennaisimmat kysymykset lienevät:
1) RTS vai TBS? (eli reaaliaikainen vai vuoropohjainen)
2) Aika ja paikka? (keskiaika/nykyaika/tulevaisuus ja todellinen maailma/kuvitteellinen fantasia/sci-fi-maailma)

Itse kannattaisin vuoropohjaista kuvitteelliseen keskiaikaiseen fantasiamaailmaan sijoittuu strategiaa. Pelimekaniikka voisi muistuttaa Advance Warssia ja/tai Fire Emblemiä.

Varsinaiselle ohjelmointipuolelle tälläinen idea: periaatteessa voisi olla käyttämättä CoolBasicin omaa Tilemappia, vaan kartta koottaisiin muistipalaan johonkin yksinkertaiseen formaattiin, ja näin esim. reitinhaku voitaisiin ulkoistaa DLL-tiedostoon.

Itse voisin mahdollisesti ainakin toimia osasten yhdistelijänä ja mahdollisesti voisin tuota omaa esittämääni karttaideaakin toteuttaa.
User avatar
Jare
Devoted Member
Posts: 877
Joined: Mon Aug 27, 2007 10:18 pm
Location: Pori
Contact:

Re: Yhteisprojekti

Post by Jare »

Galgoneer wrote:Varsinaiselle ohjelmointipuolelle tälläinen idea: periaatteessa voisi olla käyttämättä CoolBasicin omaa Tilemappia, vaan kartta koottaisiin muistipalaan johonkin yksinkertaiseen formaattiin, ja näin esim. reitinhaku voitaisiin ulkoistaa DLL-tiedostoon.
Tuo on hyvä idea. Ehdotan kuitenkin idean jatkoksi, että myös CB:n tilemappeja käytetään. Ihan vain sen vuoksi, että CB:n tilemapmoottorilla on nopeaa piirtää kentät. Kenttätiedostot voisivat formaatiltaan olla jotain ihan muuta kuin CB:n tilemappeja. Peli vain tekisi taustalla kentistä tilemapmoottorille sopivan yksinkertaisen kopion, joka sisältää piirrossa käytettävät tiedot kentästä. Kentän törmäystiedot voi olla määritettynä jossain ihan muualla.

Piirroskerroksia saisi myös olla enemmän kuin tilemappien "back" ja "over" -kerrokset. Esim. kolmella kerroksella saataisiin aikaan tile, jossa olisi lattia, pöytä ja kukkamaljakko. Varmuuden vuoksi voisi olla ehkä viisikin kerrosta, jolloin asioita voidaan pinota päällekkäin vielä enemmän.

Koko kenttäjärjestelmä niputettaisiin joukoksi funktioita, joita on helppo myös vähemmän kokoneiden henkilöiden käyttää. Näiden funktioiden avulla joku tekisi vielä projektille soveltuvan kenttäeditorin. Sillä aikaa, kun kenttäeditori on tekeillä, joku toinen voi luoda käsin päätetyn kenttäformaatin mukaisen yksinkertaisen testikentän. Tätä kenttää käytettäisiin yleisesti pelin testaamisessa siihen saakka, että kenttäeditori valmistuu ja joku saa sillä jo vähän isomman/paremman kentän tehtyä testailua varten.

Kun kenttäformaatti ja kenttäeditori ovat molemmat täysin valmiita - tarkoittaen siis sitä, että tiedetään niiden ominaisuuksien riittävän koko projektia varten - voi joku alkaa työstämään sopivia tilesettejä. Sitä mukaa, kun tilesettejä valmistuu, pääsee jälleen joku tekijä hommiin: tekemään varsinaisia pelikenttiä.

P.S. Tileseteistä vielä. Kenttämoottorissa olisi hyvä olla ominaisuus, jolla yhdessä kentässä voidaan käyttää useita tilesettejä. Näin telesetit voitaisiin jakaa loogisiin osiin, ja tarvittaessa voitaisiin tehdä useita varsin pienikokoisia tilesettejä.
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Yhteisprojekti

Post by esa94 »

Eli päästiinkö nyt jostakin jo yhteisymmärrykseen?
Pate5
Artist
Artist
Posts: 551
Joined: Tue Aug 28, 2007 4:53 pm
Location: Vantaa

Re: Yhteisprojekti

Post by Pate5 »

Kai tässä nyt käytetään niitä Galgoneerin kertomia tunnisteita(snd,img ym.)? Tuo karttajuttu muistipaloilla kuulostaa ihan hyvältä. Kuka hoitaa .dll -puolen?
CoolBasic henkilökuntaa
Graafikko
User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: Yhteisprojekti

Post by vilQuri »

Jos kaipaamme tähän wikiä, niin minulla on tilaa jouluserverillä. Piti tehdä coolbasic wiki, mutta koska sellainen oli jo, niin en viitsinytkään...
Post Reply