wiki:Todo
Last modified 6 years ago Last modified on 2013-12-09 22:12:19

Tehtävät (ylimpänä tärkeimmät)

  • Tasohyppelyhahmo suorakulmiosta ja liitoksella kiinnitetystä pienemmästä ympyrästä
    • Ympyrä pyörii alla pyörän tapaan ja saa aikaan tasaisen liikkeen
    • Ympyrän törmäystapahtumasta saisi varman tiedon siitä että ollaan maassa
    • Kitka ympyrällä mutta ei suorakulmiolle -> ei jumiutumista seiniin kun näppäin pohjassa
    • Mahdollisuus myös kaltevilla pinnoilla liikkumiseen
  • Tiedostomuoto keskustelupuille monimutkaisempia keskusteluita ja valikoita varten
    • Kysymys + vaihtoehtoja + tageja joihin voi sitoa tapahtumia
    • Voisi olla esimerkiksi tämännäköinen:
      "Mitä teit tänään?"
      mitateit
         "Pelasin"
         peli
         teko
         "Koodasin"
         koodi
         teko
            "Millä kielellä?"
               "C#"
                  ->mitateit
               "C++"
                  ->mitateit
               "Java"
                  ->mitateit
      
  • TopTeniin uusin tulos näkyville jollain tapaa korostetusti
  • Olioille IgnoresLighting niin että esim. widgetteihin ei vaikuta kentän valaistus
  • AddCollisionHandler(tagi, tagi)
  • Dokumentointi
    • Timer.Limit
    • TouchPanel.EmulateKeyboard
  • Tarkista surfaceiden teko ohjeen mukaan: https://trac.cc.jyu.fi/projects/npo/wiki/MaastonTekeminen#Edistyneempimaasto
    • LuoMaasto: muoto ja kuva eivät vastaa toisiaan?
  • Tarkista kiihtyvyysanturin toiminta
    • Parametrejä voisi myös katsoa (AnalogChange vektoriksi, MouseMovement tms. pois, ...)
  • Useampia CollisionGrouppeja yhdelle oliolle?
  • TileMap ja ColorTileMap: metodit waypointtien purkamiselle FollowerBrainia varten
    • SetRouteMethod - dokumentointi
  • Tapahtumia hiirelle ja kosketusnäytölle
    • Tuplaklikkaus
    • Enter (mennään olion päälle) ja exit
    • Raahaus: aloitetaan, raahataan ja lopetetaan
  • Kuvan asettamisessa joku virhe, kuva ei tule saman kokoiseksi kuin alkuperäinen kuva --> suttuinen kuva.
  • Wiki-ohjeet TouchPanelin eleille
  • Piirtämis-rajapinta
    • Olion piirtäminen canvakseen
    • Canvaksen luominen siten että piirtäminen menee kuvaan
  • Ruutukentän asettaminen siten että kentän koko ei muutu (vois laittaa esim. monta taloa kenttään)
  • Kenttäeditori
    • Propertyt eri oliotyypeille
      • PhysicsObject
      • PlatformCharacter
      • Property-ikkuna jota voisi hyödyntää myös pelien debuggauksessa?
    • UI kaikille toiminnoille (grid, talletus, avaaminen, ...)
    • Väriympyrä
    • Uuden templaten luominen
    • Esikatselukuva template-nappiin
    • Kuvat
      • Kuvien lataaminen dynaamisesti Content-hakemistosta
      • Kuvan valinta property-valikkoon
    • Tarkistus että ei voi monta oliota päällekäin (ehkä optio tälle)
  • Peli-ikkuna jää osittain alapalkin alle jos ei fullscreen (joillain koneilla)
  • Reunojen piirtäminen tarpeeksi isoiksi, jotta ei lopu ennen näytön reunoja
  • Level.AdjustToScreen()
  • TaginPaivittaminen-sivu kaipaa päivitystä
  • Optimointia isojen polygonimuotojen tekemiseen, etenkin Surfaceille
    • Surfacelle nyt fysiikkaparametrit rakentajaan, muuten hankala optimoida paremmin
  • Tankin tykki AxelJointilla (ehkä myös muut aseet?)
  • Kun avaan Ohjelma.cs:n, tulee valituksia rivinvaihtojen tyypistä. Nuo kannattaisi varmaan valmiiksi olla oikein, niin ei tarvitse ihmetellä.
  • Ohjeita kirjaston "lataa jypeli"-sivulle kirjaston ja projektimallien lataamiseen
  • ParticleSystem vääristää kuvan kuvasuhteen (muistipelin jypeli-logo).
  • Tasoloikkahahmon seinissä "roikkuminen" pois (kun kävelee seinää kohti)
  • Wiki-ohjeiden kirjoittaminen uusille luokille (Listaa luokat tähän! )
  • Installeri
    • Jypelin asennus GAC:hen
    • Luokkamallit mukaan
    • Käyttäjäkohtainen asennus, joka toimii ilman admin-oikeuksia
    • Tarkistus että Visual studio asennettuna.
    • Tarkistus että XNA Game Studio asennettuna (riittääkö pelkästään tämä?)
    • Sorsat mukaan
    • Kännykkäpelien projektimallit oikeaan paikkaan pro-versiossa
    • Kännykkäpelien projektimallit oikeaan paikkaan express-versiossa
  • Kosketusnäyttö-kontrollien lisääminen helposti
    • Rectangle-systeemi
    • Näppäimistö-kontrollien mäppäys kosketus-rectangleihin.
    • Kts. Vesan viestit
    • Ei-suorakulmaiset tunnistusalueet
  • Lisää aivoja, aivojen ominaisuuksia yhdenmukaisemmiksi (esim. nopeus)
    • Koostettuja "meta-" aivoja (ehto: true -> käytä aivoja 1, false -> käytä aivoja 2)?
  • Lisää peliesimerkkejä
  • Musiikin soittaminen WP:ssä
  • Jaetun ruudun peli
  • Marker-olio joka on aina samankokoinen zoomauksesta riippumatta
  • Mahd. optimointia fysiikkaan ja piirtorutiineihin
    • Fysiikkaolioiden paikan interpolointi nopeuden mukaan piirtäessä, kun fps on isompi kuin pelin päivitysnopeus. Jotta mahdollisimman sulava liike.
  • !PlatformCharacter2 kuntoon
  • Parempi tasoloikkapeli
  • Tekstikenttään kirjoittaminen jotakin fyysistä nappia painamalla (ainakin HighScore)
    • Ensin pitäisi olla korjattuna XNA:n bugi joka estää tämän
  • Remove(Widget) ei toimi joka tilanteessa.
  • MediaPlayeriin? tila (playing, stopped, paused), toteutettu XNA:n mediaplayerissä.
  • CreateSymmentricGround()
  • Pelitilanteesta Image (elikkäs screenshot).
  • Listaan parannuksia
    • Listan viimeinen alkio näkyy oudosti sekaisin (ainakin puhelimella)
    • Scrollbar joka ilmaantuu vain skrollattaessa tai kun hiiri on päällä
    • Skrollauksen pysäyttäminen listan lopussa
    • Nimenkyselyn otsikko voisi käyttää tilan paremmin (highscore)
    • Nuoli alaspäin häviää selattaessa (PC)
  • Hiiren koordinaattien asettaminen (Esim. SetWindowSize?-metodin jälkeen hiiri ei reagoi oikeilla koordinaateilla)
  • julkaisuun parannuksia
    • Ei tehdä mitään jos ei ole muutoksia viimeisen buildin jälkeen
    • svn-revisio viimeiseen versionumeroon
    • Tarkka versionumero luokkadokumentaatioon
  • Roadmapin tilalle sellainen olion luonti, joka tekee kokonaisen olion
    • tämä jäi kesken, ei ihan helppo vaikka onnistuiskin - TJ
  • ComTest yhteensopivaksi
    • Testejä

