Thursday, April 24, 2014

Bug fixing, the never ending story

Fixing bugs, do they ever finish? :-)

All binaries should be at skydrive 


  • New Engine.Debug property (it set all related sprites to debug)
  • TLayer.Trace() could raise a AV since under certain conditions a cell can be null 
  • Events from sprites moved to their own new class TEvents 
  • Screen buffers size is now a property


  • Final boss getting better
  • When final boss dies he liberates the key
  • Final boss has a new sound when flapping the wings
  • SpriteFactory now gets IGameServices rather than many properties
  • Arrows behave better against bullets
  • New enemy mine, it  has a gravity factor of 2 and kills Enemies
  • Finally rays have a pillar 
  • New trigger method ItemOffset() in order to change the current tile
  • Die sound is more calm (it was too loud)
  • New horizontal trap doors
  • Bomb has a gravity factor of 2
  • One can observe the rendered tiles (used in final boss for heating ice)
  • New method PreciseCollideAgainstTiles(): bool which tests 8 precise collisions
  • GravitySwitcher now publishes Flashing and Quake duration properties
  • Mirror checks for obstacles (if there is an obstacle then the sprite cannot be mirrored)
  • Stalactite, flame and wall now  properly check for collisions (not only for spatial partitioning)
  • Droid,eye and final boss heats the special ice cubes and also mechanic enemies
  • Eye now publishes initial angle and laser color 
  • Arrows are now enemies
  • Candle vanish slowly
  • New Focus element (used in Colors screen)
  • Focus color can now be set as and mask via DirectColor attribute
  • Spotlight now slows down also enemies
  • Published attributes can now also be enumerators
  • Spider web when touching sprites they get locked until the web disappears
  • SLOW_VAR removed, instead SpeedFactor is used
  • Runes are now shown in the achievements menu and not in the hud
  • Observers are cleared properly otherwise AV
  • Candle new property off so when true it won't emit light when in darkness 
  • A bit clever approach for the sounds pool
  • Fixed a small issue with the steps when taking the key 
  • Now when the default resolution does not work, the game properly restarts at 1024x768

Friday, April 11, 2014

"Close" to finish

Well, it is time to close this never ending project, so I'm just trying to focus on bugs and last boss level.

All files should be at skydrive  (well, sources not any longer)

  • From triggers you are able to pause and continue the game showing some text
  • Trigger dispatcher now gets all the info from IGame
  • New interface IDialog
  • Mummy jumping areas detected more accurately
  • More music!
  • TGame.SpawnAttributes() refactored a bit
  • Rotated coins attributes are now published
  • New sources folder structure
  • Items bound not only when finding a bounce attribute but also when colliding with a solid tile
  • Items can also have set their properties (clouds, on/off, moving tiles, red ball and spring)
  • Last level boss fight! (wip)
  • New sound when balloons explode 
  • Bird does no longer appears from no where... (bug fixed)
  • New sound for eggs 
  • New sound for arrows
  • New sound  for rain
  • New sound for menu 
  • Now pause has a sound 
  • Some pickups have a new sound 
  • Fish animation is now PingPong rather than circular
  • Stalactite does not fall if hero is dead
  • Text dialogs fit a bit better
  • New menu Music
  • Platforms code refactored a bit

  • Font stuff moved to BB.Screen.Fonts
  • New method Layer.GetExtraAt()
  • Map triggers have a new property align which tells the system how to align the trigger (only for collision purposes since they are invisible)
  • ITag removed from some classes since they derived from TObjectEx which already implements that interface
  • TSprite IsOutOfScreen is a bit more consistent
  • Now the engine can be paused  (much more handy and easy than pausing all enemies)

The final boss