Omat peli- ja ohjelmaprojektit

Liittynyt
28.07.2020
Viestejä
330
On tainnu mennä ny nallekarkit sekasin ton rar tiedoston suhteen minkä oon upannu ladattavaks
 
Liittynyt
28.07.2020
Viestejä
330
No nyt pitäis kai toimia toi peli. Piti ottaa pari päivää hermolomaa ja hakata rustia persus verellä ^^
Tuun luultavasti repimään noi steam sessionit pois pelistä ja tehdä oman Login systeemin
 
Liittynyt
28.07.2019
Viestejä
7
Puuhasin kesällä omaksi huviksi iPhonelle ja iPadille Kartasto-nimisen äppiksen. Mukana iso valikoima avoimia karttoja aivan ilmaiseksi. Sovellus on ilmainen, iOS-alustaa enemmän käyttävät featuret ja GPX-tiedostojen käsittely ovat sitten pienen maksun takana.

Linkki App Storeen
 
Liittynyt
18.10.2016
Viestejä
236
Taitaakin olla ensimmäinen projekti, jonka olen saanut maaliin saakka (tosin proto tämäkin, mutta julkaisukelpoinen): Bowl of Sins

Kaiken, eli design/leiskat + web-käyntikorttisivu (vanilla HTML+CSS) + web-admin panel + rajapinnat (Node+Express REST) + tietokanta (PostgreSQL) sekä iOS+Anrdoid -sovellus (React Native) vei aika tarkkaan kaksi viikkoa ilta- ja viikonloppunäpräämisenä.

Eli kyseessä on "Totuus vai tehtävä" älylaitteille. Sisältöä eli "syntejä" kerätään yhteisöllisesti lisäämällä ja julkaistaan sitten minun / meidän kuratoimana. Vihreä kulho sopii kaikille, keltainen on jo vähän enemmän pariskuntamateriaalia. Punainen ja musta kulho hieman hardcorempaa.

Osa totuuksista ja tehtävistä voi tietenkin tuntua lapsellisilta tai älyttömiltä. Ne eivät ole allekirjoittaneen päästä kaiveltuja vaan niitä on kerätty ympäri nettiä ja kyselty tutuilta. Yhteensä tietokannassa on 500+ syntiä, joista valtaosaa ei tosin vielä ole julkaistu.

Roadmap:
- pikkubugit (aloin jo korjata kun pääsi testailemaan laajemmalla kirjolla fyysisiä laitteita)
- upvote/downvote synneille, eli onko yhtään järkevä vai lapsellinen / tyhmä
- kunnon grafiikat, designeria tarvitaan
- lokalisointi englanniksi + synnit myös englanniksi käännettyinä
- transitiot ja animaatiot kohdilleen

Laittakaa palautetta joko tänne tai tuon palautelomakkeen kautta, kiitos.
 
Liittynyt
27.02.2017
Viestejä
33
Laittakaa palautetta joko tänne tai tuon palautelomakkeen kautta, kiitos.
Tuossa on muutamana iltana tullut parisuhdemielessä pelailtua/kokeiltua peliä. Ihan hauska! Mutta yksi harmittava bugi ilmenee ainakin iPad-versiossa. Nimittäin tehtävän/synnin ollessa nelirivinen, jää 'Seuraava'-painike tekstin alle, jolloin sitä ei voi painaa ja sovellus on tapettava ja käynnistettävä uudelleen.

Ei muutakuin lisää hyviä jutskia peliin, niin hyvä tulee!
 
Liittynyt
18.10.2016
Viestejä
236
Tuossa on muutamana iltana tullut parisuhdemielessä pelailtua/kokeiltua peliä. Ihan hauska! Mutta yksi harmittava bugi ilmenee ainakin iPad-versiossa. Nimittäin tehtävän/synnin ollessa nelirivinen, jää 'Seuraava'-painike tekstin alle, jolloin sitä ei voi painaa ja sovellus on tapettava ja käynnistettävä uudelleen.

Ei muutakuin lisää hyviä jutskia peliin, niin hyvä tulee!
Korjasin mielestäni tuon painikeongelman versioon 1.1.1, joka on molemmissa kaupoissa saatavilla. Huomasin nimittäin saman itse. Samalla siirsin tekstipalkkia ylöspäin ja tekstejä lyhenneltiin monien syntien osalta, että nelirivisiä ei pitäisi enää ilmetä.

Myös upvote/downvote antaminen lisätty. Eli, jos synti on mieluinen, niin yläpeukkua jakoon vain :).

