Page 34 of 60

Re: Offtopic (I/2012)

Posted: Sat Jul 21, 2012 1:31 pm
by naputtelija
Tässähän on vallan mainio tilaisuus loistaa cb-tiimiläisten tf2-taidoilla! Kyseessä on siis tuo epävirallinen tf2-turnamentti joka pidetään assemblyillä.
TL wrote:Säännöt
gamemode:2vs2
class limit(s) :1 Soldier+1medic
sallitut unclockit soldierille:Original,frying pan,Conscientious Objector
sallitut unclockit medicille:Blutsauge,ubersaw,Frying Pan,Conscientious Objector
Mappina toimii: koth_wultiduo_r_b7
Pelataan 30min ,teami kummalla on enemmä pisteitä voittaa,häviäjä tippuu.
Miltä kuulostaisi?

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 2:49 pm
by Sami The Great
Kuuden ja puolen tunnin säädön jälkeen Android-puhelimeni vihdoinkin pyörittää C++-koodia Javan kautta. :D

Käännösprosessi on aika pitkä, sillä ensin pitää tehdä uusi Android-projekti javalla, sitten säätää projektiasetukset kohdillee ja tehdä AndroidActivity ja linkata muutamia kirjastoja, jotka osaa käyttää JNI:n kautta natiivikoodia. Sitten sen jälkeen pääsee tekemään makefilet C++-koodille, jonka jälkeen ajetaan .bat scripti, joka mukavasti asettelee lähdekoodit oikeisiin kansioihin (tähän meni hetki, kun piti tehdä scripti itse). Tämän jälkeen pitää ajaa build_native-scripti, joka tietenkin on shell-scripti, ja toimii vain linuxilla, joten pitää käyttää Cygwin nimistä ohjelmaa, joka osaa ajaa niitä windowsilla. Jos kaikki meni oikein, niin lähdekoodit kääntyy yhteen käännettyyn .so-pakettiin, joka pitää linkittää Java-koodiin. Kun kaikki tämä on tehty, niin paketin voi kääntää Android SDK-apk-työkalulla .apk-paketiksi, joka on lopullinen paketti, josta sovellus voidaan asentaa..
Yhteenvetona on, että testaaminen kannattaa suorittaa käyttämällä Windowsia.. :lol:

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 5:52 pm
by Feuer
Voiko tuolla konfiguraatiolla tehdä jotain, mitä silkalla Javalla ei? :P

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 5:54 pm
by Combatti
Feuer wrote:Voiko tuolla konfiguraatiolla tehdä jotain, mitä silkalla Javalla ei? :P
C++-koodia Javan kautta
Eikös tuo kelpaa vastaukseksi?

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 6:46 pm
by Feuer
Jos C++:n näkee jonain itseisarvona, mutta mietin tarjoaako C++ droidilla jotain muutakin kuin syntaksieroja ja moninkertaisen säätämisen.

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 7:45 pm
by Sami The Great
Feuer wrote:Voiko tuolla konfiguraatiolla tehdä jotain, mitä silkalla Javalla ei? :P
Natiivikoodi on hiukan nopeampaa, kuin java-koodi, joten sitä voi käyttää suorituskyvylle kriittisissä kohdissa. Se miksi haluan C++-funktiot toimimaan Javassa on, että peliprojektimme koodataan C++:lla ja se ei suoraa toimi Androidissa. C++ on alustariippumaton, joten peli toimii jokaisella alustalla missä vain on OpenGL-tuki. Lähinnä nyt Android, iOS, Windows ja Linux +jotain muita. Lueskelin myös, että natiivikoodin tuki olisi tulossa Windows Phone 7:n, koska harva haluaa tehdä sovelluksia pelkästään Windows Phonelle. Muutenkin, jos pelien koodailua ajattelee, niin C++:n puolelta löytyy paljon enemmän valmiita kirjastoja pelien tekoon liittyen, vaikka niitä on Javallekkin alkanut nyt viime aikoina tulemaan. Esimerkiksi en ole vielä löytänyt kuin yhden hyvän Network-kirjaston javalle, ja siitäkin puuttuu salausmahdollisuus jne, kun yhtä hyvin voi käyttää vaikka RakNet:ä C++:lla, joka on Cross-platform-kirjasto.

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 9:04 pm
by skorpioni-cb
Sami The Great wrote:
Feuer wrote:Voiko tuolla konfiguraatiolla tehdä jotain, mitä silkalla Javalla ei? :P
Natiivikoodi on hiukan nopeampaa, kuin java-koodi, joten sitä voi käyttää suorituskyvylle kriittisissä kohdissa. Se miksi haluan C++-funktiot toimimaan Javassa on, että peliprojektimme koodataan C++:lla ja se ei suoraa toimi Androidissa. C++ on alustariippumaton, joten peli toimii jokaisella alustalla missä vain on OpenGL-tuki. Lähinnä nyt Android, iOS, Windows ja Linux +jotain muita. Lueskelin myös, että natiivikoodin tuki olisi tulossa Windows Phone 7:n, koska harva haluaa tehdä sovelluksia pelkästään Windows Phonelle. Muutenkin, jos pelien koodailua ajattelee, niin C++:n puolelta löytyy paljon enemmän valmiita kirjastoja pelien tekoon liittyen, vaikka niitä on Javallekkin alkanut nyt viime aikoina tulemaan. Esimerkiksi en ole vielä löytänyt kuin yhden hyvän Network-kirjaston javalle, ja siitäkin puuttuu salausmahdollisuus jne, kun yhtä hyvin voi käyttää vaikka RakNet:ä C++:lla, joka on Cross-platform-kirjasto.
Javalla on hyvä nettikirjasto, sanooko java.net-paketti sulle mitään

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 9:16 pm
by Sami The Great
skorpioni-cb wrote: Javalla on hyvä nettikirjasto, sanooko java.net-paketti sulle mitään
Jos tarkoitat java.net-pakettia, joka on vakiona javassa, niin se ei oikein sovellu pelikäyttöön. Kirjasto käyttää TCP-protocollaa, joka on hitaampi, kuin UDP, jos pitää päivitellä pieniä määriä tietoa usein. Lisäksi se ei mahdollista ilmeisesti AES-salausta, joka on aika välttämätön, jos lähettelee salasanoja netin yli. Pelikäyttöön javalla käyttäisin kryonettiä. Se tukee UDP:tä, mutta huonommin kuin esim. RakNet, jossa on sisäänrakennettu pakettijärjestelmä, jolla pystyy varmentamaan esimerkiksi, että paketti ei katoa matkalla.

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 10:25 pm
by MaGetzUb
Johtuuko tämä C++:n säätö Javan lävitse Androidilla siitä, että mobiiliprosessorimalleja on useita erilaisia? Vai jostakin muusta syystä... Googlen halusta olla diktaattori tai jotain? :D On kyllä harvinaisen typerää konvertoida/tulkata C++ koodi Javaksi ja sitten suorittaa sitä javakoodia runtimessä. Vai onko sitten mobiiliprosessoreilla joku erityinen tuki javalle, vai mikä lienee vastaus? Eihän esimerkiksi Maemolle ollut aikanaan mitään javatukea natiivina, jos sitä ei sitten jailbreikannut jollain tapaa. :D

