Tuesday, January 29, 2013

Latest tournament of ChessKISS that I'm aware of

Not too bad...

Final Standings

24.0 - ECE 12.01
24.0 - Rhetoric Lite
23.0 - ChessKiss 1.7 64-bit
20.0 - Shallow 1.0 64-bit
19.5 - Adam 3.3
19.5 - Myrddin 0.85 64-bit
17.0 - Vajolet 1.62.1
15.0 - FireFly 2.5.13 64-bit
14.0 - Cupcake 1.0
13.0 - ProChess 1.02AD
12.5 - Soldat III 0.172
12.0 - Dabbaba 6.52
7.0 - Jabba 13032012
7.0 - BSC 3.9# 32-bit
7.0 - Bubble 1.5
5.5 - AdroitChess 0.3 32-bit

Tuesday, January 22, 2013

New update for BB 1.5 and HBF

Here is the what's new:


  • TLayer new method HasAttribute()
  • TGraphicDriver  new method Clear()
  • TGraphicDriver.Available() improved (still need to be improved)
  • New TSprite effect seInverse
  • In a layer the items now can have a priority
  • TLayer.Render() now calls UpdateCollider() (this is mandatory!)
  • New method TLayer.FindAttribute()
  • TSprite.SetIndex() does not longer calls UpdateCollider(), this should be a manual call (like in layer.render)
  • Layers in sprites are associate with a weak reference
  • TSimpleSprite.Assign() assign more variables...
  • In TSpriteEngine when the cache is clear, the related surfaces are destroyed
  • New method TLayer.SetView()
  • View in Layer is created by default not calculated all the time
  • TBackground now uses horizontal and vertical speed 
  • TBackground now has a new control to avoid infinite loops when width = 0
  • Button pressed in joystick fixed
  • Animations now can read ColorKey
  • Layer implement slopes
  • ISurface new GetCRC and RetrieveHeights
  • New AnimationType atRandom
  • Cache moved from TGraphicDriver to TSpriteEngine
  • New TSpriteEngine.GetSurface() method
  • New TLayer.GetCellsAt() method
  • New TSimpleSprite.SetFullBB() method
  • TSprite.SetIndex() now uses the engine cache
  • New ILayer.GetCellsAt()
  • TSpriteEngine now has a default Z to apply to related sprites 
  • TSpriteEngine now has a priority, so Z can be added or subtracted
  • TLayer set Z to TSpriteEngine when rendering an attached sprite engine 
  • The graphics engine now sorts the buffers per supplied Z (this helps a lots when rendering with ColorKeys)
  • TRenderBuffer and TBufferAttributes merged into one single class
  • In TLayer, Zoom property is spread across all items 
  • When a sprite is paused, the timeout is also paused
  • Remove GetSolid/SetSolid from sprites 
  • -Added the concept of vars (key/value) to sprites, so one can freely create variables with values and then get the values
  • Sprites now have the DeleteVar() / FindVar()
  • ISprite now declares GetAttachedSprite and SetAngleSpeed
  • New GetSpeedFromAngle() in BB.Math 
  • TSound
    • New class functions in order to retrieve min/max Volume/Panning 
    • Sounds now have DSBCAPS_CTRLVOLUME and DSBCAPS_CTRLPAN set by default
    • All calls to DirectSound now set the LastCode error


  • New snow attribute, used in level 12
  • New animation when picking coins
  • SpawnAttributes() refactored
  • Some associations are done via TInterfaceHelper.WeakIntf() in order to avoid weird runtime errors
  • CalculateGravity() returns more info
  • Blob dies when lands on lava or water
  • Game.Clear() now calls more methods
  • Added more debug info
  • Fixed some weird collisions with hero and tiles at the top of the screen when there is also a tile underneath
  • Created a new attribute CHECKPOINT, so is easier to distinguish while coding the map start and the map checkpoints
  • New animation when collecting a coin
  • Game is able to detect the scroll direction via attributes
  • Fixed a 1 frame Layer.Y error
  • All maps now have the direction attributes set 
  • Spikes now set the sound according to position and distance
  • New class TSoundDispatcher, all samples are played via that class
  • Joystick support
  • Background now has a 0.25 horizontal speed
  • Background can be paused
  • Sound can be switch off via .ini
  • Fixed some weird top collisions 
  • Items (moving tiles) are treated as static tiles in order to avoid dead collisions
  • OnOff items can be paused
  • Minor map changes
  • New TSpike with volume and panning
  • Hero now has 3 lives
  • When all coins are collected, hero gains a new life
  • Walkside tapes implemented (ugly sprite)
  • Music can be toggle with F1
  • Sound can be toggle with F2
  • Hero now applies acceleration and friction properly
  • Some maps now have slopes
  • Hero interact properly with slopes
  • Collision left/right now return the X impact point
  • Collision lef/right now use the GetCellsAt method
  • All Sprite.Z now are set as constants
  • Ice is tested with both feet
  • Game.Run() cleaned
  • Climb ladders is working when the top exit is also a tile (LADDER_TOP)
  • New unit Constants
  • Added springs (level 12)
  • Use of new vars specially for items (solid, platform, spring, tape, etc), they are used as tags
  • Some methods renamed for better understanding
  • Block items can push us also from left/right
  • Creating items and breaking items now are returned immediately as Collision
  • Handling moving platforms now takes into account hero's vertical velocity
  • ITape removed
  • Extra jump has another sample
  • New unit star 
  • New checkpoint system (much easier)
  • New direction ball (experiment)
  • Now doors have to be opened with a key
  • Fixed again some hero collision issues
  • New unit and class checkpoint
  • New class TPickup root for items than can be picked up
  • New unit and class rays 