Toisaalla tuli palautetta, että sukupuoliolettamus voisi olla hyvä lisätieto sen suhteen, että jotkin synnit ovat hieman sukupuolisidonnaisia. Toki nykypäivänä kaikki on sateenkaarta ja yksisarvista, mutta esim. kaikki naiset eivät ole mukavuusalueellaan, jos pitää alkaa puristella naiskaverin rintoja ;). Aloinkin jo väkertää tätä ominaisuutta.

Eräs peligraafikko-opiskelija otti myös yhteyttä, että voi auttaa paremman kuvituksen ja yleisilmeen vääntämisessä. Katsotaan, mitä se poikii.
 
Liittynyt
27.12.2020
Viestejä
1
Täältähän löytyikin näköjään vastaava ketju meikäläisen aloittamasta ketjusta murobbs:n puolella. Komeita projekteja tässäkin ketjussa ja mukava nähdä minkälaisia ohjelmia porukka on vääntänyt. Oma aktiivisuus on viime vuosina ollut vähän satunnaisempaa, mutta aina on jotain pientä ollut työn alla. Tässä muutama kuukausi sitten päätin palata takasin ohjelmointiharrastuksen juurille kasibittiaikaan , ja yrittää ohjelmoida Commodore 64 emulaattori nollista. Oikeastaan C64:ää en koskaan omistanut vaan Amstradin, mutta commodore on paljon suositumpi ja siitä löytyi teknistä infoa paljon laajemmalti ja yksityiskohtaisemmin emulaattoria varten.

C64 olikin yllättävän monimutkainen ja varsinkin ajoituksien saaminen cpu:n ja vic:in kanssa on ollut haastavaa. Emulaattori on kellosyklin tarkka (VIC-2 ja CPU lataavat/kirjoittavat muistiin samalla syklillä vuorotellen ja cpu:n käskyt on jaettu osiin). Suurin osa peleistä toimii ihan hyvin tällä hetkellä, ja monet demotkin pyörivät suht tarkasti. Silti on vielä paljon bugeja ja glitchejä korjattavana ja ajoitus kaipaa jatkuvaa hienosäätöä. SID-emulaatiota olen vasta viikon verran vääntänyt ja se kuulostaakin tällä hetkellä aika karsealta kun filtterin efektit puuttuvat kokonaan ja muutenkin SID:in toimintaperiaatteesta on hankala löytää tarkempaa informaatiota.

Emulaattori ei varmasti koskaan tule olemaan täydellinen, mutta tavoitteena olisi saada sitä tehtyä niin pitkälle kuin rahkeet riittävät. Oikeastaan tavoitteena on saada emulaattorin lisäksi tehtyä ohjelmointiympäristö erilaisine työkaluineen C64-ohjelmien ja pelien tekemistä varten.

 

EKM

Liittynyt
05.02.2021
Viestejä
2
Töissä täytyy rakennella paljon html-lomakkeita, joiden sisältö muuttuu dynaamisesti, tarkoittaen ajaxilla backendin kanssa juttelevaa javascript-toteutusta (ainakin osittain). Mä olen kehitellyt ajatusta minimoida javascript-koodaaminen ja html-koodaaminen näissä tapauksissa. Eli että olisi yksi automaattinen tapa lomakkeen (tai ehkä myös muiden layouttien) rakentamiselle. Alla perusidean kehittelyä, kuinka html-sivu rakennettaisiin javascriptillä (käyttäen sivulla jQuery-kirjastoa).

JavaScript:
function getFilledTemplate(data) {
    let html = '';
    for(let i of data) {
        let template = String($('#'+data[i].template).html());
        for(let j of data[i]) {
            if(Array.isArray(data[i][j])) {
                data[i][j] = getFilledTemplate(data[i][j]);
            }
            template = str_replace('{{'+j+'}}', data[i][j], template);
        }
        html += template;
    }
    return html;
}

function str_replace(pattern, fill, str) {
    while(str.indexOf(pattern) !== -1) {
        str = str.replace(pattern, fill);
    }
    return str;
}
Eli tuossa getFilledTemplate-funktio saa objekteja sisältävän listan, ja täyttää sen perusteella html-templateja ja palauttaa lopulta valmiin html-koodin. HTML-templatet, joita tuossa yllä täytellään, olisivat seuravanlaisia (käyttäen sivulla css-kirjastona bulmaa):

HTML:
<template id="template-input-field">
    <div class="field">
        <label class="label">{{label}}</label>
        <div class="control">
            {{rows}}
        </div>
    </div>
</template>

<template id="template-input">
    <input name="{{name}}" type="{{type}}" value="{{value}}" class="{{classNames}}" />
</template>
Riippuen esimerkiksi käytetystä css-kirjastosta ja layoutista, sivun palaista rakennetaan template-pohjat, joita geneerinen javascript-implementaatio ottaa, täyttää ja palauttaa.