Re: Offtopic (I/2012)

Posted: Mon Jul 23, 2012 11:47 pm
by Sami The Great
MaGetzUb wrote:Johtuuko tämä C++:n säätö Javan lävitse Androidilla siitä, että mobiiliprosessorimalleja on useita erilaisia? Vai jostakin muusta syystä... Googlen halusta olla diktaattori tai jotain? :D On kyllä harvinaisen typerää konvertoida/tulkata C++ koodi Javaksi ja sitten suorittaa sitä javakoodia runtimessä. Vai onko sitten mobiiliprosessoreilla joku erityinen tuki javalle, vai mikä lienee vastaus? Eihän esimerkiksi Maemolle ollut aikanaan mitään javatukea natiivina, jos sitä ei sitten jailbreikannut jollain tapaa. :D
Androidin ohjelmistopino koostuu Linuxista, Bionic-C-kirjastosta ja muista järjestelmäkirjastoista, oliokielellä kehitetystä ohjelmistokehyksestä, järjestelmäsovelluksista sekä sovellusohjelmista, jotka suoritetaan Dalvik-Java-virtuaalikoneella. Ohjelmistokehys sijaitsee Java-kirjastojen päällä, jotka puolestaan toimivat Dalvik-virtuaalikoneella.
En tarkalleen tiedä NDK:n toimintaa, mutta oletettavasti systeemi toimii niin, että natiivikoodia ei suoriteta virtuaalikoneessa, vaan C++-funktioita kutsutaan JNI:n kautta Javasta vähän samalla periaatteella kuin dll:ä. Eli itse "pääkoodi" on virtuaalikoneessa pyörivää java-koodia, josta vain kutsutaan natiivifunktioita suorittamaan tehtäviä. Mobiiliprosessorit suurella oletuksella kyllä suorittaa siis natiivi koodin suoraa ilman virtuaalikonetta välissä. Android käyttää grafiikan piirtoon OpenGL:ää, joten sen on pakko suorittaa natiivikoodia jossain määrin omaan toimintaansa. Niin kuin tuossa lainaiksessakin lukee, Ohjelmistokehitys on asia erikseen. Syytä en tiedä, miksi Google on halunnut, että sovelluskehitys tapahtuu Javalla. Ehkä se johtuu juurikin siitä, että jos tehdään uusi prosessorityyppi, niin vanha natiivikoodi ei toimi uudella prosessorilla, mutta sama vanha java-koodi toimii eri virtuaalikoneessa, kunhan vain virtuaalikone koodataan sopivaksi uudelle prosessorille.