Basicly adding new features to the "game" and improving the engine.

Tuesday, January 1, 2013

New year, new version, happy 2013!

HBF project and the framework has been updated.

- Arrows refactored
- New TBlob enemy
- New class TCoin
- TGame refactored
- TGameSprite refactored
- THero refactored
-New item TStalactite
-New arrows (more directions)
-New blob enemy
-New jellyfish enemy
-Stalactite now breaks when contact a tile
-New TBat enemy
-After a new level and after death there are some seconds of Inmunity
-Better ice
-Stalactite works also in vertical scrolls
-new Spider animation
-Spider now detects tiles
-Sprites now have a Z
-Bitmaps are now separated in different files (cleaner)
-New TBoss1 enemy
-TGameSprite.CollisionLayer removed
-THero.Door removed
-Blob can also now start from the air properly
-Hero has a Z now
-Collision adjusted in general using BoundingBoxes
-Presentation colors changed
-Map now attach the main engine
-New attribute NOT_SOLID
-Levels changed
-New element spike
-New GetCollisionData()
-IsSolid widely used
-New element nonsolid, moving items can cross them
-Now levels with darkness can be created (level 8)
-Collision functions now return an enumerator rather than a boolean
-Sparks are generated in the very front layer
-Under some circumstances there was a double top collision against moving items
-Added gameover sound 
-menu screen also shows highscores 
-New setters for State and Facing in TGameSprite
-Animations are set via States
-When on top of a tile and another tile comes from the top and touch our head, hero dies
-Arrows don't stop when hero has immunity
-Fires use another sprite
-New music for level 12
-New sample for spikes

-Removed AnsiString from some classes
-Maps now can be paused
-Layer.Render refactored once again
-New interface ITag
-New TSpriteEngine.Pause() method
-ILayer and ISprite interfaces can be tagged via GetTag() / SetTag()
-Fixed counter stuff in sprites and added some methods, GetCounter() and CounterExists()
-Blinking in sprites done every 6 frames (looks more realistic)
-New TSurface.GetDefaultBB() that scans the surface in order to adjust the bounding boxes automatically (this method is always called from the surface generator)
-TRandom,NextFloat() fixed
-TUtils.InRange() new method
-Fixed nasty bug in bitmap CRC (really!)
-TPolygon renamed to TPolygonEx
-No animation in Pause
-Clip default value in TSurface corrected
-Surface cache is now a UInt64 rather than string 
-Fixed a issue in TSpriteEngine.Sort()
-TSpriteEngine.Clear simplified
-TLayer Attach engine methods improved internally
-When a TAnimationSprite is destroyed the sprites from the pool are also released
-Sprite Counters are aware of the pause system
-IImage is now IBitmap
-ILayer new GetAttribute() and GetTileRect()
-IPoolable = IPool 
-New interface IInterfaced
-TDummySprite implements IInterfaced
-TPooledObject renamed to TInterfacedObjectEx IPooled not longer implemented
-TFontEx has now some new properties like Angle, Zoom and Alpha 
-Texture multiplication is done properly
-TGraphicsDriver Uninitialize now stops the timer
-TLayer dimensions fixed (nasty + 1)
-TLevel has more information like time or type
-Changed the order of the render internally
 1, items
 2, attached engines 
 3, tiles
-Clip moved from TSurface to TDummySprite, so the clip goes per sprites and not per surface (silly idea)

Links updated