Offtopic (I/2012)

Muu yhteisön välinen keskustelu.
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 7:56 pm
Location: Joku piste pohjoisessa.

Re: Offtopic (I/2012)

Post 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?
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Offtopic (I/2012)

Post 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:
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Offtopic (I/2012)

Post by Feuer »

Voiko tuolla konfiguraatiolla tehdä jotain, mitä silkalla Javalla ei? :P
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
User avatar
Combatti
Active Member
Posts: 101
Joined: Fri Jun 29, 2012 6:23 pm
Location: Kuhmo

Re: Offtopic (I/2012)

Post by Combatti »

Feuer wrote:Voiko tuolla konfiguraatiolla tehdä jotain, mitä silkalla Javalla ei? :P
C++-koodia Javan kautta
Eikös tuo kelpaa vastaukseksi?
~Yhteiskuntaan kyllästynyt koodari.
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Offtopic (I/2012)

Post by Feuer »

Jos C++:n näkee jonain itseisarvona, mutta mietin tarjoaako C++ droidilla jotain muutakin kuin syntaksieroja ja moninkertaisen säätämisen.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Offtopic (I/2012)

Post 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.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
skorpioni-cb
Advanced Member
Posts: 364
Joined: Wed Dec 03, 2008 3:48 pm
Location: Turku

Re: Offtopic (I/2012)

Post 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
En tiedä, mitä tiedän, mutta tiedän ettei se ole mitään kaunista.

I know not what I know, but I do know that it's not beautiful.
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Offtopic (I/2012)

Post 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.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Offtopic (I/2012)

Post 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
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Offtopic (I/2012)

Post 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 :)
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
MaGetzUb
Guru
Posts: 1715
Joined: Sun Sep 09, 2007 12:35 pm
Location: Alavus

Re: Offtopic (I/2012)

Post 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! :)
Solar Eclipse
Meneillä olevat Projektit:
We're in a simulation, and God is trying to debug us.
User avatar
Konstaduck
Advanced Member
Posts: 267
Joined: Sat Dec 17, 2011 3:09 pm
Location: Nurmijärvi, Finland
Contact:

Re: Offtopic (I/2012)

Post 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 15406 times
Konstaduck.net
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Offtopic (I/2012)

Post 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".
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Offtopic (I/2012)

Post 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
User avatar
axu
Devoted Member
Posts: 854
Joined: Tue Sep 18, 2007 6:50 pm

Re: Offtopic (I/2012)

Post 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.
Jos tämä viesti on kirjoitettu alle 5 min. sitten, päivitä sivu. Se on saattanut jo muuttua :roll:
Image
Sly_Jack0
Devoted Member
Posts: 612
Joined: Mon Dec 10, 2007 8:25 am

Re: Offtopic (I/2012)

Post 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");
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Offtopic (I/2012)

Post 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.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Latexi95
Guru
Posts: 1166
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Offtopic (I/2012)

Post 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.
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Offtopic (I/2012)

Post 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
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Pettis
The Evil Admin
The Evil Admin
Posts: 1044
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: Offtopic (I/2012)

Post by Pettis »

Teamspeak-serverit ovat oletuksena julkisia ja julkisella listalla. Näin ainakin kun viimeksi TS3:sta asensin.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja
Post Reply