Backendistä lähetetään sopiva objekti, ja jonka perusteella templateista rakennetaan html-sivun sisältö. Tässä esimerkki karvalakki-versio sisäänkirjautumissivusta json-muodossa ennan objektiksi parserointia:

JSON:
[
    {
        "template": "template-input-field",
        "label": "Sähköpostiosoite",
        "rows": [
            {
                "template": "template-input",
                "name": "email",
                "type": "email",
                "value": "",
                "classNames": "input"
            }
        ]
    },
    {
        "template": "template-input-field",
        "label": "Salasana",
        "rows": [
            {
                "template": "template-input",
                "name": "password",
                "type": "password",
                "value": "",
                "classNames": "input"
            }
        ]
    },
    {
        "template": "template-input",
        "name": "login",
        "type": "submit",
        "value": "Lähetä",
        "classNames": "button is-primary"
    }
]
Jokaisella json-objektilla on html-templaten id ja kyseisessä templatessa olevat avaimet ja niille arvot.
Yo-toteutus valmiina palauttaisi suurin piirtein seuraavan html-stringin:

HTML:
<div class="field">
    <label class="label">Sähköpostiosoite</label>
    <div class="control">
        <input name="email" type="email" value="" class="input" />
    </div>
</div>
<div class="field">
    <label class="label">Salasana</label>
    <div class="control">
        <input name="password" type="password" value="" class="input" />
    </div>
</div>
<input name="login" type="submit" value="Lähetä" class="button is-primary" />
Onko jollain tietoa, onko kenties joitain valmiita kirjastoja lomakkeiden rakentelua varten dynaamisesti? Ei ehkä tarvitsisi keksiä pyörää uudestaan. Jos ei ole, jatkan tämän "ikuisuusprojektini" kanssa.
 
Viimeksi muokattu:
Liittynyt
17.10.2016
Viestejä
68
Töissä täytyy rakennella paljon html-lomakkeita, joiden sisältö muuttuu dynaamisesti, tarkoittaen ajaxilla backendin kanssa juttelevaa javascript-toteutusta (ainakin osittain). Mä olen kehitellyt ajatusta minimoida javascript-koodaaminen ja html-koodaaminen näissä tapauksissa. Eli että olisi yksi automaattinen tapa lomakkeen (tai ehkä myös muiden layouttien) rakentamiselle. Alla perusidean kehittelyä, kuinka html-sivu rakennettaisiin javascriptillä (käyttäen sivulla jQuery-kirjastoa).
Valmiissa on melkein aina ongelmia joidenkin pikkujuttujen kanssa joiden kiertämiseen ja virittelyyn palaa aikaa tolkuttomasti.

Mä tein oman super simppelin toteutuksen ja kierrätän sitä lomakkeelta toiselle. Ja kun on oma - helppo modata aina lomakkeen tarpeisiin sopivaksi.

Harvoin lomake tarpeetkaan ihan triviaaleja on lomakkeelta toiselle. Aina on sääntöjä kenttien välille, validointia yms jne jne. Siksi täysin yleiskäyttöinen voi olla mahdoton tai sitten äärimmäisen hankala käyttää.

Ratkaisuni oli hyvin samankaltainen kuin yllä kuvattu.

Omatekemäparas
 
Viimeksi muokattu:
Liittynyt
18.10.2016
Viestejä
236
Nyt on tulilla megaluokan projekti, joka tuskin näkee päivänvaloa, jos ja kun sitä yksin koodailen. Menköön yleisen mielenkiinnon, oppimisen ja kunnianhimon piikkiin.

Työnimeltään Unnatural VR on nimensä mukaisesti VR-peli.

Pelin idea
Kaikki UFOa, Jagged Alliancea yms. vuoropohjaista sodankäyntiä harrastaneet ymmärtävät kuvion. Eli peli-idea myötäilee vuoropohjaista sodankäyntiä, mutta virtuaalimaailmassa. Vaikutteita myös mm. Superhot VR:stä sekä vanhasta Syndicatesta.

Kahdeksan hengen joukko sijoitetaan jollain vyörytyksellä kaupunkimiljööseen, jossa sitten hyökitään vastapuolen (tekoäly?) kimppuun. Kaikkia taisteluja ei toki tarvitse pelata "last man standing" asti, vaan tavoitteena voi olla myös jokin muu (esim. panttivangin vapauttaminen)


Pelimekaniikka
Hahmoja ohjataan yksi kerrallaan käytössä olevien liikkumispisteiden mukaisesti. VR-ympäristössä lienee teleporttaaminen loogisin vaihtoehto, jossa luonnollisesti lähelle liikkuminen kuluttaa suhteessa enemmän pisteitä kuin esim. kauas juokseminen. Polvilleen / makuulle meneminen parantaa osumatarkkuutta, mutta vastaavasti syö pisteitä sekä siinä tulee "pinpointatuksi" eli otetaan riski.

