Engine Status

Small sample of the current state of the game engine, written in C++, for Rockbot:


I would say that the port is done around 40%, but should progress fast from now on, sinse great part of the most complex logic and methods was already ported.

C++ is fun, but sometimes, is not

As vezes o C++ cria alguns problemas chatos. A idéia de uma linguagem com orientação a objetos é que cade peçado (classe/objeto) é uma entidade independente, mas que pode conter outras entidades. O problema começa quando você tem dois tipos de entidades diferentes, como NPCs e Players,q eu tem que fazer cálculos levando em conta a outra entidade, que ela no conhece. No caso do Rockbot, a classe game, possui duas listas, uma de players e outra de npcs, e cada uma destas, contém uma lista de projéteis, o problema é que cada elemento da lista precisa acessar a lista do outro tipo de elemento, para fazer verificações de colisão e proximidade. Vou ter que pensar muito bem em uma solução.

 

Press Start to Continue…

Hey folks, long time no see!

Sorry for the recent lack of new, but I was in the process of buying an apartment for myself and move to it, so since november things were a bit complicated, and when april arrived, all went crazy with fast moving to the new place, fixing several problems on it, and also, work was a bit tiring as I am in a kind of a new position that demands much brain effort. Long history short, now I’m living on my owned place, have started to relax a bit, and am trying to resume the work on Rockbot were it was left. The C++ port is doing well even if it is a lot of work; it is very fast so far, and as the code is much more logic, it will be simpler to program for, once the porting is finished. I hope to release some new version next month, but keep in mind that it is a complete new code, so a lot of fatures from the old one are still being reimplemented, and will be missing for a while.

See you guys soon!

Complete Rewrite

 

Taking the opportunity given by the file-format chances, we are starting the complete rewrite of Rockbot in C++. This decision was being matured a long time ago, and basically, is because:

  • confusion in keeping a ANSWI C code organized
  • good support for C++ in our chosen platforms to port
  • coding simplicity thanks to heritage, hash tables and vectors

It will take a time to adapt all again, but we are sure that this will lead to much faster development from now on.

Twitter

Once our work now is for long, to implement a lot of stuff in the editor, we will post fwe news here in the game site blog, but stay tunned in our twitter (@RockbotGame), que is visible in the site’s right side, for often updates.

Backend

After a short period of rest and vacations, work on Rockbot is being resumed. We are working more in the structure and backend, so there is nothing new to show up, but the bug number have gone sky rocket. This situation should last a pair of months, but after that, we’ll have all the structure needed to finish last adjustments and release the final version.

Meanwhile, the artwork is being greatly improved, and we plan to start working on Dreamcast and Android ports, also adjusting image for centering image on resolutions that are bigger than default, but not high enought for scale 2x.

Goodbye Nintendo DS, and also 0.1

We decided to change our plans a little bit. As we started implementing things that were suposed to get only on later versions, and the game engine matured really well, instead of doing a series of zero-dot (0.X) versions, the next one will be focused in refactoring file-architeture in order to have much less hardcoded stuff, but not as much as initially planned. In short, some stuff we tought like manually adjusting initial X and Y for each NPC sprite, will not happen, as it adds too much complexity and have little advantages to the player/editor. What will make is a better separation of elements, like was already done for object list, meaning, instead of a map object list being part of the map file, a separated file will contain it, being a little more like a SQL database with relations. This will allow us to change file-format without having to redraw the entire map, meaning faster improvements in editor and game.

Finally, we set a new standard for minimal hardware requirements:

  • 320×200 display
  • 16 MB RAM
  • CPU must be fast enought to run game at 30 FPS

This means, the Nintendo DS port is now out. Sadly the hardware and most important, the SDK, is too weak to support a multi-platform game written in SDL. A native port is possible, but it will not be on our radar if someone else does not take over it, we will focus on pure SDL coding. For people that have a DS, I recomend to buy a Dingoo A320 or GA330, or hope for a decent SDL port/SDK for DSi/3DS.

0.1 Release Candidate 1 Released (Rock&Roll)

After more than two months, we finnaly bring to you a new version.

