Angstron Micro Edition updated
Finally got some time to get this up and running again
grab it now!
http://batterypoweredgames.blogspot.com/2009/11/angstron-micro-edition-v11.html
Maemo-SDK+

And thats why it rocks. Without SDK+, this image would be impossible without faking.
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…


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?
BZK and lightning
Due to my graduation thesis, I’ve been working on my lightning and shading algorithm for the render. The results?

The shades feel much more realistic, but also gives the level designer more work, as he/she has to lit everything.
Im still finishing my thesis, but when its done, I will figure out how to deal with that
Just check out the screen shot from this post and compare with the screenshot from this post. You can clearly see improvements on lightning. After both screenshots, I’ve also added (with little to no impact on rendering quality) pre-baking the lightning, so it doesnt need to process all the static lightning over and over every frame. Now I only have to take into consideration the doors. Im about to give this a proper solution before commiting the code to SVN.
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.
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.

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!
tackling the monster of subdivision
Its been a while since I was working on conbed and monobed so I can design a “free form” level in monobed and leave the hard work for conbed. And today, It seems that finally worked!
While that old tutorial still applies, now I have envisioned a new way to design maps. Just design as you want the rooms to be. You dont need to set the connections and all that bullshit. But make sure the sectors you want to connect touch each other perfectly (no more, no less). and then, give it to conbed and it will crunch it for you and spit a optimized version. You can even make it split the sectors in equal sizes (à la voxel importing, defining the size of the resulting sectors indeed!)
the results are impressive:
I know, this seems trivial, but its not. Belive it or not, we only have 9 sectors in the map depicted above. If this were drawn as a voxel first, we would have 687 sectors! I’ve just tested this map on the 770, using the riddler binary and it worked very well too! The same scene, on the 770 would be a lot slower.
However, due to some bugs in the frustum culling, sometimes, it will be necessary to break some bigger sectors. Every case takes a diferent solution.
Anyway, this “fix” will be available very soon @ svn. The SVN is almost finished. hold your breath.
be careful with your things when experimenting
After another distrastrous EZX+SDL SDK attempt, I corrupted badly my Ubuntu system and right now Im re-installing it. Be careful with this ( http://forum.motofan.ru/index.php?act=ST&f=158&t=145454&st=0#entry1108914 ). I will try it and let all my (“0″) readers know more on how to use it on a ubuntu stock system. (“complete idiot’s to SDL development for EZX”)
I just discovered that I lost also my most recent version of BZK code, so Im re-working my last two days of work. I really screwed, as I didnt updated the SVN for a while. Lucky me I had the code on the EeePC (a great machine for control-sampling debugging). This time, I will fix everything in the SVN and you will be able to retrieve all sources from Riddler and Angstron.
I learned my lesson doubly: Im going to keep the SVN source updated at least weekly and Im going to use my old DSL-remastering tutorials (http://corporatedrones.wordpress.com/2007/01/11/remasterizando-damn-small-linux-parte-1/ , PT-BR ) to create a special linux for my personal use, just to develop for EZX. (Maemo is well behaved enough to be on my main system). Virtualization is bliss
Installing the Maemo Gregale SDK – an updated guide
Im writing this as of august/2008.
FYI, Im not responsible of the consequences of this tutorial or anything related to it. If your N770 turn into a zombie TabletPC and start a zombie-run looking for fresh penguin blood, its not my fault.
Lots of things happened to the Maemo community and its fair that they moved on (they’re pushing the edges of penguin mobile computing to the edge, and the EeePC , in my point of view, is a direct consequence of it). The documentation on the installation of the SDK is a bit outdated, so Im going to deliver a more updated view on it.
My system is a Ubuntu 8 x86 32bit box.
My reference: http://maemo.org/development/documentation/tutorials/maemo_2_2_tutorial.html
as you finishing extracting all the scratchbox packages, please run /scratchbox/run_me_first.sh
I dont know why they omited this, as it was part of the docs before.
then proceed the installation as indicated until you have to login into scratchbox for the first time.
then , you will probably face some weird error messages:
You have to add these two lines into /etc/sysctl.conf :
vm.vdso_enabled = 0
vm.mmap_min_addr = 4096
After this, reboot your system.
Then, as you proceed, you have to copy the rootstraps to /scratchbox/packages. Make sure you change the file permissions to allow everybody to read them.
Also, as you login, the guide will instruct you to run sbox-config. This tool was replaced with sb-menu. So you have to configure it in a new way. When you have to select the rootstrap file, there is another catch: You have to place the cursor above it ,PRESS THE SPACEBAR AND THEN ,ENTER.
And finally, when it is asked to you where to install the stuff, select all the options. It will complain about /usr/include/asm, but you can safely ignore it (I guess so).
I just tried it with a test build of The Riddler running fullscreen on the 770. Works fast! Even with the lightning on!
Angstron debian package final releases
Finally, I’ve learned how to create debian packages the correct way, so here we go =-)
update:
Release candidate 2 – now with good icons, full sound and music (no music for 770 version due to the lack of native OGG support )
http://sourceforge.net/project/showfiles.php?group_id=167767
EeePC users:
if you have a customized menu, Angstron will override it. In order to run , take the binary from inside the debian package (angstron-0.99-EeePC/data.tar.gz/./usr/bin/angstron) and copy it to the same folder of the regular debian package.
OR
you can always checkout the source code from sourceforge (http://www.sf.net/projects/bzk ) and run angbuild.sh. I did it several times FROM the EeePC.
Now, I must state this:
I wil stop working on BZK from now on. I have to graduate and this gamedev thing got on the way. I will probably fix demanded bugs and work on it for my grad-thesis, but no new feature will be incorporated.
I will also stop the work for “The Riddler” and every other side-project I have. Very sad, but true…
PS: the last Maemo release still worth as the definitive, as I changed little things since then.
The saddest thing is that the EZX release was around the corner and even more the PocketPC port, as I had it compiling, but not linking…
funny icon, huh?
-
Recent
- soon, on your regular java phone
- Angstron Micro Edition updated
- It came from the cave – EGM
- Maemo-SDK+
- SVG rendering on C#
- some good news around the street corner…
- Angstron 2 released!
- BZK and lightning
- Angstron 2 – finishing touches
- How indie are you?
- Nokia Ovi store – Maemo left out
- WillItStand – Macintosh
-
Links
-
Archives
- November 2009 (3)
- October 2009 (1)
- September 2009 (1)
- August 2009 (1)
- July 2009 (1)
- June 2009 (1)
- May 2009 (1)
- April 2009 (6)
- February 2009 (9)
- January 2009 (2)
- December 2008 (1)
- November 2008 (1)
-
Categories
-
RSS
Entries RSS
Comments RSS