Vaikka aseella sihtaillaankin POVina kohti vihulaista, niin statsit määräävät osumisen eikä suinkaan kuinka tarkasti oikeasti kapuloillaan tähtäilee. Eli pikselintarkka headshot ei tarkoita välttämättä edes osumaa, jos sotilas on alokas jonkun tuhnupyssyn kanssa.


Pelihahmot
Pelissä on NPC:t sekä tykinruokaa että karikatyyreja (tyyliin Igor Dolvich), joita voi kehittää pelin edetessä. Samoin aseita ja muita välineitä voi parantaa ja jatkokehittää pelin edetessä.


Visuaalisuus
Peli tulee olemaan ainakin alussa visuaalisesti karkea eli vektoreita ja joitain perustekstuureja. Osumista lentäköön jotain punaista polygonisilppua yms. Tekstuureja ja Blender -mallintamista varten tarvitsisi jonkin osaavan henkilön, sillä minulla ei siihen ole kykyä.


Tämänhetkinen status
Tällä hetkellä ei ole käytännössä mitään, sillä aloitin projektin eilen. Tulee olemaan WebXR eli A-Frame sovelluskehystä käyttävä tekele. Olen tutkinut lähinnä fysiikkakirjastoja ja collision detectionia sekä jumppaillut sen kanssa hieman huonolla menestyksellä.


Miltä kuulostaa noin ylipäätään?
 
Viimeksi muokattu:
Liittynyt
18.10.2016
Viestejä
55
Ostin Amazonista alennuksesta Galaxy Watch Active 2:n joka pyörii Tizen alustalla. Tein satunnaista simukisailustriimausta varten sykemittarisoftan joka lähettää datat websocketin yli määritettyyn IP osoitteesen jossa pyörii NodeJS servu. NodeJS servu tarjoaa oman WebSocket serverinsä, ja lähettää sitä kautta sykedatan HTML saitille joka tökätään sourceksi OBS:ään.

Nopsakka demo joka tallennettu kilkkeen ensimmäisen kerran toimittua: 2021-09-07 20-54-42

Tarkoituksena vielä tehdä käyttäjäystävällinen UI, ja laittaa MIT lisenssillä GitHubin kautta jakoon. Kellosofta ehkä Galaxy Storeen jos jaksan.

Ihan kätsä setti mutta tuo Tizen on ihan kammottava alusta koodata täynnä sudenkuoppia joihin on vastaukset syvällä syvällä kehittäjädokkareissa. Ei ihme että softaa ei ole tehty.
 
Liittynyt
10.09.2019
Viestejä
64
GT Legendsin sarjoja pyörittäessä se kaikkein raskain osuus on aina kisojen jälkeen tulosten julkaisu ja pisteiden päivitys. Aikavyöhykkeiden takia kisat alkaa yleensä vasta klo 22, joten kisan päättyessä kello on jo yli puolen yön. Aamulla kello soi useasti vähän jälkeen kuusi, joten jotain piti keksiä millä homman sai sujuvammaksi. Hiffasin jossakin välissä että SQL Server Express on ilmainen, kuten on myös Visual Studio Community Edition. IIS taas tulee Windows 10 homenkin mukana, mutta ei asennu oletuksena.

aspx sivut ovat pitkältä ajalta tuttua kauraa ja työelämässä pisin rupeama on tullut tehtyä VB.NETiä, joten pyöräytin kotiserverille pikkusaitin ja tietokannan, johon imaisen serveriltä logit (harjoitussessiot automaattisesti omalla windows servicellä, aika-ajot ja kisat pienellä omalla winforms työkalulla) aina kisan päätteeksi. aspx sivut sitten raapivat tietokannan datasta kaikkea tarvittavaa informaatiota.
Teknisesti alusta on vanhentunut, tietokanta ja kieli täysin ja totaalisen epäviileitä valintoja, mutta näillä välineillä tiedän mitä teen ja voi keskittyä enempi tietorakenteisiin ja datan käsittelyyn kun siihen että miten jossakin uudemmassa ja hienommassa kielessä joku asia tehtäisiin. Suorituskyvyssä tulee vastaan varmasti ensiksi Elisan periaatepäätös siitä että VDSL2 yhteyksissä 10Mbit paluukanava on aivan varmasti tarpeeksi kaikille, kun itse serverin tai tietokantamoottorin suorituskyky.

Ja rumahan se on, kun on harrasteprojekti omaan ja sarjan pelaajien käyttöön:
 
Toggle Sidebar

Statistiikka

Viestiketjut
139 960
Viestejä
2 671 904
Jäsenet
52 390
Uusin jäsen
Erkkis

Hinta.fi

Ylös Bottom