Go to our downloads section to get binaries for Linux, Ubuntu 10.04, Windows, Playstation 2 and Dingoo (Dingux).

The changelog from beta7 is:

  • corrigir problema de botões no menu (corrigir esquema de read_input e game_mode)
  • array de teclas deve ser INT e não CHAR
  • estrelas maiores devem ser cinza
  • melhorar “pisca” do player quando invulnerável (está muito rápido)
  • inimigos tem que ter um hit-timer para ficarem invencíveis por um segundo, como os players
  • direcionar debug para arquivo stdout.txt
  • spiked chain não deve ser destruída no hit
  • chefes tem que ter um hit-timer para ficarem invencíveis por um segundo, como os players
  • EDITOR: implementar fator de zoom
  • direcionar debug para arquivo stdout.txt
  • ajustar sensibilidade do análogo para PS2 e PC independentemente
  • implementar direcional digital no PS2
  • corrigir problema em que player muda tipo de animação no meio do pulo
  • refinar velocidade e gravidade do pulo
  • corrigir problema em “got weapon” onde não anda para o meio se passou dele
  • teleporte voltado para esquerda não está aparecendo
  • corrigir problema de pulo+espinhos depois de barreira
  • descobrir porque player fica invulnerável após morte (hit == 1?)
  • melhorar dano de espinhos
  • plataformas que se movimentam “derrubam” jogador para dentro das paredes
  • itens colocados via editor não estão funcionando corretamente
  • pílula só deve ser barulho se HP OK – pular sobre escadas ainda está dando problema
  • corrigir pequena discrepância na posição vertical da tela (área cinza)
  • implementar morte para 2 jogadores (player reaparece na mesma tela, junto do player que está vivo – não pode ter 2 mortos simultâneos)
  • (URGENT) corrigir scroll para 2 player mode
  • (SERIOUS) em 2 player mode, ESC não sai do jogo (PC)
  • criar flag LINUX, WIN32 e colocar PC (Linux e Windows) no projeto – ajuda com alguns ifdefs
  • tecla de quit deve funcionar apenas em PC e Dingux
  • (URGENT) objetos só testam player 1
  • (SERIOUS) na água, se esbarra em uma parede, volta a gravidade normal (devemos testar meio do player/terrain apenas)
  • menu deve ser chamado indepententemente para betabot e rockbot
  • (FEATURE) betabot must shot two projectiles at once
  • colorcycle deve ser aplicado também sobre nível 3 de tiles
  • implementar sistema de checkpoints (no loadMap, se a posição do mapa for < RES_W, é checkpoint) – na versão 0.2 isso será uma lista em stage
  • congelamento de tempo só pode parar um único chefe (magebot)
  • animação de hit deve seguir o player/npc
  • animações de hit devem sumir quando o player morrer ou trocar de tela OK – new gravity system more similar to megaman games
  • (SERIOUS) quando atingido, se está segurando o botão de pulo, está pulando automaticamente
  • add a animation state for transition between stand and moving called OK – add a “scroll lock” terrain type, similar to boss door, but without doors animation/sound
  • (URGENT) blocks are falling
  • to not block top and botton in colision. if player leaves by bottom, dies (holes).
  • fix door/scroll-lock right to left (infinite loop) OK – show 3rd level on “ready”
  • dying makes the music reset to apebot’s OK – (SERIOUS) stage intro dialog is showing again when player dies
  • must show player and NPC on boss dialog OK – (SERIOUS) moving left/right platform not working
  • (URGENT) crashing when loading a stage after beating a boss OK – teleporter is returning to the first used one always
  • implement teleporters return (for 8 bosses room in skull castle) OK – (URGENT) create a new type of terrain that is meant to be checkpoint
  • (URGENT): npc grtempaphics are using filename as key. this is wrong, as we can have different NPCs with same graphic file, must use name instead.
  • (URGENT) when beating a boss and dying, is returning to previous stage (must set checkpoint to new stage)
  • (see checkpoint terrain) – boss door 1 must save checkpoint – novos npcs: c) DONE – morcegos d) DONE – shooters de teto (atira uma na diagonal, uma reto) e) shooters laterais
  • allow user to define NPC direction in editor
  • different damages according to weapon type for bosses OK – (SERIOUS) ready is showing in the top-left after first blink in Dingux, similar problem for Destrin ship
  • (URGENT) fix jump on stairs
  • (URGENT) items placed with editor are not being shown in game (do not allow dot in the name)
  • (URGENT) player is heatting the head too soon
  • colorcycle is not working well in intro (have to add one extra colorcycle in the start with a very small timer)
  • user key reading in intro is too slow, so keypresses are being lost (had a bug with new/load screen not showing)
  • (SERIOUS) item colision check is bad (falling from jump item if a bit to the left) (removed reducer)
  • (URGENT) intro and dialogs are out of place (showing dynamite in spike)
  • only show weapons adquired
  • jump should not pass the screen maximun (y + ph > 4), but must keep the gravity calc
  • add jet and coil “you got”
  • TEST – jump is slow in Dingux: need to refactory in order to move the same amount (x axis), but faster (more yinc)
  • (URGENT) with the new jump gravity system, player if “kicking” in the water
  • fix star speed by using sdl_surfaces for stars/bg instead of fill_rect
  • (SERIOUS) check weapon damage in bosses, seems like it is not working
  • moving cursor in weapons menu should move only to the first available weapon, not empty positions
  • fix got weapon sound effect repeating
  • need small music for castle intro
  • check and improve color-cycling in the game intro (is failing in the dingux)
  • adjust timings in intro
  • IA para Apebot
  • ending (rockbot or betabot over train)
  • show boss energy
  • player2 energy must be placed under p1
  • thinner energy bars
  • (URGENT) [PS2] intro feeezes (probally due to colorcycle)
  • INITIAL_HP must be used in NPCs only for bosses
  • [PS2] the “you got” second line is showing trash
  • (URGENT) [PS2] teleporters are sending player to the wrong place
  • [PS2] trash appearing in credits
  • (URGENT/RE-TEST) [PS2] corrigir problema de botoes do player2 no PS2