PS. Tänään meni rikki 20 000 pelikerran raja Mineral Valleyssa :)

Re: Offtopic (I/2012)

Posted: Tue Jul 24, 2012 6:11 am
by MaGetzUb
Sami The Great wrote:En tarkalleen tiedä NDK:n toimintaa, mutta oletettavasti systeemi toimii niin, että natiivikoodia ei suoriteta virtuaalikoneessa, vaan C++-funktioita kutsutaan JNI:n kautta Javasta vähän samalla periaatteella kuin dll:ä. Eli itse "pääkoodi" on virtuaalikoneessa pyörivää java-koodia, josta vain kutsutaan natiivifunktioita suorittamaan tehtäviä. Mobiiliprosessorit suurella oletuksella kyllä suorittaa siis natiivi koodin suoraa ilman virtuaalikonetta välissä. Android käyttää grafiikan piirtoon OpenGL:ää, joten sen on pakko suorittaa natiivikoodia jossain määrin omaan toimintaansa. Niin kuin tuossa lainaiksessakin lukee, Ohjelmistokehitys on asia erikseen. Syytä en tiedä, miksi Google on halunnut, että sovelluskehitys tapahtuu Javalla. Ehkä se johtuu juurikin siitä, että jos tehdään uusi prosessorityyppi, niin vanha natiivikoodi ei toimi uudella prosessorilla, mutta sama vanha java-koodi toimii eri virtuaalikoneessa, kunhan vain virtuaalikone koodataan sopivaksi uudelle prosessorille.

PS. Tänään meni rikki 20 000 pelikerran raja Mineral Valleyssa :)
Ahaa, tämä selvensi jo enemmänkin asiaa, eli koodista ei tule loppujenlopuksi niin hidasta kuin kuvittelin. :D Onnea muuten 20k pelauskerrasta! :)

Re: Offtopic (I/2012)

