Fractal Block World
Version 1.01.10
Back
We updated the Creation Manual and the API
between Lua game scripts and the C++ game engine.
The engine now supports the ability to create
and destroy blocks.
Now the default game difficulty is "curved".
See below for a discussion of this.
See the patch notes below for more
about Version 1.01.10.
Patches
Version 1.01.16:
- Date: April 2024
- The youtuber MarriedToMyChair made a youtube video with many
suggestions, some of which we address in this update.
See here for a discussion of some
of his suggestions and how we deal with them.
- The intended difficulty (the purple cat)
is now called "Normal".
All harder difficulties require a password.
The difficulty that was before called "Normal"
is now called "Gateway".
- Increased the rocket and nuke baseline velocity.
- Increased the rocket baseline max ammo.
- Now getting a rocket max ammo upgrade increases the
ammo capacity by 4 (previously it was 3).
- There is now a new kind of shrinker: the "dangerous" shrinker.
This is functionally identical to a normal shrinker.
However, it has a skull and crossbones which indicates that once
you shrink there, it will be either difficult or impossible
to enlarge there again.
- There is now a box which when you pick it up it gives
you experience.
Previously you only got experience by killing monsters,
and mainly the monster called rats gave you significant
experience.
This experience box has been added to some of the treasures rooms in the
early part of the game.
- There is now a box then when you use it, it causes you to respawn.
This is placed in the Quicksand grass where the only way out
is to respawn.
- The sounds the player makes when he is hurt now have a
cool down period.
So, if you have not been damaged in a while and then suddenly
get hit, it will make noise.
However it will not spam the noise as you continue to get hit.
- Added more rocket and nuke upgrades earlier in the game.
Although I3 is the place where the rocket and nuke start to get really good,
we want to make sure they are at least usable earlier on.
- Added new dungeon area in Small Yellow Flowers.
Now there are towers growing on the side of towers
and so on which have upgrades and ammo.
This allows the player to get rocket and minigun upgrades
earlier in the game.
- Added ammo that does not respawn.
This allows for the placement of more two-way waypoints.
- Change the price of long markers from 30 gold to 20 gold.
In a later version of the game we might make the price depend
on the game difficulty the player has chosen.
- Added a "toll door" type block which goes away once
the player pays a toll.
This is the first time we have used the mechanic
of blocks changing in the game!
These toll doors replace both one way doors and
corridors with white box devices (that take all your ammo).
In some place, we let the player choose whether to go by
a white box device or pay a toll to open a toll door.
- Added story elements to I1 and I2.
- Put Wells in Ying Caves Islands in the deepest areas.
Now it is possible to get railgun upgrades in the Ying World
(at a slow rate).
Version 1.01.15:
- Date: April 2024
- New weapon modes added: High Velocity Rockets
and Big Radius Rockets.
- New area in I3: The tops of Mahogany trees.
Inside the tree tops there is a smaller tree
(the Inner Tree) which is challenging.
- New area in I3: Red Mushrooms.
- Now in addition to being able to enter
commands by pressing tilde, the player can
enter commands by pressing slash.
Pressing slash does not pause the game.
We also simplified the way commands are handled:
now given any command X, the system will try to execute
"X" and if that fails
the system will try to execute "game_input X".
- Added the ability to cap the frame rate.
- The system that tracks which chunks a moving
entity intersects is faster.
We do not allocate and deallocate memory as often.
Also, this system associates a moving entity
to the coarsest level possible.
- Changed the way the game responds to OpenGL errors.
- Updated the game's pointer class.
- Made it faster to convert positions
between different levels.
- The EMP weapon is no longer hard coded into
the engine: it is now soft coded.
As a result, EMP blasts are saved when the player
saves the game.
Also EMP blasts remain when the player
detonates their EMP, teleports far away,
and then teleports back.
- Now the information displayed on the
upper left and upper right of the HUD is
specified by Lua scripts.
The user can create their own Lua scripts
to display whatever information they want.
This is done by adding Lua scripts to the
directory Input/HUD/SideDisplays.
The Lua scripts that are built in are
found in Data/Packages/base/Windows/HUD/SideDispalys.
- Added a way for a package to keep
specified dynamic variables when the player
choose to "reboot" their game.
- The engine now has integer IDs for "chunk changes" objects.
- Now key bindings are saved for each package
in a new directory called PackageState.
This way when the player changes back and forth
between different packages, they do not
need to constantly reset their key bindings
for each package.
- Procedural world generation can now set block
variables of the chunk being created.
- Procedural world generation can now get the
block variables of the chunk being created and its parent
chunk.
- New saved games that are created store the version
of the engine that was used when the user first
created that player.
When the player "reboots" their game,
this version number is updated.
Now the procedural world generation looks at this
version number and if the version is at least
1.02.00 or more, then the world seed is used
when generating random numbers.
So, new games created after 1.02.00
will look slightly different.
Version 1.01.14:
- Date: November 2023
- New areas in I3: Turnip Caves and Beet Caves.
Turnips can be found in Tegan's Garden and in
the center of Mahogany Trees.
Under the ground of Turnips are Turnip caves,
which contain monsters, treasure, more
Turnips, and Beets.
Under the ground of Beets are caverns
where you can find the city of Essex.
- The package_tutorial1 and package_tutorial2
packages are now included
with the game on Steam.
These can be played by the user
and they describe step by step how
the user can create their own package
(a world with its own game rules and entities).
- Block variables can now be set
from procedural world generation scripts.
Version 1.01.13:
- Date: October 2023
- Added a new 3D red/blue glasses mode.
The user can customize the distance between
the player's eyes.
- Part of the red/blue glasses mode is the
player can choose to make the HUD "diegetic",
meaning the HUD is an object in the world
being rendered in front of the player.
The user can customize the width and height
of this HUD as well as the distance from
the player's eyes to the HUD.
- Made menus that require the inputting of a number
more friendly by having slider bars.
This makes the game easier to customize
while using a controller.
Also made other parts of the GUI easier to use
with a controller.
- Updated the engine to use more modern
OpenGL functions
(now the game uses vertex and fragment shaders).
Version 1.01.12:
- Date: August 2023
- Made it so there can be more than two "modes" per weapon.
Now there are 3 additional modes for the plasma weapon:
"Plasma Shotgun", "Hyper Rapid Fire", and "Lightning Rifle".
The original two plasma weapon modes are "Basic High DPA"
and "Rapid Fire".
The player can choose which two modes to use
(with left and right clicking) by opening the weapon mode
window by pressing F7.
A library for all weapon modes can be found in Danville.
- One of our community members configured a setup
to play the game with an Xbox controller!
To help facilitate this, we have made it so the escape and
grave (tilde) keys can be rebound.
Also, it is no longer true that the escape key must be bound to
to the PACKAGE_OPEN_MAIN_MENU action.
Similarly the grave (tilde) key
no longer needs to be bound to the action PACKAGE_OPEN_CONSOLE.
Also, we made it so more in game menus can be used with
only the up and down arrow keys and the enter key.
- Capped the player's experience level at 500.
Also, the bonus upgrades from level 200 to 500 are less strong
(more comparable to the bonus upgrades from levels 0 to 200).
- Made the I2 area more friendly by adding more places to hide
and more stores.
- The primary laser must now hit an enemy in order for the
player to get the recharge shield effect.
- Short and long markers can no longer be removed by hitting
them with plasma.
Version 1.01.11:
- Date: July 2023
- Made is so loading the game when not changing the player
is much faster.
We reuse various loaded data such as
moving entities, windows, game scripts, etc.
- Blocks now have variables associated to them:
bools, ints, floats, etc.
- Moving entities created from procedural world
generation can now move from chunk to chunk.
- Now in addition to the old static global variables that must
be declared in the configuration of the package,
there are dynamic global variables
that can be created and destroyed at any time by the package.
- Waypoints are now stored in the new dynamic variable system,
instead of an older system where there was one file
dedicated to storing waypoints.
- Made a tracking marker: any long marker can be set to be
the "current tracking marker".
The heads up display will show the direction to
the tracking marker and the distance to it.
- New area in I2: Fanatic Rings.
These can be found at the top of Fanatic Weeds.
- New area in I3: Tangerines. These can be found in Rivers.
- Added growth on the floor of Montreal Mazes.
- New area in Space/Mylantis: Edge of the world.
- New area in Mylantis: Ivory Museums.
These can be found inside Iolite Gems.
Version 1.01.10:
- Date: February 2023
- We updated the Creation Manual and the API
between Lua game scripts and the C++ game engine.
- We changed the default
game difficulty so that now everything is "curved".
The player no longer gets more powerful at an
exponential rate.
We curve the strength of both the player and monsters.
This increases the size of the "Goldilocks Zone"
(the part of the world that is not too easy and not too hard).
- The engine now supports the ability to create
and destroy blocks.
When a block is created or destroyed, this is saved
in a chunk file.
- Emeralds are now finished
(these are inside Mylantis layer 8).
Inside of them are Emerald Cities.
- A new area of I3 has been added: The River.
This area has many Yellow Mushrooms and many places
to get EMP max ammo upgrades and also
minigun fire rate upgrades.
- Previously there were many "Lua states".
One for basic entities, one for moving entities,
one for windows, etc.
These have now been merged together.
- CC (ChunkChanges) objects are objects that buffer the changes
made to a chunk. Now we discard more of these that
are not relevant.
This decreases memory usage and decreases saving time.