Corporate Drones

All your browser are belong to me

Maemo-SDK+

Screenshot

And thats why it rocks. Without SDK+, this image would be impossible without faking.

October 14, 2009 Posted by nomadsoul | H4X0|2, Maemo, english posts, kudos, linux, mobile | | No Comments Yet

some good news around the street corner…

I will only post this picture those pictures right now and you will figure it out. Later I will explain more and lay down my plans for the next months…

multi

Screenshot-map

To Banshee, Newbie_X11 and Thanatos: Yeah..im giving in! Its about fucking time! Let the texture mapping begin.

To everyone else: both experiments are still VERY early and currently unusable. The texture mapping is mostly a very insecure code (handling video memory directly) and very inneficient. Im tweaking as much as I can. Im still trying to figure out how to do floor and ceiling textures fast.

The multiplayer code already be obtained @ SVN,but is very unfriendly and not very useful. Right now, all it does it sync both players on the map, but doesnt handle game logic at all.

I sincerely dont know how long will it take to finish this, as now Im working (as a intern) at Nano Games (hoohay! gone pro!) and we’re developing some really cool games (after all, I would only join a company if I really like their games).

There is a third experiment that I might post here around the weekend…who knows?

August 21, 2009 Posted by nomadsoul | EZX, Eee, H4X0|2, Maemo, announcement, anuncios, defective-by-design, do-it-yourself, english posts, gamedev, gaming, linux, mobile, ubuntu, windows mobile | | 1 Comment

Angstron 2 released!

Screenshot-angstron2_EZX_Motorola_A1200i

Among changes are bug fixes and major revamp and the levels and graphics. Please check it out @ http://batterypoweredgames.blogspot.com/2009/07/angstron-2-droid-hunter-release.html

BTW, I entered the GPC 08 indie game competition with Angstron 2 on mobile games category. Let the best win.

July 22, 2009 Posted by nomadsoul | EZX, Eee, Maemo, announcement, anuncios, do-it-yourself, english posts, gamedev, linux, mobile, ubuntu, windows mobile | | 2 Comments

Angstron 2 – finishing touches

UPDATE: wanna try this? so follow this link - http://batterypoweredgames.blogspot.com/2009/05/angstron-2-droid-hunter-beta-test-2.html

Finishing the last debugging, improving speed (for the first time, Im quite satisfied with most of the game speed. but level 3 is still my concern) and – to my shock – solving some plataform specific issues:

- Sound in maemo. I dont know whats wrong, but the sounds is not working with the 770. I will look over the old angstron1 code @ garage to see whats wrong…

- Memory footprint in EZX. The A1200i handle the first two levels graciously, but the game dies when loading the third, after a lot of time loading.

- Also on EZX: The chapter screens need some serious re-work .Ok, they need some re-work on all plataforms, but on EZX  its far worse.

- And finally, on EZX, I dont seem to get the icons working on the menu again. I had it working in the past. I dont know whats wrong now.

For desktop PC and EeePC  everything is fairly done.

And now, some teasers!

My plans is to have the game finished and released for the Rio Game Show 2009

May 6, 2009 Posted by nomadsoul | EZX, Eee, Maemo, announcement, anuncios, do-it-yourself, english posts, gamedev, gaming, jogatina, linux, mobile, ubuntu | | 1 Comment

Angstron 2: Droid Hunter finished-almost

UPDATE: ITS FINISHED!!! http://corporatedrones.wordpress.com/2009/07/22/angstron-2-released/

Hello folks.

I guess I’ve finished all the ingame  assets for Angstron 2: droid hunter. Sure the render is not ready for prime time (but it does perform decently in most cases), but this is a matter of time.  In any case, I’ve got a OpenGL version of it fully working and a OpenGL ES version is on the way.

My previous decision of scrapping level 2 was aborted (hence you will see the horde of morcegos in all its glory), but almost all the levels need some better POV-BSP-prunning during rendering before shipping. There are several points with some minor visible artifacts , some culling errors here and there and a few slowdown spots. While for a freeware game where there’s no compromise, I cant simply allow this to be released.

The game play remained unchanged from the previous beta releases, with some adjustiments still to be made.

The 2D artwork is seriously faulty and in need to be re-drawn. This is going to be a looong paper-and-pencil-than-flatbed-scanner-then-inkscape process. Dont hold your breath.

