Sunday, October 20, 2013

Playing with new levels and enemies

Keep evolving HBF, I hope one day I'm able to have a proper artist so I can mention this project with no shame.

Binaries and sources can be downloaded at the moment from SugarSync,  from readme:


  • When TSpriteEngine renders sprites it should had add the z not subtract it
  • New property for sprites UseEngineZ, by default is true, add z to engine z or just plain z
  • New property for sprites UseZForHash, by default is true, useful when sprites are moving around z and one does not want to create different buffers
  • When retrieving available resolutions we can now pass a ratio parameter, so resolutions with different ratio might be skipped (in HBF is 1.7)
  • New level 13 (abusing of gravity)
  • Game checks for key and door when loading a map
  • Time and coins are now always shown in the top of the screen
  • TLaser was missing property Z
  • Many changes in sprites z.
  • Hero's tail, Fire, Grass, Spotlight and Eye were having wrong Z (forgot that non auto handled sprites do not have engine Z)
  • Arrow is no longer an enemy but an element
  • Door now has a z
  • Game collision refactored
  • New crush method so in the future we can do something different 
  • Boss1 falling too early fixed 
  • New enemy crab 

Cluod being angry (yes is not cloud :-)


A "bit" of gravity

That's it for the week

Tuesday, October 15, 2013

Graviting in HBF

Some new interesting stuff has been added, like: grass, tails and gravity.

Binaries and sources can be downloaded at the moment from SugarSync,  from readme:

Fixed an issue with ClipLine() when parameters were equal to Width or Height
LineH() was not working properly
Line() was not working properly
TLayer, each possible different tile is now created on demand rather than only one continuously being modified
Sprites now support distortion (incline, etc)
New color blue sky
TFontEx can be read from BigFile
New interface ISurfaceDistortion
Fixed an issue that was freezing surfaces twice when they were created as cached (like shadows)
Added ZShadow (the depth that you want in relation to the main sprite)
Some shadow stuff was wrong
New property TSimpleSprite.Painted which tells after Render() whether the sprite was drawn or not
D3D can render to texture (preliminary)
Fixed overflow bug in TSurface2Poly, scan could excess the surface limits causing random AV

Game now supports different gravities
Rays are generated in real time
Menu is more elegant
Menu screens refactored
Hover now bounces properly
New element grass (affected by wind)
Density can be defined in grass
New pickup Diamond that liberates coins when taken
Removed ApplyUpdate, duplicated property
New interface ISpawn
New class TGravityCoin
Spider does not try to enter energy ball when in immunity mode
Fixed memory leak in mirror
Trying to reduce the number of resources that are created in the game (switching to create on demand approach)
Hero and enemies now cast a shadow
Tuned once again the collision between hero and door
Fog is less foggy
TEnemy,RotatingDie property deleted
Bat refactored, some collision issues fixed
Hero can now have a colored tail
All tile comparisons are done via IsSolid() and IsEmpty()
Hero can't overstep bomb
Slowdown not affected when in immunity
New element Gravity
New interface IGravity
Coins can be affected by Gravity

Coins falling:

Moving grass:

Those arrows invert the current gravity:

Hero's tail:

Wednesday, October 2, 2013

HBF, improving usability

Trying to improve the usability of the menu

Binaries and sources can be downloaded at the moment from SugarSync, from readme:

  • TSprite.Cached was accidentally removed, fixed
  • Resolution can be changed on the fly via TGraphicDriver.Instance.ChangeResolution()
  • Hover, new enemy 
  • Blobs removed, silly ending
  • Spotlight colors are generated in real time
  • Spotlight now slow downs hero when touching
  • Demon lava splashes correctly
  • Coins issue fixed (rotated ones were not counted properly)
  • New interfaces IGameSprite, IHero and IShield 
  • Resolution can be changed in the menu 
  • Volume can be changed in the menu