The Nintendo DS port is still absent, and should be our focus for RC2.

We hope you enjoy and, if find any problem, tell us.

Bugfixing

The bugfixing period is going well, and I would like to take the opportunity to explain why the absence of the Nintendo DS port. It happens that, during beta7 development, we expanded the tileset image size to fit the images for the new stages. We then found, sadly, that the DS cannot load a large file (large meant pixel wise, and not memory/filesize). The solution is to shrink the image again and refactor some maps, or separate, only for the DS, the tileset into two files. Sadly, the DS is a very bad machine to develop for, and so, the solution will still take a while.

Beta 42, I mean… 7, released!

For the nerds out there, and also to follow the release of a new Ubuntu Linux, we decided to honror the 42 day (101010 in binary) with the launch of out last beta of Rockbot 0.1! From now on, we’ll have only bug fixing of small new expansions, until the end of the year, and version 0.1 should be really nice, once we are already very content with today’s release.

Go to our downloads section to get binaries for Linux, Ubuntu 10.04, Windows, Playstation 2 and Dingoo (Dingux).

The complete changelog from beta6 is really big, but this release highlights are:

  • Fully playable (if you do not hit a bug) 8 stages and final boss.
  • Music for all stages and bosses.
  • More sound effects such as shot reflection.
  • Player death – after dead first time, you become half-invulnerable; makes easier for testing, will be removed on next version.
  • Sprites for all bosses.
  • Better artificial inteligence for NPCs and bosses.
  • Weapons for all bosses – for testing, you do not need to defeat the boss to try it.
  • Scaled window for Windows and Linux, as 320×200 is very small in a computer monitor.
  • Better menu – can leave pressing attack button now.
  • Water terrain and fixes on stairs and colision.
  • Port for Dingoo (Dingux).

The Nintendo DS port is absent until we fix some problems related to sound and music in this platform, but we have a new port, this time for Dingoo running Dingux.

We hope you enjoy and, if find any problem, tell us. And do not forget your towel!

Esperamos que vocês gostem, e se acharem algum problema, nos informem. E não esqueçam sua toalha!