The game was somewhat delayed due to my lack of luck with UNIX this last weekend (http://corporatedrones.wordpress.com/2009/04/14/solaris-ubuntu-xandros-eeepc-problemas-meu-dia-de-azar-com-unix/)

The release will reach both Maemo 2.2 and the upcoming Maemo 5 (“fremantle”, powered by hardware acelerated OpenGL ES!), EZX , EeePC (this time, with a better packaging system, from the official SDK!)  and desktop linux.

April 14, 2009 Posted by nomadsoul | EZX, Eee, Maemo, announcement, anuncios, do-it-yourself, english posts, gamedev, jogatina, linux, mobile, ubuntu | | 4 Comments

Solaris + Ubuntu = Xandros – EeePC = problemas (meu dia de azar com UNIX)

Não instalem OpenSolaris com Ubuntu Linux. Os dois não se dão bem.

Tive sérios problemas durante essa pascoa por causa disso.

O OpenSolaris não apenas não tinha o driver da minha placa de rede, como também ignorou a presença do Ubuntu. Tentei de restaurar de forma gentil de tudo quanto é forma. Por fim desisti e instalei outra versão do ubuntu por cima. E o problema sumiu…para aparecer outro…

Cerca de duas horas depois, meu EeePC começou a se desligar sozinho assim  que o X iniciava. Tentei formatar – nada. Tentei retirar a bateria e re-colocar – nada. Por fim, tirei a bateria e deixei apenas na tomada e ele funcionou. Devia ser algum sensor com problemas. Assim como meu cerebro nesse meio tempo. Explico:

Durante as diversas tentativas de resolução de problema, peguei o CD de recuperação que veio com o note e botei no drive (isso porque, me lembro de ter lido em algum lugar que colocando esse CD no drive, ele gravava o sistema nalgum dispositivo flash que depois poderia bootar e regravar a imagem squashFS do sistema básico do Xandros) , mas este começou a gravar o Xandros em meu HD! Até eu notar que a luz do pendrive na USB não estava piscando, ja tinha feito todo o estrago. Nem o PartED deu jeito… Nisso , eu perdi:

- A ultima versão da BZK (sorte que tinha uma versão de 3 dias antes no mesmo pendrive)

- A ultima versão do MonoBED: essa eu perdi mesmo

- “fatsource” – é como apelidei a versão original de onde eu fiz o fork pra “leansource” da BZK na qual estou usando com base no momento. Com backups bem antigos, mas creio que com backups no SVN

- Originais dos assets do Riddler e do Angstron2: droid hunter.

- It came from the cave mobile (um demo simples)

E muito mais coisas. Repito: façam backups o tempo todo!

Não preciso nem dizer que o lançamento de Riddler esta agora ainda mais atrasado e que eu estou tentando agilizar Angstron2 pra evitar perder mais.

April 14, 2009 Posted by nomadsoul | Eee, H4X0|2, anuncios, defective-by-design, gamedev, linux, ubuntu | | 2 Comments

configurando um SDK para EZX (com suporte a SDL)

Conforme prometido, aqui estou novamente tentando ajudar meus colegas hackers a portar seus jogos favoritos pro celular e sacanear os losers do iPhone.

Admito que durante muito tempo eu tinha desistido, mas hoje resolvi tentar novamente. E dessa vez tomei todo tipo de cuidado para não fuder meu sistema novamente.

Tive que proceder do zero. Portanto , esqueçam os outros posts.

1) instale o crosstool , que é um compilador gcc para ARM Xscale. Eu instalei em /opt/crosstool, até para concordar com a minha instalação de CeGCC, em /opt/mingw32ce.

Com este pedaço, ja é possivel compilar aplicações console. Teste compilar alguma aplicação simples e uma complexa. Se funcionar, prossiga. (eu teste usando o conbed)

2) instale o SDK do Blackhawk. É fácil de achar no google. O nome do arquivo é: a1200-e2-e680i-SDK.tar.gz

Com este SDK , ja é possivel compilar aplicações gráficas. Experimente compilar o demo do pictureflow.dando certo, prossiga.

roube o script setenv-1200.sh do fonte do picture flow para algum lugar seguro.

3) instale aquele games-env-linux do russo ucraniano (desculpe pela confusão, lubomyr!) maluco (acho que lubomyr , o nome):  games-env-linux.tar.gz

