Omat peli- ja ohjelmaprojektit

Viestiketju alueella 'Ohjelmointi, pelikehitys ja muu sovelluskehitys' , aloittaja Zvona, 24.10.2016.

  1. Xiyng

    Xiyng

    Viestejä:
    978
    Rekisteröitynyt:
    19.10.2016
    Miltä kannalta? Suunnittelun? Ohjelmoinnin? Jonkin muun? Mikä on lähtötasosi?
     
  2. JouBqa

    JouBqa

    Viestejä:
    248
    Rekisteröitynyt:
    28.06.2017
    Tollasta tehty mut oikeat työt nyt pistänyt jäihin muutamaksi kuukadeksi. Enää puuttus pari bossia ja pientä hiontaa niin pieni metroidvania peli ois valmis... Jos kiinnostaa osallistua nii voi laittaa viestiä jos täs kerkeis alkaa taas tekeen.
    Skully's Adventure
     
    Jahonnes ja zamerok tykkäävät tästä.
  3. DD-Indeed

    DD-Indeed

    Viestejä:
    4 229
    Rekisteröitynyt:
    04.12.2016
    Vähän taas putkahteli ideoita päähän oman remake-projekti suhteen tässä parin päivän aikana, joita kirjoittelin ylös projektidokumentaatioon. Lähestymistapa tosiaan on omintakeinen, luon ikäänkuin käsikirjoitusta ja presentaatiolistausta ideoista ja asioista mitä pelissä tulisi olla ja mitään varsinaista näytettävää ei ole vielä syntynyt.

    Jotain näytettävää silti kuiteskin putkahti mieleen, avasin pitkästä aikaa FL Studion luodakseni yhen toisen musiikkijutun, mutta vahingossa keksin melodian erään instrumentin pohjalle, joka heti kuulosti sopivanlaiselta kipaleelta peliin. Tokana päivänä lisäyksiä ja viimeistelyä vähän, ni avot, jälleen yksi demobiisi valmis.

    http://instaud.io/private/b0bef19679d3ac70becac4d1a273958bbb6d1573
     
  4. salojan

    salojan

    Viestejä:
    5
    Rekisteröitynyt:
    10.01.2017
    Jos täällä on joku FreeBSD käyttäjä vailla graafista mikseriä äänikortilleen, ja koneesta löytyy jonkinverran extra-rammia sekä kunnollinen grafiikkakortti, niin julkistin juuri Detroit enginen version 0.2.0 jossa on mukana screenshotin mukainen mikseri. Mikseri siis toimii vain FreeBSD:llä, Net- ja OpenBSD tuki on tekeillä, eikä se tue pulseaudiota yms. muita turhakkeita vaan pelkästään OSS:ää. Kääntöohjeet löytyy README:sta.

    Detroit engine - Browse Files at SourceForge.net

    fossmixer_1.png
     
    Humanoid tykkää tästä.
  5. Ctzn_no7

    Ctzn_no7

    Viestejä:
    176
    Rekisteröitynyt:
    26.10.2016
    GasGas by ctzn07
    taas yks jamipeli tuli väsättyä, kait siitä 5 minuutin naurut saa
     
    Zyrppa tykkää tästä.
  6. Snowman

    Snowman Peräsmies Make ATK Great Again

    Viestejä:
    351
    Rekisteröitynyt:
    09.02.2017
    Ihan huikea :D
     
  7. Jean_Sipulius

    Jean_Sipulius

    Viestejä:
    233
    Rekisteröitynyt:
    17.10.2016
    Nälkätaisto by JuhaOjala

    Eräänä viikonloppuna pyöräytettiin tyttöystävän kanssa pikku visailupeli. Koittakaahan päästä läpi.
     
    Jahonnes ja Seidi Takamaa tykkäävät tästä.
  8. living_death

    living_death ★ Still alive ™

    Viestejä:
    1 649
    Rekisteröitynyt:
    15.11.2016
    Ilmoittaa "Running with IndexedDB access disabled".
     
  9. Jean_Sipulius

    Jean_Sipulius

    Viestejä:
    233
    Rekisteröitynyt:
    17.10.2016
    No pahus. Millä selaimella koitat? Pitäisi toimia normaalisti perinteisellä 64 bittisellä selaimella, jossa WebGL tuki. Toisaalta tuon IndexDB:n saisi päälle erikseen, mutta en taida jaksaa penkoa projektia auki ihan tällä sekunnilla
     
  10. supperhead

    supperhead

    Viestejä:
    29
    Rekisteröitynyt:
    17.10.2016
    Hyvin täällä toimi vaikka tais alussa tuo disabled -juttu näkyäkin. Selaimena Chrome.
    Ihan mukava tietovisa :tup:
     
  11. living_death

    living_death ★ Still alive ™

    Viestejä:
    1 649
    Rekisteröitynyt:
    15.11.2016
    ff.png
     
  12. Ctzn_no7

    Ctzn_no7

    Viestejä:
    176
    Rekisteröitynyt:
    26.10.2016
    iunknown ja Zvona tykkäävät tästä.
  13. Nigel

    Nigel

    Viestejä:
    216
    Rekisteröitynyt:
    23.10.2016
    Tein tällaisen komentorivillä toimivan pikkuohjelman. Ohjelmalla pystyy ottamaan "kuvan" haluastaan hakemistosta ja tallentamaan sen tiedostona koneelle. Sitä tiedostoa voi sitten verrata jonain toisena hetkenä luotuun tiedostoon. Näin aloittelevani koodarina mielelläni kuulisin kommentteja koodin tasosta. Onko se ihan päin seiniä vai vähän sinne päin?

    Jossain vaiheessa voisi varmaan harjoituksen vuoksi muokata tuon OOP-muotoon.

    Linkki
     
  14. Xiyng

    Xiyng

    Viestejä:
    978
    Rekisteröitynyt:
    19.10.2016
    En ole hirveästi Pythonia käyttänyt enkä kovin tarkkaan katsonut, mutta pääasiassa näytti aika selkeältä. Luultavasti tuota voi parantaa reilustikin, mutta näyttää pikaisen vilkaisun perusteella ihan järkevältä. Code Review on muuten sivusto, jonne voi pistää koodejaan muiden arvosteltavaksi (siis ihan kehitysmielessä - sieltä näyttäisi saavan yleensä hyviä vinkkejä). Säännöt kannattaa varmaan lukaista lähtien ainakin siitä, että tuonne tuskin voi vain linkittää GitHub-repoa, vaan koodit pitää käsittääkseni laittaa suoraan näkyville.
     
  15. 111

    111

    Viestejä:
    67
    Rekisteröitynyt:
    08.08.2018
    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]
    Lainasin kirjan kesällä ja tein harjoitukset ja muokkasin spline-nimistä tkinter-harjoitusta. Jos kiinnostaa voit tehdä ohjelmallesi guin tkinterillä. Mielessäni on ollut tehdä(joskus) tiedosto-duplikaattien etsimis-ohjelma, ja ohjelmastasi voisi olla siinä hyötyä.
     
  16. Nigel

    Nigel

    Viestejä:
    216
    Rekisteröitynyt:
    23.10.2016
    Täytyykin tutustua tuohon Code Reviewiin. Ehkä tuonnekin jotain kehtaa postata joku päivä.

    Olen vähän tuota tkinteriä käyttänyt, mutta en vielä tässä vaiheessa viitsi hirveästi käyttää aikaa guin turaamiseen. Pyrin vaan tekemään paljon erilaisia projekteja tutustuen kirjastoihin.
     
  17. ©©©

    ©©©

    Viestejä:
    177
    Rekisteröitynyt:
    16.10.2016
    Suosittelen käyttämään cmd tai click moduuleja komentorivisovelluksille. Koodista yleisesti sanoisin, että liikaa if/else lausekkeita ja liian pitkiä funktioita. Jaa koodia pienempiin osiin ja vältä if/else rakennelmia, varisinkin sisäkkäiset if/elset ovat varma merkki siitä että nyt kannattaa refactoroida. Tee mieluummin kontrollereita (funktioita) joita sitten kutsut vaikka jonkun dictin perusteella, eli avaimena on ehto ja arvona suoritettava funktio.
     
    Nigel tykkää tästä.
  18. ©©©

    ©©©

    Viestejä:
    177
    Rekisteröitynyt:
    16.10.2016
    Kirjoittelin tähän mitä hain takaa. Tein nyt kaikki yhteen objektiin joka kyllä tosielämässä paisuisi tarpeettoman isoksi ja se pitäisi pilkkoa myös osiin. Mutta idea varmaan tulee selväksi. Menun voisi rakentaa myös dynaamisesti controllerista, mutta sitä en nyt tehnyt.

    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]
     
  19. Nigel

    Nigel

    Viestejä:
    216
    Rekisteröitynyt:
    23.10.2016
    Täytyy tutustua tähän esimerkkiisi paremmin. En ole tehnyt "controllereita" aiemmin, joten tämä on ihan hyvä harjoitustehtävä. Jos tulee valmista niin postaan päivitetyn koodin tänne. :)

    Click-moduulista en ollut koskaan kuullutkaan ja cmd:hen en ole vielä muuten vaan kerennyt perehtyä. Täytyy lisätä myös nuo työlistalle.
     
  20. Mendel

    Mendel RTX ON

    Viestejä:
    89
    Rekisteröitynyt:
    21.09.2017
    Oman pelin proto:
    itch.io
    salasana on testi

    klikkaa latauksen jälkeen peliruutuun vielä toisen kerran niin sitten w:llä pieree. Hellävaraiset painallukset suositeltavia :D

    Protossa on toistaiseksi vain tuo yksi kenttä. Ei toimi vielä kännykällä oikein. Kertokaahan paljonko saitte pisteitä. :)
     
  21. Nigel

    Nigel

    Viestejä:
    216
    Rekisteröitynyt:
    23.10.2016
    Pakko myöntää, että tuolla kontrollerirakenteella dirxray.py:stä tuli huomattavasti selkeämpi. Uppasin päivitetyn version GitHubiin. Täytyy katsoa myös jos tuolle dirxhelper.py:lle osaisi tehdä jotain.

    Mietin myös, että miten tuosta MENU:sta saisi dynaamisen, mutta en ainakaan vielä saanut mitään toimivaa aikaan.

    Koitin lähteä rakentamaan ratkaisua näin:

    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]
    Tuosta saisin listan tupleja, joissa ensimmäinen itemi on metodin nimi ja toinen itemi on itse metodi, mutta tästä en osaa edetä toimivaan dynaamiseen menuun. Voisin funktion listata vain metodien nimet for-loopilla, mutta ne eivät ole kovin kuvaavia. Voisinko laittaa jokaiseen metodiin muuttujan, joka tulostuisi menuun tekstinä? En varmaan, koska en pääse siihen käsiksi ajamatta metodia. Taidan olla ihan hakoteilla tämän kanssa.
     
  22. Nigel

    Nigel

    Viestejä:
    216
    Rekisteröitynyt:
    23.10.2016
    4 pistettä oma enkka. Vielä vaikeampi kuin Flappy Bird. :)
     
  23. DD-Indeed

    DD-Indeed

    Viestejä:
    4 229
    Rekisteröitynyt:
    04.12.2016


    Pierun jälkipolton kiihtyvyyttä jos hippasen pienennät ni sit ois hyvä. Tällähetkellä lähtee splaadeni putkesta pikkasen liian herkästi.
     
  24. Mendel

    Mendel RTX ON

    Viestejä:
    89
    Rekisteröitynyt:
    21.09.2017
    Git gud :D
     
  25. ©©©

    ©©©

    Viestejä:
    177
    Rekisteröitynyt:
    16.10.2016
    Laita metodin docstringiksi haluttu kuvaus jolloin sen saa helposti ulos Controller.do_1.__doc__

    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]

    Mikäli haluaa rakentaa tietueen jossa on numero, selite ja itse funktio samassa rakenteessa täytyy käyttää dict-datatyyppiä jossa avaimena on valittava numero ja arvona toinen dict jonka avaimena taas funktion selite ja arvona itse suoritettva funktio. Tämä menu dict siis saadaan Controller-luokasta myös dynaamisesti hieman muokkaamalla ylläolevaa esimerkkiä.

    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]

    Tästä rakenteesta saadaan taas helposti string-muotoinen menu ja käyttäjän input() syötteen perusteella voidaan suorittaa haluttu metodi. Tällöin kaikki kolme: valittava numero, selite ja suoritettava funktio pysyy aina tiukasti yhdessä ja mikä parasta: kaikki on tehty dynaamisesti jolloin menu muokkaantuu automaattisesti jos lisätään uusi metodi Controller-luokkaan.

    Mutta jos näiden rakentaminen käy liian työlääksi itselle, kannattaa tosiaan tutustua cmd-moduuliin jossa tämä on jo valmiiksi tehty.
     
    Viimeksi muokattu: 10.10.2018
    vellu tykkää tästä.
  26. 111

    111

    Viestejä:
    67
    Rekisteröitynyt:
    08.08.2018
    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]
    Tässä on järkeä, helppous tosin on siltä osin subjektiivista, että itse tavasin tuota menu-stringin muodostus lausetta arviolta 5min.:) jOooh, mun ongelma taas on se, että en ole kunnolla vielä vaivautunut ottamaan selvää class-funktiosta, mihin sitä käytetään, ja milloin sen käyttö on järkevää.
     
  27. ©©©

    ©©©

    Viestejä:
    177
    Rekisteröitynyt:
    16.10.2016
    Tämä on totta, tuo one-liner ei ollut kyllä mikään paras esimerkki. Siksi kirjoittelin siihen ylös vähän mitä se tekee. Paremmin kirjoitettuna se tulisi näin:
    [ Vain rekisteröityneet käyttäjät näkevät Spoiler-tagin sisällön. Rekisteröidy foorumille... ]
     
    111 tykkää tästä.
  28. 111

    111

    Viestejä:
    67
    Rekisteröitynyt:
    08.08.2018
    Toi getattr on kätevä, en vain tajunnut ensin että siihen pitää lisätä sulut, (), loppuun. Pythonin docs-sivut ei hirveästi sitä painottanut, niin lopputulos oli että yritin kiertää ongelman exec():llä suorittamalla komentoja stringeistä, mutta sekin meni jotenkin pieleen.. Eli jos haluaa suorittaa esim. modulename.method, ja tallessa on halutun metodin nimi stringimuuttujassa a='method' niin se suoriutuu komennolla getattr(modulename, a)(). Toi exec() oli siitä vaikea että se ei palauttanut mitään, mutta keksin sitten sen globals-parametrin, mutta jokin siinä edelleen mätti. Että näin.
     
  29. Nigel

    Nigel

    Viestejä:
    216
    Rekisteröitynyt:
    23.10.2016
    Niin siis jos haluat kutsua heti getattr:n palauttaman metodin, niin ne sulut tarvitaan. CCC:n esimerkissä metodi tallennetaan ensin controller-muuttujaan, joka kutsutaan virheenhallinnan jälkeen kutsumalla controller().
     
    111 tykkää tästä.
  30. mcduck

    mcduck

    Viestejä:
    13
    Rekisteröitynyt:
    21.01.2017
    Hjoo. Pitää kai tulla päivitelemään välillä, viime kerrasta on sen verran aikaa että tais olla vielä muron puolella. :D

    offgrid.jpg

    Askarrellaan siis Stealth/hacking-henkistä 3rd-person peliä Unityllä. Ideana että niiden tavallisten aseiden jne sijaan pelaajan "arsenaalina" on AR-lasit jolla näkee kaiken datan mitä ihmiset ja laitteet jättää ajan mittaan, hahmojen tekstiviestit, NFC-data ovien skannereita käyttäessä jne, ja sitten kasa ohjelmia joilla kaikkea dataa ja laitteita (ja sitä kautta ihmisiä ;) ) voi manipuoloida.



    Koko peli on tehty modaaja-ystävälliseksi, valmiin version mukana tulee Unity-projekti omien työkalujen ja ison kasan 3D-malleja jne. kera, ja tuosta projektista voi sittten kätevästi pakata omat kentät AssetBundleksi ja pudottaa pelin kansioihin tai ladata Steam Workshoppiin muiden ihmeteltäväksi. Itseasiassa tetiin homma vielä helpommaksi ja editori yhdistää localhostilla pyörivään peliin suoraan nopeampaa testaamista varten (kätevämpää näin, kun tehdään itse kaikki sisältö samoilla työkaluilla)

    Itse tehtävät, keskustelut, hahmojen tekoäly (ainakin raskaampaa laskentaa lukuunottamatta), laitteet, pelihahmon puhelimessa pyörivät ohjelmat jne. pyörivät kaikki omissa Lua-virtuaalikoneissaan ja niiden scriptit löytyvät sitten ihan tekstitiedostoina pelin kansioista niin että kuka tahansa pääsee halutessaan muokkaamana ja säätämään asioita.

    Ja häpeämätön syy tähän viestiin on tietty että nyt olis kickstarter käynnissä että saadaan vähän lisäaikaa kehitykseen ja pystytään tekemään jonkunlainen puoli-julkinen beta noiden modaustyökalujen ja Lua-API:n hiomista varten. Tosin moisen rahan ruinaamisen vastapainoksi riivittiin kasaan myös julkinen (ja buginen) demo joka on ilmaiseksi tarjolla Itch.io:ssa. Eli siitä vaan kokeilemaan.

    Asiaan kuuluvat linkit:

    Omalta osalta ne viimeisimmät päivitykset työhön (demon kanssa tappelun lisäksi) on noiden pelaajan puhelimessa pyörivien appien ja sitä tukevan API:n jne täydellinen uudelleenrakentaminen. Edellisen version teki firmasta jo poistunut koodari ja jossain välissä alkoi käydä selväski että kyseisellä tyypillä ei ollut ihan motivaatio riittänyt tehdä tuota niiden specisen mukaan mistä sovittiin, ja lopputuloksena homma ei sitten tietty toiminut ihan niin kuin olisi pitänyt (Lua-scripti ei oikeasti pystynyt määräämään milloin ohjelma on käynnissä tai ei ole, ja sekalaiset muut jutut ympäri peliä pääsivät itsekseen vaihtelemaan ohjelman ikonia päälle/pois jne ilman että Lua-puoli tiesi asiasta-> lopputuloksena sotkua.) Kyseinen tyyppi on muissa töissä jonkun muun riesana nyt ja ohjelmat toimivat siis pelissä niinkuin oli tarkoituskin. Olis vaan pitänyt heti samaan tien tajuta repiä koko vanha koodi pois ja tehdä alusta asti uusiksi, meni reilu kuukausi hukkaan yrittäessä selvitellä ja muokata sitä vanhaa sotkua toimimana oikein...)

    ...ja kaikesta päätellen seuraavaksi sitten sama edessä noiden verkkon kytkettyjen laitteiden osalta, ainakin demoa viimeistellessä tuli vastaan muutama juttu jotka eivät toiminut ihan niin kuin olisi tarkoitus. No, ainakin on tuoreena muistissa toimiva arkkitehtuuri tuohon niin noiden korjaaminen tuskin vie mahdottoman pitkään.


    (edit: vielä kun osais kirjoittaa ilman että joka toinen sana on typotettu)
     
    Viimeksi muokattu: 11.10.2018
    null, zamerok, Pekste ja 6 muuta tykkäävät tästä.