Alpha 40 Build Notes

** NEW PLAYER AND GAME REQUIRED FOR THIS BUILD **

File Structures
* (Change) All memory files have had their prefixes changed, removing the “mem”. Is now redundant (because all files will be memory, no more tps).
* (Change) Game, Player and Region files changed from tps to memory.

Save Files
* (Change) Big change. There are now two types of save game files. Player and Game. Basically, Player info kept in the Player file, and Game World info kept in the Game file.
* (Add) Save files are encrypted.

Terrain
* (Add) Grass added to the “Surrounding blocks” logic on harvesting a block.

Alpha 39 Build Notes

Map
* (Fix) The changes to the Region file structure and logic (Alpha 37) meant that the Map logic also had to change (but didn’t, until now!).

Sentients
* (Change) When re-populating the Sentients, the code now adds:
(Current Total + 1) TO Random Ceiling Total Sentients
– didn’t use to have the +1.
– Can’t see how this will solve the “slow game” problem, will keep looking.

Containers
* (Add/Update) Containers (Wooden Chests at the moment) are in and working. You can transfer (drag n drop) between Inventory and Chest (and the other way around).

Alpha 38 Build Notes

Items
* (Change) Durability of Wooden Pickaxes and Flyswats increased a little bit.

Recipes
* (Fix) Even though a Recipe could not be made (showing red), there was a chance of a “1” showing (logic thought it could still make one).

Game
* (Fix) The memory files were not being cleared on closing the game window (only when the main window was closed down). Now, when the game is disposed, the memory files are scoured clean also. Fixes some wierd stuff with Recipes and wotnot when you load a game again from the main screen.

Sentients
* (Change) Instead of re-populating the Sentients both on the day/night cycle AND on a timer (was about every five real-world minutes), have removed the timer, so re-population only happens on the day/night cycle. This is in an effort to track down the “slowing” issue, also to keep things simple.

Alpha 37 Build Notes

** NEW GAME REQUIRED FOR THIS BUILD **
– Recommended that you start a new Player also.

Rivers and Better Terrain

Rivers and Better Terrain

The World
* (Fix) The Player (that’s you!) could get stuck at the edges of the world.

Day/Night Cycle
* (Fix) In the code that removed the Sheep at night, the delete call was trying to delete from the BadSnail queue rather than the Snail queue (copy paste and didn’t change it).

Interaction
* (Fix) When you click on a Waypoint, you no longer “action” (arms waving about).

Terrain
* (Add) Rivers! The world will now have a small number of rivers traversing from top to bottom and left to right.
* (Add) BIG NEWS .. The world you start a game with is now saved and loaded! That is, the world no longer randomly generates each time you load it.
* (Add) The sides of the Regions are now “noisy”, or “not straight lines”.

Regions
* (Fix) When using waypoints, the incorrect Region record (for another Game!) could be chosen.
* (Update) “Order” field added to the Region file, so that for each Game, the Regions have a set order, across then down (x then y).

Waypoints
* (Fix) Some significant issues arising out of the new “Order” field above in Regions meant that a bit of dodgy Waypoint code was revealed. Basically was not filtering by Game, was just getting the first record in the file (if you had multiple Games, big problem).

Help
* (Update) Intro Help image updated to new interface.

Game
* (Fix) On exiting a game and then loading a game (without leaving the main game window), the Image Cache group was not being cleared, and would result in a GPF.

Sentients
* (Update) Better placement logic on generation (now using standardised “can we place here” routine).

Alpha 36 Build Notes

Character Screen
* (Change) The ESC key will now close the window.
* (Change) Removing the two “Description” controls in the Character window. They were the cause of most of the slowness of opening and closing the character window.
* (Fix) The above change fixed a gpf that would occur when you clicked on an “empty” equipment slot which was active (Chest, Legs, Tools, Weapons, Hands, Head, Light Source).
* (Add) Simple text description controls for the Equipment/Inventory page and the Recipes page. These are TEMPORARY .. They don’t look nearly as nice as the html controls.
* (Change) The 49 Inventory square controls have been replaced with one. It’s beautiful.

HUD
* (Add) Popups now give a description of what the HUD panels are.
* (Change) Health and Experience popups no longer follow mouse. Same standard as the other HUD popups.

Clock
* (Change) The Game Clock started at year 1024. This was relative to the story .. But for the moment, changed to “0”. So that when you see the time string on the new HUD popup for the Day/Night cycle, it shows the actual time your character has been in the game. Also, you start everything on 0, rather than 1, except for the hour, which is 6 (am, so you start at the first morning).

Liquids
* (Update) When a block is harvested next to Water or Lava there is a chance it will flow into the newly harvested space.

Alpha 35 Build Notes