Posted: Wed Jul 25, 2012 7:21 pm
by Konstaduck
Pelaako kukaan w.o.tia (Worlds of tanks)? Itselläni ilmeni ihmeellinen ongelma valikossa, kuva selventää asiaa. Pelaaminen ei tuon takia onnistu ollenkaan :(
Valiggo-ongelma
Valiggo-ongelma
shot_001.jpg (170 KiB) Viewed 15477 times

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 6:41 pm
by Feuer
Nyt joku .NETistä oikeasti ymmärtävä voisi selittää miten stringien vertailu toimii. Tilannehan on tällainen, eli luetaan tiedostosta key=val - rivejä, parsitaan key, ja kysytään josko key=="Bold". Ilmeisesti kuitenkin "Bold" != "Bold".

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 6:54 pm
by Sly_Jack0
Feuer wrote:Nyt joku .NETistä oikeasti ymmärtävä voisi selittää miten stringien vertailu toimii. Tilannehan on tällainen, eli luetaan tiedostosta key=val - rivejä, parsitaan key, ja kysytään josko key=="Bold". Ilmeisesti kuitenkin "Bold" != "Bold".
http://msdn.microsoft.com/en-us/library/858x0yyx.aspx

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 6:56 pm
by axu
Feuer wrote:Nyt joku .NETistä oikeasti ymmärtävä voisi selittää miten stringien vertailu toimii. Tilannehan on tällainen, eli luetaan tiedostosta key=val - rivejä, parsitaan key, ja kysytään josko key=="Bold". Ilmeisesti kuitenkin "Bold" != "Bold".
En nyt oikeasti ymmärrä .NETiä, mutta kokeilisin laittaa vertailun sulkuihin (isBold = (key == "Bold")). Jos ei auta, eipä tule muuta mieleen.

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 7:03 pm
by Sly_Jack0
axu wrote:En nyt oikeasti ymmärrä .NETiä, mutta kokeilisin laittaa vertailun sulkuihin (isBold = (key == "Bold")). Jos ei auta, eipä tule muuta mieleen.
En itsekään ole .NETtiin enempää perehtynyt, mutta veikkaisin, että kyse on vastaavasta tapausesta kuin Javan kanssa. == -operaattori testaa ovatko key ja "Bold" sama olio, ja tämän takia tulos on false. Equals()-metodi taas tarkistaa ovatko olioiden sisällöt samat. Pitää siis käyttää

Code: Select all

isBold = key.Equals("Bold");

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 7:13 pm
by Feuer
C# tukee operaattoreiden kuormitusta, ja ne on ylikuormitettu primitiiviluokille. C#ssä myös kaikki on olioita, joten edellisten teorioiden mukaan lukujakin pitäisi vertailla Equalsilla. Lisäksi, kokeilin string.equalsia ja tulos oli sama.

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 8:47 pm
by Latexi95
Feuer wrote:C# tukee operaattoreiden kuormitusta, ja ne on ylikuormitettu primitiiviluokille. C#ssä myös kaikki on olioita, joten edellisten teorioiden mukaan lukujakin pitäisi vertailla Equalsilla. Lisäksi, kokeilin string.equalsia ja tulos oli sama.
Onko mahdollista että parsimassasi merkkijonossa on jotain näkymättömiä merkkejä jotka vaikuttaisivat tulokseen? Eikös tuossa näyttäisi olevan väli perässä kuvasta päätellen? Kokeile Stringin Trim metodia.

Re: Offtopic (I/2012)

Posted: Sun Jul 29, 2012 9:26 pm
by Feuer
Olipa hyvinkin, kuten DICissäkin todettiin. Tarkkaan ottaen rivit eivät kuuluneet "key=val" vaan "key = val", mikä aiheutti ongelman. Trim auttoi :P

Re: Offtopic (I/2012)

Posted: Sun Aug 05, 2012 12:33 am
by Pettis
Teamspeak-serverit ovat oletuksena julkisia ja julkisella listalla. Näin ainakin kun viimeksi TS3:sta asensin.