Ao contrário das instruções doidas em russo ucraniano, eu joguei toda a arvore dentro da arvore do crosstool. O unico ajuste que eu fiz foi trocar a definição de prefix em /opt/crosstool/bin/sdl-config , de /usr/local para /opt/crosstool

4) copie /opt/crosstool/lib/libsdl.* para a raiz do seu cartão de memória ou para alguma pasta de sistema do seu telefone (não tenho cojones pra isso).

sempre que for compilar qualquer coisa, execute:

source setenv-1200.sh (dependendo de onde você colocou o script)

para testar, peguei a versão que eu tinha modificado do meu raycaster que funcionava em PocketPC e recompilei com poucos ajustes para EZX. a linha de comando foi:

arm-linux-gnu-g++ -pipe -L/opt/crosstool/arm-linux-gnu/lib -L/opt/a1200/lib -L/opt/a1200/lib/ezx/lib -L/opt/a1200/ezx/lib -L/opt/a1200/lib/ezx/lib/inputmethods -L/opt/crosstool/lib  -L/opt/a1200 -I/opt/crosstool/arm-linux-gnu/include -I/opt/a1200/ezx/include -I/opt/a1200/qt/include -I/opt/crosstool/include -mcpu=iwmmxt -mtune=iwmmxt -w raycaster.cpp  -o raycaster `/opt/crosstool/bin/sdl-config –cflags –libs`

Tentei seguir hoje (15/04/09) esse tutorial e essa linha de comando não funcionou comigo. Mas a linha de comando que tinha no SVN do BZK , pra compilar o Angtron2 funcionou:

arm-linux-gnu-g++  -L/opt/crosstool/arm-linux-gnu/lib -L/opt/a1200/lib -L/opt/a1200/lib/ezx/lib -L/opt/a1200/ezx/lib -L/opt/a1200/lib/ezx/lib/inputmethods -L/opt/crosstool/lib  -L/opt/a1200 -I/opt/crosstool/arm-linux-gnu/include -I/opt/a1200/ezx/include -I/opt/a1200/qt/include -I/opt/crosstool/include    -O3 BZKmainHunter.cpp  AppStart.cpp -g3  -w -o hunter_ezx `/opt/crosstool/bin/sdl-config –cflags –libs` -lSDL_gfx

Legal né?

Daniel “NeoStrider” Monteiro->H4X0|2++; ;-)

Update: pelos comentários, tem gente me confundindo com o wyrm, que creio também se chamar Daniel ( ja conversamos algumas vezes por IM e ele até me ajudou a rodar OpenMoko no A1200i). Eu sou NeoStrider, não Wyrm!

ai vão os screenshots:

19-02-09_202519-02-09_2027

February 19, 2009 Posted by nomadsoul | EZX, do-it-yourself, gamedev, linux, mobile | | 7 Comments

Mid Feb 09 Report

I just realised how screwed up I am! I “released” Riddler about 6 months ago and consistently looked at it for most of this time (but still I dont consider Riddler a finished product, as I consider Angstron) and never got it:

a HUGE typo in the game logo!

fundo_alt1

I dont know I missed that for so long. But thats it. these last two days I had a really HARD work to adapt the menu system I wrote about a year ago (back in Toronto) to work with vector graphics and parsing its contents from a XML (very similar to WML). Maybe its time to ditch all the art, and maybe even change the game name. The game itself doesnt contain any riddle! More on that later.

Now, for something completely diferent

You probably heard it before: ” Never optimize it early. Always make sure it works from end-to-end first, and then optimize it”. I just saw it on a book Im reading (again):  “Data structures and program design in C++” by Kruse and Ryba. Its a nice book. kind of a encounter of the old school and the new tendencies from late 90s. Kind of a entry-level art programming book. You would rather read this before reading Cormen or Knuth ( Kruse->Cormen->Knuth).

But about this lemma, I have a counter-argument when we’re dealing with open source software.  Optimizing it early attracts attendion and helps gathering momentum to the project. And every possible consequence to the Linus Law. And goes in acordance with “release it early and release it often”. Others will come and fill the gaps on functionality and fix bugs. The important thing is to show something compeling.

Of course, dont take my work to the last extremes. As my wise teacher , Vinod Rebello ,from college once said in class: “there’s always a trade-off”.  Developers might get frustrated by the lack of functionality or maybe readable code. Indeed, Im very surprised on how people could actually read the Linux Kernel code.  Its very annoying! But thing is: Linus released a very 386-optimized UNIX-like kernel and that attracted atention. Plan carefully your releases, even when releasing often. Repetitive and irrelevant releases might also get away with help. I learned this the hard way…