Interface
* (Change) Removed the “Maximise” attribute for the main frame, for the moment.
* (Change) HUD now within the Game window.
* (Change) Experience bar moved up the top right.
* (Change) The Character window now appears in the middle of the game screen, and Pauses the Game while open.
* (Add) New “Welcome” screen. From here you can play the game. Exiting a game comes back to here.
* (Change) Help icon changed.
* (Change) Location of some messages changed. — this is temporary, as the messaging system needs an overhaul.
* (Add) Ballikin icon added to the various dialog windows.
* (Update) Text added to Waypoint window.

Alpha 34 Build Notes

Character Window
* (Fix) It was possible to try setting values in the Inventory with a zero-value ID lookup.

Terrain Generation
* (Fix) A lot of the terrain generation (particularly in Caves) was not properly checking to see if the block could be placed (that is, checking Player placed stuff, etc).
* (Update) When clearing the area around the player, player-placed things won’t be removed.
* (Update) Order of generation adjusted. Most things happen before player history is processed, but Trees happen after.

Campfires
* (Fix) Campfires were not being displayed correctly when _inside_ the Player sight radius.
* (Add) Campfires now have their own light radius.

Player Placement
* (Change) I had turned off the ability to “keep placing” holding the right mouse button down. This was a silly decision. It’s now back, more intelligent hopefully (doesn’t continually open and close chests).

Alpha 33 Build Notes

Installer
* (Change) Embedded a UAC Manifest into the ballikin.exe file from the SetupBuilder installer NOT the app itself.

Start Windows (Player, World)
* (Change) Various changes, wording, pictures etc.
* (Update) If exited (key press ESC) then the main window will now close automatically.

Initialising
* (Update) Logged added to the Audio init (sends to DebugView if any audio files do not exist).

System
* (Update) Incremented the file versions, hopefully help with the “errorcode 47” error people are experiencing.
* (Change) Images and Audio location changed from APPDATA to COMMON_APPDATA (again). Data (save games) kept in APPDATA (logged in user).

Help
* (Add) Added an “Intro” page on the help window, which is a breakdown of the Ballikin screen (basic).

Alpha 32 Build Notes

Interface
* (Change) Removed the “ThisWindow.Reset(1)” calls when the Game window notifies the Character window for refreshing the Totals and the Character tab info. Refreshing takes place on a field level.

Character Window
* (Fix) The background color of the equipment slots would alternate between gray and white. Made white for the now.
* (Change) “1” and “2” in the equipment slot titles have been changed to “Right” and “Left”.
* (Change) “Legs” and “Feet” equipment slots have swapped with the Tool slots.

Memory
* Started working on reducing the memory footprint. Cleared about 40-50 meg by making the Object / Block architecture leaner. The Block class used to have “Item” as a parent. Item has “Object” as a parent. Set the Block parent to “Object”, and created a new PlayerBlock class to handle the blocks that need more info than what the Block class gives.

Mobs
* (Update) Min/Max numbers for a region decreased overall for Sheep, Pinkeyes and Bad Snails. This is because of speed. So once we get better code for pathfinding etc, then I can increase this number .. Maybe.

Day/Night Cycle
* (Update) Sheep are now removed at night-time (when it changes to night, and on loading a game where it is nighttime.

Sound
* (Update) AND WHAT AN UPDATE! Instead of “PlaySound”, and thanks to the most excellent MG (you know who you are), Ballikin is now using the MCI interface.
* (Add) New sounds: Player Hurt, Recipe Create, Tool Break.
* (Change) “Pickup” sound changed (was too loud).

Drawing
* (Fix) Wowza. Removed a line of code that was supposed to be drawing black squares for the blocks outside of the sight-range .. when this was already being done elsewhere. HUGE speed increase. Lag gone.

Alpha 31 Build Notes

Chests
* (Add) Wooden Chests are in the game. They are fairly inexpensive to make, but do require Stone, so will need to get beyond the first “suburb”. They don’t do anything except open and close at the moment. There is no “inventory” display/functionality.

Non Block Blocks
* (Change) So there used to be a queue that held “blocks” like Doors and Chests. As with the GameItems queue, GPFs could occur because there wasn’t any synch logic (accessing, reading/writing queue from multiple threads at same time). So it’s now a memory file. AND what is really cool is that using a LONG field in the file record, I can now store the address of the class instance.

Interface
* (Change) BIG CHANGE. All main windows (Game, Character, HUD) are now found within the one MDI frame. They are always open. Other windows like the Map and the Menu are still popups.

Terrain Generation
* (Update) Trees should no longer spawn near any Player-placed blocks. Pretty lame logic really, but will do for the moment (trying to stop trees from growing in your houses).
* (Update) Water has undergone a similar logic (but not exactly the same) as Trees.

Character
* (Update) Info next to each of the character attributes (STR, DEX, CON).