Tekeillä

Lisää nimikirjaimet sen perään mitä olet tekemässä.

TK:

  • Jypelin porttaus MonoGamelle
  • Vaihdettava fysiikkamoottori (peliluokan propertyna)
    • Yksinkertainen arcade-fysiikka mahd. yhtenä vaihtoehtona

Tehty

  • Oscillate-metodille muita aaltomuotoja, esim. saha ja kantti
  • Olion Top, Bottom ym. toimimaan kulman kanssa (bounding box)
  • Kameralle mahdollisuus seurata useampaa kuin yhtä pelaajaa
  • AddCollisionHandler<OmaTyyppi, OmaTyyppi>: parametrina annettu tagi object-tyyppinen merkkijonon sijasta, sekoittuu kahden annetun olion väliseen törmäykseen
  • Tarkista ZoomToAllObjects-metodin toiminta
  • Mario-taso: taso, jonka päälle voi hypätä alakautta.
  • Labelien paikka zoomauksessa
  • Jos pelissä on ClearAll, HighScoreWindow / EasyHighScore ok-nappi lakkaa toimimasta hiirellä / puhelimella
  • Kosketusnäyttö-kontrollien lisääminen helposti: TouchPanel.EmulateKeyboard
  • .net framework 4.5 -korjaus
  • Game.Name
  • Animaatioiden lataaminen suoraan contentista
  • Näyttö, joka laskee kuvia mittarin mukaan (sydämiä, ammuksia tms.)
  • Erilliset kulmatyypit rajoitetulle ja rajoittamattomalle kulmalle
  • PlatformCharacterin? voi poistaa ja lisätä uudelleen
  • Saman ExplosionSystemin lisääminen ja poistaminen aiheuttaa poikkeuksen
  • SoundEffect.IsPlaying
  • Jypelin värit vastaamaan Paint.netin värejä
  • TextureWrapSize toimimaan, Level.Background.TileToLevel-metodi
  • Seuraajan ym. aivot kääntävät oliota menosuuntaan jos TurnWhileMoving-property päällä.
  • SoundEffect.Position -property ja SoundEffect.Stop() -metodi
  • PathFollowerBrain käyttämään Move-metodia MoveTo:n sijasta -> parempi yhteensopivuus esim. FollowerBrainin kanssa + pysähtyy kun otetaan pois päästä.
  • IsDestroying-lippu ja Destroying-tapahtuma fysiikkaolioille. IsDestroyed ja Destroyed tapahtuvat vasta seuraavalla päivityksellä, jotta kaikki törmäystapahtumat rekisteröityvät.
  • Wiki-sivu ColorTileMapille
  • PhysicsStructure keskipisteen liitoksen poisto
  • Widgettien periminen GameObjectista, jotta peliolioille saa tekstiä jne.
  • Dynaamiset oliokerrokset
  • ProgressBar-komponentti
  • Slider-käyttöliittymäkomponentti
  • Kamera seuraamaan pelkästään x- tai y-suunnassa, nopeus kameralle
  • Hiiren painamisen kohdistus olioon pystysuunnassa virheellinen
  • Yksinkertaisempi kuvien piirtäminen järjestämällä oliot layerin sisällä kuvan mukaan
  • Zoomaus nipistämällä
    • Vakio-ominaisuudet: Touch.FollowSnipping, Touch.FollowPinching
  • SplashScreen? nätimmäksi ja WP7-yhteensopivaksi
  • Label.Width asetus ja SizeMode = TextSizeMode.Wrapped -> toimii, toisinpäin -> ei toimi
  • Surface-luokka (ent. Ground)
    • useampia maastoja, olioviite jotta mahdollisuus esim. peilata kattoon
  • Shape.FromImage ei toimi (ks. https://svn.cc.jyu.fi/srv/svn/ohj1s11/pelit/eeolpett/kokeilu/)
  • Julkaisussa vanhan julkaisun poisto vasta, kun kaikki on käännetty
  • Wiki-ohjeet TouchPanelille
  • Tekstin syöttö oman syöttöikkunan kautta WP7:lla
  • Julkaisussa bugi että vanhojen tiedostojen poistaminen ei aina onnistu
  • Wikiin juttua fysiikkamoottorin toiminnasta
  • Fysiikka
    • Maaston luominen hidasta puhelimella
    • Lisää testikeissejä joissa voi muuttaa törmäykseen vaikuttavia parametreja
    • Näiden perusteella "best practice"-ohje wikiin
  • Listan skrollaus sormella pyyhkimällä
  • Imagen yksittäisten pikselien muokkaus
  • PhoneBackButton tai ESC Toptenin nimenantoikkunassa pitäisi sulkea ikkunan (ja näyttää topten listan) LÄHETTÄMÄTTÄ pisteitä listalle (MS vaatimus back nappulan toimivuudesta)
  • AbsoluteAngle ja AbsolutePosition sijoitus
  • Kosketuspaneelin eleiden kuuntelu
  • Rakenne, johon voi lisätä fysiikkaolioita jotka pysyvät paikallaan toistensa suhteen
  • Törmäyskäsittely tyyliin olio.Collided += OlioTormasi
    • Näin fysiikkakomponenttien ei tarvitse tietää onko käytössä perus vai TopDown-fysiikkapeli
    • Lisäksi tapahtumankäsittely yhtenäisempää (vrt. ajastin.Timeout)
  • julkaisuun parannuksia
    • luokkadokumentaation generointi
    • tarkistus alussa, että NSIS on asennettu
    • tietyn tagin kääntäminen (jotta kirjaston versio varmasti täsmälleen sama kuin tagiin laitettu)
  • PushButton asettaa koon layoutin sisällä tekstin mukaan, vaikka rakentajassa annetaan koko
  • build_games.py siten, että ei tehdä svn-juttuja
  • AxleJoint-luokka abstrahoimaan Physics2d:n HingeJointia ja FixedHingeJointia
  • Selvitä miksi kaikki viikon 31 pelit ei käänny
  • Tasoloikkahahmolle hidastuminen kun lopettaa kävelemisen
  • Kuvioiden refaktorointia
    • Widgetin reunaviivan piirto muodon mukaan
  • Widgetin alpha-blendaus ei toimi oikein, esim. valkoinen widgetti minkä tahansa värin päällä, alpha-arvo 0..255 ei mitään vaikutusta --> edelleen valkoinen (ei yhtään läpinäkyvä). Widgetin värillä on väärä blendaustapa?
  • Kontrollibugit
    • Accelerometer.ListenAnalog() ei toimi ClearControls()-kutsun jälkeen.
    • TouchPanel.Clear() ei tyhjennä kuuntelijoita
  • TextFileContentExtension installeriin mukaan
  • Lisää highscore-bugeja
    • liian pitkä nimi pitäisi lyhentää
    • kursori on väärässä paikassa
    • sulkeminen back-napilla
  • Kenttäeditori
    • Staattinen/ei staattinen valinta
    • Tyypin valinta
    • Contentin lataaminen DataStoragen kautta
    • Kentän lataaminen peliin Jypelissä
    • Olion "periminen" templatesta
    • Zoomaus ja liikkuminen
    • Grid ja siihen sovitus
    • Tagin asettaminen oliolle ja templateille
  • Yliopistolle oma marketplace-tunnus
  • Jypeli-Luokkamallit
    • GameObjectin perimiseen
    • PhysicsObjectin perimiseen
    • Widgetin perimiseen
    • Aivojen perimiseen
  • Highscore paremmaksi
    • jos rivejä joista puuttuu nimi niin koko oikeaksi
    • Ok on huonossa paikassa puhelimella, enemmän oikeaan laitaan (voi painaa vahingossa)
    • kursorin vilkkuminen on/off
    • trim()
    • edellinen syötetty nimi pitäisi muistaa
    • Jos ei mahdu kaikki rivit kerralla, niin ikkunan tulisi olla pienempi kuin näytön koko
  • Kontrolliluokkia selkeämmiksi
    • Vain päällimmäisten olioiden tapahtumankäsittelijä suoritetaan
  • DataStorage Xboxille ja Silverlightille
  • Windows Phonen Back-napin kuuntelija
  • MoveTo() -metodi GameObjectille (ja perityille luokille oma toteutus)
  • Widgetit ja ikkunat
    • Kontrollien kuuntelu järkevämmäksi
    • Fokus
    • Tab order ja useampien editboxien tuki per ikkuna puuttuu vielä mutta ei niin tärkeä
  • Ääniefektien lataaminen yhtenäiseksi kuvien ja fonttien lataamisen kanssa
  • Layoutien parantelua
  • Olioiden helppo lataaminen ja tallentaminen (DataStorage)
    • -> tombstoning, pelin tallennus
  • Hyppijän julkaisu marketplaceen
  • ScreenObjectit widgeteiksi
    • SplashScreen
    • HighScoreList parhaille pisteille
    • MessageWindow viestien näyttämiseen
    • InputWindow tekstin syöttöön
    • ListWindow tekstilistojen näyttämiseen
    • ScreenObjectit lopulta kokonaan pois
  • StringList ja ScoreList
  • GPS
  • Kamera
  • Multitouch
  • Kiihtyvyyskontrollit
  • Näytön kierto
  • Tärinä
  • Tekstitiedostojen luku ja kirjoitus (isolated storage)
  • Joitain esimerkkejä
    • Sanapeli
    • Hyppijä
    • SpeedKing
  • Pois Jypeli4.dll:stä, mahdollisesti omiin moduleihinsa (jotta ei tarvii ylimääräsiä oikeuksia)
    • GPS
    • Kamera
  • Widgettien käyttö kosketusnäytöllä