As a last note:

From the last post, I said I was about to test World of Goo. Well…

HOLY SHIT!!!111 Too bad I cant buy it from Brazil. This game is AWESOME! I dont remember playing a Linux game so well finished. Unreal Tournament 2004? not even close! I felt like playing some fancy video game in a last generation game console.

Other game taking my time is Warzone 2100 – a former closed source comercial game made open source and ported to linux. The game is simple, but very inteligent (well, not its unit IA)  and very adictive!

February 18, 2009 Posted by nomadsoul | announcement, anuncios, english posts, gamedev, gaming, jogatina, kudos, linux, phallacy | | No Comments Yet

A Ubuntu Update

Great news, me fellows!

You probably remember my rants over linux about hardware compatibility. This last weeked only completed something I was very suspicious for very long time:

Ubuntu hardware compatiblity is now BETTER THAN with Windows!

To explain things a little bit:

Until ubuntu 7.10, my wireless dongle would FREEZE linux. That was got me very angry at that post. At 7.10 , ubuntu finally detected it, but couldnt make it really work. After that I gave up and got on with my life.

Until last weeked, were I brought my dongle to the GGJ, as a spare internet system. And it came into use gracefully.

After the GGJ, I got home and tried formating the XP (to get rid of the virus) and installed every possible driver for it and the damn thing doesnt work. On my sister’s Vista it worked after a lot of try-and-guess. And the thing is almost 2 years old!!!

Next is my Webcam: It used to work with XP but doesnt work with Vista nor Ubuntu…kind of. 8.10 finally detects it! I had a test with it, installing a video capture software. The image is completely messed, but its not a random image. The mess moves when I more in front of it – its just a matter of time!

Finally comes my bluetooth dongle, that requires LOTS of drivers to work on Windows, and works out-of-the-box in Ubuntu since I bought it (around 7.10).

And what about the Windows Apps I need? Wine is doing just fine too! Lost of game that I had already give up got playable! X Wing vs Tie Fighter works very well (except for the sound) , UT 2004 works well both on the windows and the native version! Road Rash works very well too! The only stuff not working right now is Star trek – Starfleet Commander: Orion Pirates and ActiveSync (yes, some Windows Mobile devices are actually good. Just like my A-11 that just resurected!)

Now, what about my rants on 8.10? I keep them. 8.10 is very unstable on my machine! (I suspect it is also quite unstable on the EeePC) I got back to 8.04 , that was very unstable at the begining too, but quickly got very good. I hope 8.10 also get good very soon. But I still need 8.04 for Google’s NativeClient. I hope I can get my webcam to work with it too.

February 5, 2009 Posted by nomadsoul | defective-by-design, english posts, linux, ubuntu | | 2 Comments

Global Game Jam update

Try our game!

http://www.globalgamejam.com/games/it-came-cave

dont forget to vote sincerely!

Ok,  now Im quite recovered from the big thing.

I’ve attended the Rio de Janeiro instance of Global Game Jam (it was on my university anyway!)

Anyway, after a lot of preparations, installing Windows XP, Visual Studio (from Academic Alliance) and XNA 3.0 and a Ubuntu 8.10 fresh dual boot I was “ready” for it. Kind of.

ggj13

Day 1:

In there I faced , in the first 5 hours of work, a unworkable enviroment. I didnt know where to begin. I wasnt used to create games creativily in such a crowded place. I rambled. And to complete my dispair: My XP got a virus from Carlos thumbdrive, the wireless only worked on Ubuntu (!!! more on this later) and this Ubuntu was very unstable.

Getting on track was a difficult step, but certainly a great step. Once I got the pace of things, it was very easy and after a faux start (I misundertood the theme), I started codding: The basic graphical core of the engine was done in about 2 hours!

After that, I spent another 4 hours on a SVG render for C# – Me and Rubia wanted sleek graphics that a sprite renderer couldnt provide. And SVG was the answer. Or at least looked like. After about another 2 hours since I started , I had a SVG (the BZK Logo) working on a GTK# window (code done in Mono!) and another 2 hours fiddling this code and the weird XNA polygon pipeline and I gave up. The SVG always laked a few vertices that made the image look wrong.

After dropping the SVG idea, I had to get some sleep. The sun was shinning again.

Carlos stood behind, still coding something like a random terrain generator or something like that.” He’s crazy anyway!”

Day 2:

After some 6 hours of sleep (looks like I had more sleep that some teams alltogheter and maybe I hold the sleeping record of the GGJ), I was ready for some more.

Time for some game mechanics. Carlos wants me to code it OOP, but Im all Structured-Programing here. There’s no need of OOP for such a project and such time constrainct. He kept complaining until very late of that day, while there still I had the chance to do it with classes, but I , as the captain, got as stubborn as I could to resist the idea. He wasnt really wrong at all. And neither was I.

By that time, the BZK gaming model came to my mind. Diferent states being diferent numbers and treated like different entities, but somehow related by a number range. The result is very buggy but its almost working.For the IA we had a very loose definition on how the IA should work and we settled on two basic algorithms , to make the monsters run into each other. One being very smart (“cheating”) and the other being dumb. (Angstron IA algorithm).

In the afternoon I decided to try to clean up Windows, as a new virus had appeared and was getting in the way. Unfortunatly, ClamAV couldnt solve the problem and I lost 2 hours on this. Damn it! I also finally came up with a good song for the game: We vs Death – And how we translate it. I already had this file in my computer, from a pack of CC music I downloaded. And after a quick check, their Creative Commons restrictions allowed me to use it! Great!

Also during this scanning time, I went out of the room with Carlos’s Palm Zire 72 to record some sounds. Mine got shabby, but then I discovered in Carlos a real voice talent! With him, we recorded some taunts the miner would say after killing the monsters. Carlos is a real Duke Nukem!

Almost in the end of the day, I finally had the smart IA algorithm working (after two tries) and everything else was in place. Rubia had just finished the artwork in SVG and during the final 30 minutes of the virus scan I was turning everything into sprites and adjusting the aspect ratio. After we got the final artwork in place, the thing started looking like a game! I got confident that  we could finish the game! Rubia was very excited. She never have seen any of her drawings turned into a interactive animation!

Carlos had just finished his algorithm and was getting it into the game engine (And he didnt test it before porting it from Delphi to C#!). He pointed that me the fact his algoritmo worked better with BIG maps and all I wanted was a small -no scroll- map. I was afraid the player would get lost in easily. But Erick (from the Torresminho Team) gave the idea of a minimap and showed me how to implement it. Finished! The sun shines very hot though the window – Time to get some sleep.

day 3:

Sleepy sleepy boy. Another 6 hours of sleep!I was working on the IA and the game mechanics. After a a while, I finally came up with a idea of a dumber IA algorithm. re-using a scraped IA and mixing it with the smarter IA. And it works VERY WELL!

Time to finish it up! Rubia got into creating still images for the “menus”, Carlos was fixing timming and I was finishing the game mechanics. In the end , we paired to fix the losing and victory conditions and we still had to code the game state for the tittle , game over and victory screens. In the end, we got it, but quite on mark. Almost 20 minutes to the deadline. And I perceive the gamestate as the only annoying bug in the code (aside from some defective “gameover detection code”). Quite good for a 43 hour gaming marathon. Too bad I overslept , lost too many time eating and scanning the computer. And there also the times I needed internet and I had to reboot for Ubuntu.

Aftermath:

The actually enjoyed this game more than I expected. While the code is messy, its functional and somewhat stable. Game Design-wise its  very solid(Carlos had the great idea) and entertaining. I want to port it right away! Carlos also told me so yesterday. Too bad XNA is not very cross-plataform on itself , but it should be very easy to port it to Java.

What I got from all of this:

- I can do more than I imagined

- I must trust Carlos even more (we always do our assignments togheter, as we know and trust each other’s methods)

- I got a SVG C# reader!

- I want to port Carlos map generator and make it generic

- Wireless is a bliss

- Audacity rocks

- Gimp and Inkscape too!

- Lack of sleep makes me moody

UPDATE: for a while, we were:

1º in Rio de Janeiro

1º in Brazil

4º in the Global ratings. Nice er?

Now the stats got completely scrambled again, but at least I had this peak!

February 5, 2009 Posted by nomadsoul | H4X0|2, defective-by-design, do-it-yourself, english posts, gamedev, gaming, jogatina, kudos, linux, ubuntu | | 2 Comments