Hive Time

v1.2-23 changelog

Greetings, fellow friends-to-bees!

One last patch to close the year out, and this one comes with a new trailer!

I had the idea for this trailer before what would eventually be the Hiveversary Update Trailer, but it didn't make sense to lead with that for something that should be more focused on the game's birthday. Chat integration also isn't exciting or important to all players, making this even less of a good fit for the kind of broad-reaching additions, fixes, and tweaks that the Hiveversary Update brought. It is valuable to some though, and I'm glad to have found time to make something that specifically addresses it!

Today's patch mostly focuses on quality-of-life fixes, but there is one notable new feature - a Bee List screen accessible from the Throne Room, which shows the hive's entire population broken down into a couple of categories. It's not particularly useful for navigating the constantly fluctuating population of regular bees on a medium sized hive, but it is perfect for keeping track of chat bees and special bees, as well as exposing the entire lineage of past and present Queens.

There are also a couple of optimisations that may make a difference to large hives on some systems. Construction indicators are now cached and pooled, so in most cases, pauses when construction begins on a cell should be entirely eliminated. Chat bee speech bubbles now reliably point in the right right direction. Save names shouldn't end up with _quicksave_quicksave_quicksave on the end after manually saving and loading quick saves a few times.

It's not all fixes though! There's a new Find Your Own Fun option allowing the first Queen's name to be customised before the game begins. A whole bunch of new names have been added to the name pool. There's even a new vinehopper fact, and it's about secretions.

Hive Time's come a long way during its first post-release year. I hope that it has been enjoyable for everybody, and that you all find reasons for joy, wonder, and healthy bumbling in 2021.

Buzz buzz 🖤

Full changelog

  • Added bee list Beepedia topic
  • Added angled scrollbar for bee list management screen
  • Added bee list management screen to Throne
  • Added some new bee names
  • Added custom queen name FYOF option
  • Added dropdown icon and option list styling for main menu option buttons
  • Added resource pause icons to HUD for production pause and no foraging zone states
  • Added newlines to resource tooltips
  • Added vignette dev command
  • Added music dev command
  • Added say_message() fallback when say_bee_message() for a dev bee fails
  • Added alternative version notice when current version number is greater than remote version number
  • Added alternative version notice when running test builds
  • Added make_way_for_bee() call when spawning a new Queen
  • Added nectar and pollen to production mappings as coming from Exits
  • Added polling for construction progress materials (currently pre-instancing and pooling 40 instances)
  • Added clean_up() function for clearing lingering references
  • Added placeholder chat bee dialogue sounds
  • Added Debug::trailer5()
  • Added portrait small icon
  • Added queen dead small icon
  • Added vinehopper fact #3
  • Updated vinehopper fact #2 image
  • Updated a bunch of reference lists and scene references to be const in bee, cell, and player
  • Updated Camera::follow_bee() to take a target zoom
  • Updated Beepedia::handle_url_click() to show category if topic is not present
  • Updated Bee::say() to take a speech bubble orientation parameter for trailer 5
  • Updated Bee::say() to clear existing speech bubble when message is empty
  • Updated ChatSpeech::update_chat_position() to use offset from bee origin rather than detailsAttachment
  • Removed some extraneous logging
  • Refactored construction effects to reside in and be handled by currentHex instance
  • Refactored research effects to reside in and be handled by currentHex instance
  • Refacroted currentHex assignement and freeing into Cell::set_current_hex() and Cell::clear_current_hex()
  • Refactored music player to use a DEFAULT_MUSIC_PATH constant
  • Refactored vignette activation
  • Refactored Bee::acquire_bee_sound() to be more self-contained
  • Refactored Debug::do_sequenced_events() into multiple functons
  • Refactored camera rotation calculation to use rotationMin and rotationMax rather than hardcoded values
  • Optimised bee exit use tracking a little
  • Optimised cell processing slightly
  • Fixed gift voting UI capturing mouse input events
  • Fixed queen name substitutions not behaving for ghost queens
  • Fixed leaked hat instance when getting next hat name during text subsitution
  • Fixed Builders returning to workshop instead of heading to next construction site when enroute to a construction site that has finished building
  • Fixed bee distance travelled calculation occurring when distance is zero
  • Fixed say_message() not ignoring username case
  • Fixed queen cost not applying when the current queen population is zero
  • Fixed pre-isntancing not happening when loading a hive
  • Fixed visible backfaces on queen bowler hat
  • Fixed bees not acquiring new sounds after being pooled
  • Fixed a case where bees without chat names being registered as chat bees on load
  • Fixed feminine names FYOF setting not being respected when loading a saved game
  • Fixed possible case where research and construction particle effects were not being pre-instanced
  • Fixed pre-instancing of research and construction effects not applying correctly
  • Fixed past queens not having chatName property
  • Fixed pre-instancing not clearing cell area nodes properly
  • Fixed crash when setting research outside of the research menu
  • Fixed currentSaveName not clearing _quicksave and _lastsave from save names when loading
  • Fixed all chat bubbles using the same background regardless of position

v1.2-9 changelog

Buzz buzz!

A small QOL patch today with a couple of new items.

The Beepedia now has a page explaining the "chat users" resource. It's brief, but hopefully clears up any confusion about what that is from players who're eyeing off the Manual Chat Bees option. I've also added mention of the icon and its significance to the Chat Insutrctions screen that's accessible from the Community Settings menu.

Continuing the Hiveversary Update's focus on exposing the Beepedia more, each management screen now has a Beepedia button that links directly to the relevant Beepedia page. Having trouble grocking Foraging? There's that button. Can't understand Defence? Smash button, receive information.

Enjoy!

  • Added chat users page to Beepedia resources topic
  • Added reference to chat useres to special bees Beepedia page
  • Added mention of chat icon to chat instructions
  • Added chat gift icon to chat instructions
  • Added some new facility subsitutions
  • Added Beepdia button to all manamgent screens
  • Added larger icons for gift voting options
  • Added error sound when manual chat bee can not be spawned
  • Added a timeout bar to gift voting UI
  • Added Player::make_way_for_bee() to handle killing non-special bees to make space for manually spawned chat bees
  • Refactored updating of gift voting time UI
  • Updated special_bee effect handling to use make_way_for_bee()
  • Updated throne radial menu icon ordering to be more consistent with other cell types
  • Updated storage cells' menu icon ordering to be more consistent with other cell types
  • Updated image for management screen close buttons
  • Updated chat gifts icon to include a bow on the present box
  • Updated dev gifts icon to include a bow on the present box
  • Updated dev messages to use a larger font
  • Updated gift voting font size to be larger
  • Updated supporters list in credits
  • Fixed closing Beepedia when in a managemnt screen not unpausing the game

v1.2-6 & v1.2-7 changelogs

Greetings, fellow bee friends!

Today brings two patches, the first with a very quick fix for a crash inadvertently caused by some of the object leak fixes in v1.2-5.

The second patch also fixes a crash that could occur when inspecting past Queens' portraits. While fixing that, I noticed that old Queen portraits were getting duplicated when loading a lastsave and then going to a new hive, so that got fixed too.

Doing that kind of shaving during my lunch break lead to a few other fixes, a new Find Your Own Fun option for anybody who'd prefer all of their bees to have feminine coded names (Hive Time doesn't depict drones, so...), and a fun new gift voting option that turns the 3D view upside down.

Enjoy!

  • Added camera_rotation effect
  • Added camera flip gift voting option
  • Added !upside_down dev command
  • Added !queen dev command
  • Added feminine_names_only FYOF option
  • Updated chat bee death message duration to be 4 seconds
  • Fixed crash when freeing pre-instanced firework
  • Fixed gift voting event icons sometimes not displaying
  • Fixed new_bees_special effect not consistently creating special bees
  • Fixed possible crash when inspecting Queen portraits
  • Fixed hive lastsave occurring after left-behind Queen has been added to pastQueenList, resulting in a duplicated portrait when loaded

v1.2-5 changelog

Another quick little hotfix today to address gift voting icons not displaying, and manual chat bee costs not applying. I also took the time to address a couple of object leaks that had crept in and tweak the Wax Audit event's balancing a little.

Enjoy!

  • Updated wax audit repairs to cost 2 wax per cell
  • Fixed some gift voting icons not displaying
  • Fixed manual chat bee cost not being applyed
  • Fixed leaking objects in bee, player, and firework
  • Fixed IRC handler getting confused during prefill if already connected

v1.2-3 changelog

Buzz buzz!

Super quick hotfix today to address gift voting not displaying. I've also updated the community settings screen behaviour to disable chat username input when chat host has been set to the Twitch IRC interface, which prevents some opportunities for invalid configurations.

Enjoy!

  • Added some extra logging when attempting to reconnect to chat on leaving the community settings menu after settings change
  • Updated menu theme to better distinguish disabled LineEdit widgets
  • Updated event voting to not display if chat is not currently connected
  • Updated gift voting to not trigger if chat is not currently connected
  • Updated chat user field be disabled host is set to Twitch's IRC interface
  • Fixed gift voting not displaying

v1.2: The Hiveversary Update

Greetings, fellow bee friends!

Once again, today is a special day. Not only is it one year to the day since Hive Time's release, but the game has also received a celebratory update! Here's a new trailer with an overview!

A year's worth of history

Here's some further reading/viewing/playing that looks back on and digs into Hive Time's first year and beyond for anybody who's keen to celebrate and remember with us.

If you'd like to learn more about Hive Time's origins, you can check out the jam prototype, or take a peek at some concept art here on the Hive Time website. If you'd like to read about Hive Time's influences and inspirations, you there's a Patreon post that covers that. If you'd like to watch some development, there are archives of dev streams on YouTube and Twitch. If you'd like to read about the ins and outs of Hive Time's finances (budget, revenue, all that money-number stuff), there's a Cheese Talks article that goes into detail, complete with fancy interactive charts.

If you're just keen to read/watch/listen to what other people have to say about Hive Time, you can find a big unformatted list of known coverage here.

If you love Hive Time so much that you just want to wear it or hang it on your wall or (consensually) stick it on your friends' faces, you can bumble over to RedBubble. These designs are available with 0% markup to make them as accessible as possible. If you're keen to support the game, consider buying/tipping on Itch, or becoming a patron on Patreon.

If you want Hive Time for your ears, you can also pick up the game's wonderful soundtrack on Bandcamp.

Community features

Some chat participants presented as in-game bees

The biggest new feature in the Hiveversary Update is a range of community features centred around chat integration. Active chat users can vote on multiple choice events, helping to guide players away from (or toward!) bad decisions. Chat users can also participate in periodic gift voting to help or hinder players' hives.

Active chat users may also be selected to become "special bees," which unlock some commands that can affect that bee's appearance and behaviour (typing !help in chat will display a list of available commands for that user).

Chat participation may not be for everybody, though! These features are all optional and independently toggle-able to allow players to customise the level of presence and control that chat users can have over the game. In addition, there are blacklist and whitelist functions to prevent particular users from interacting with the game or to restrict participation to specific users.

Content updates

One of the new date-based events

The Hiveversary Update includes a bunch of new and updated events, including a couple of new date-based events, the first of which, you should be able to see in game by playing today (assuming it's the 12th for you when you read this) or on the 12th of Beecember in any year to come.

There's a new hat for every role. In addition to "hats" that reference Honeycomb CRUNCH and Supply Chain, the Queen looks dapper in her teeny bowler hat, Defenders are ready to face any danger wearing saucepans on their heads, and Beesitters can now wear an apple. It's fresh. Promise.

Less visible, but still fun, there are a range of new effects, some of which are triggered by events, and others of which can show up in periodic gift voting when chat integration is enabled.

New ways to find your own fun

Some of the new Find Your Own Fun options

A bunch of new Find Your Own Fun options have been added to the game, such as skipping events with dominant negative outcomes from triggering, or allowing "special bees" to spawn before the throne room has upgraded.

As part of the new community features, an option to manually spawn chat-assigned "special bees" from the Throne Room is available. Since this is chat-integration focused and treats active chat users as a resource, you can find this as an option in the Community Settings menu rather than among the Find Your Own Fun options.

Optimisations

A lot of work has gone into optimising Hive Time for better performance with larger hives. Primarily this has focused on small gain items, which may not produce dramatic results across all hardware, but the game should still run at least a little better in most cases.

There are also some new settings that may provide performance increases for some users.

And much more

The Hiveversary Update started out as a small patch to fix some small bugs and address a couple of nice-to-haves. Over time it's grown to include dozens of fixes and changes.

The offscreen Throne indicator won't display when upgrading the throne, Beepedia topic unlocks now give an activity notification, Fireworks now have sounds, and the cool cool band name puns we'd wrote now actually show up in some vignettes and events. It's no longer possible to move the camera to a position where it will clip through the hive if you repeatedly have the camera snap to bees' locations when in inspect mode. The "Start New Hive" button now stays visible when scrolling the FYOF list. The list goes on. And on. And on.

Full changelog

  • Added user !next_hat and !prev_hat user chat commands
  • Added user !next_role and !prev_role user chat commands
  • Added user !help chat user chat command
  • Added dev !effect chat command
  • Added dev !event chat command
  • Added dev !give chat command
  • Added dev !kill chat command
  • Added dev !say chat command
  • Added dev !spawn chat command
  • Added dev !take chat command
  • Added dev !spawn me chat command
  • Added dev !gift_vote chat command
  • Added chat bee death activity
  • Added chat bee trail
  • Added automatic 'Alas' speech bubble on chat bee death
  • Added Bee::apply_special_effect() for applying non-default trails
  • Added chat voting for events with multiple choices
  • Added community features instructions
  • Added manual_chat_bees community setting
  • Added log_chat community setting
  • Added new chat bee option at throne room when manual_chat_bees is enabled
  • Added chatusers resource
  • Added setting type for generating buttons in settings menu
  • Added prefill_for_twitch button to community menu
  • Added Menu::show_generic_popup()
  • Added a 'your community is your responsibility' popup when enabling chat
  • Added big_fireworks, new_queen_hat, reset_bee_sizes, small_bees, and big_bees effects
  • Added periodic gift voting
  • Added dev bees for Cheese, Mim, and Peter
  • Added antennae, paint beret, and short glasses as dev bee hats
  • Added cheese, paint splatters, and musical notes as dev bee trails
  • Added Bee::apply_special_hat()
  • Added Bee::apply_temp_scale()
  • Added dev shortcut for showing/ending gift voting (L)
  • Added map room upgrade notice to pollinate button tooltip in foraging screen
  • Added chat user blacklisting
  • Added optional chat user whitelisting
  • Added show_follow_up_event() for follow ups that should be shown immediately
  • Added transparent material separate from bee wings
  • Added up to date version notice to main menu when version check is enabled
  • Added special_bee_limit FYOF option
  • Added special_bee effect
  • Added throne offscreen indicator to under construction throne
  • Added Queen bowler hat
  • Added Worker bog roll hat
  • Added Beesitter apple hat
  • Added Builder safety glasses hat
  • Added Defender saucepan hat
  • Added Forager Honeycomb CRUNCH tech bee hat
  • Added EventSource enum
  • Added NotoSans chat dialogue font
  • Added NotoSans as fallback all fonts
  • Added NotoEmoji fallback for all fonts
  • Added CJK font fallback for all fonts
  • Added Prefill for Freenode community settings button
  • Added Prefill for Freenode to chat instructions
  • Added force option to Bee::say() for trailer 4 usage
  • Added container for arbitrary data in debug shortcut handler
  • Added sounds to fireworks effect
  • Added toggle_version_info debug shortcut (Shift+U)
  • Added a whole bunch of sequenced event stuff for trailer 4 and new presskit screenshots
  • Removed some extraneous logging
  • Removed unused materials
  • Removed follow_ups from yam party effects
  • Removed duplicate film name
  • Removed BEESITTER_BIRTH_MULTIPLIER and DEFENDER_PROTECTION_TIME constants from Bee
  • Removed unused StaticBody nodes from cells at runtime
  • Removed some extraneous logging
  • Removed suffixes from storage_offset and pop_capacity_offset effect notifications
  • Removed suffixes from stock_multiplier and stock_offset effect notifications if resource counts are greater than 2
  • Removed random angle from bubbles trail effect
  • Refactored debug shortcut handling
  • Refacotred ActivityIndicator::set_activity() to enable better profiling
  • Refactored bee _process() and process_movement()
  • Refactored Bee::acquire_target() to maintain a handle on previous target for longer
  • Refactored Bee::get_queen_target() to avoid bumbling through the throne's middle cell
  • Refactored special bee birth activity notification out from chat bee birth activity notification
  • Refactored trail effect cleanup
  • Refactored initialisation and destruction base particle effect script
  • Refactored bee spawn effect instantiation
  • Refactored Credits::read_json() to Menu::read_json()
  • Refactored frequent events into frequent events and disaster events
  • Refactored stop() function out from stop_and_acquire_target() for trailer 4 usage
  • Updated credits
  • Updated 'A graceful return' event conditions to only require 60 pollen and nectar available storage
  • Updated all liquid storage models to have UV coordinates to be used when disconnected
  • Updated controls tutorial text
  • Updated debug HUD to use generated UI
  • Updated debug reload_resources option to be called reload_json
  • Updated event unlock_topic name to beepedia_unlock and add support for multiple values
  • Updated queen portrait event to use long hms string
  • Updated yam_decorations effect to only pollinate one zone
  • Updated yam party event chain to use single event's variants instead of multiple events
  • Updated yam party event to allow repetition now that it's not a proper chain
  • Updated Foraging::pollinateTile() to return true or false depending on whether pollination was successful
  • Updated Player::apply_effect() to be capable of taking event data as a dictionary (fixes do_if effects)
  • Updated apply_effect to get dict based on string effect name
  • Updated initial Yam party event to not repeat
  • Updated initial Yam party event conditions to require yam_party_started to not exist
  • Updated Debug HUD to be hidden after returning from main menu
  • Updated Defence screen deployed label to not be updated unless visible
  • Updated loaded bee tween easing to use EASE_OUT
  • Updated Production screen max production values to not be updated unless visible
  • Updated Queen spawn to be bigger and more opaque
  • Updated be wing transparency to be off by default
  • Updated saves to use newlines and indentation
  • Updated effect indicators to show time left instead of duration
  • Updated menu theme to have a default flat button style
  • Updated menu theme to have a new style for LineEdit widgets
  • Updated save/load list stuff to use original angled buttons via TextureButtons
  • Updated 'Drink responsibly' event text to stop a role/icon pair being split across a new line
  • Updated make_bee() to take dev names as part of spawning dev bees
  • Updated apply_effect() to only use anonymous effect data name if description isn't present
  • Updated new game screen to keep Start New Game button onscreen when scrolling
  • Updated settings buttons to use the same font as checkboxes, labels, etc.
  • Updated face shield hat to be larger to better distinguish from new safety glasses hat
  • Updated frequent events to fire faster
  • Updated bee customisation to keep existing hat index when changing roles if hat scenes list is large enough
  • Optimised physics processing for bees while not in inspect mode
  • Optimised erase calls when killing deployed defenders in dangerous cells in Bee::get_return_to_hive_target()
  • Optimised Bee::clear_slots() slightly by changing an if to an elif
  • Optimised bee role efficiency calculation in Cell and Bee by caching in Player
  • Optimised harvest multiplier calculation in Bee by caching in Player
  • Optimised bee spawning in make_bee() by caching per-role spawn effects
  • Optimised bee spawning in make_bee() by caching role text name
  • Optimised cell processing by adding checks for existing beesitter population before handling beesitter work progress
  • Optimised cell processing by adding checks for existing worker population before handling research or construction progress
  • Optimised cell processing by caching efficiency calculation for beesitters before looping through beeSlots
  • Optimised cell processing by caching efficiency calculation for builders before looping through beeSlots
  • Optimised cell processing by ignoring patrolled status for tiles that don't contain cells
  • Optimised get_parent() and get_parent().get_node("Camera" calls in Bee by caching game and camera on ready
  • Optimised handle_move_tween() by caching movement duration calculation
  • Optimised HUD updates to only happen once per frame
  • Optimised player.get_parent() calls in Bee by caching game
  • Optimised player processing slightly by tweaking role check conditionals and using elifs instead of ifs
  • Optimised population HUD updating to not occur more than once per frame
  • Optimised set_role() slightly by removing an unnecessary if
  • Optimised storage cell checks and target cell validation checks in Bee::get_payload_target() and Bee::clear_slots()
  • Optimised travel distance by pre-calculating total distance and linearly accruing that based on delta
  • Optimised update_barracks_protection() by caching protection time outside of loops
  • Optimised update_exit_indicators() slightly
  • Optimised camera handler slightly by only updating screenshot camera position/scale when position/scale have changed
  • Optimised bee handling with instance pooling
  • Optimised Bee::acquire_target() slightly by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised Player processing slightly by replacing some null/string comparisons with is_instance_valid() checks when checking for dead bees
  • Optimised Bee::handle_bee_death() by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised Bee::set_activity() by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised Bee::acquire_target() by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised Bee::get_forager_target() by caching whether a bee is using an exit or not in a bool
  • Optimised Bee::get_worker_target() by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised Bee::get_builder_target() by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised Bee::get_() by replacing some null/string comparisons with is_instance_valid() checks
  • Optimised thumbnail cache handling by removing thumbnail viewport/camera from scene tree unless needed
  • Optimised fruit calculation in HUD to be called at most once per frame
  • Optimised handle_bee_death() slightly
  • Fixed 'Bear attack' event using negative music when defenders sacrifice themselves to drive away Old Bitey
  • Fixed beepedia unlock notifications triggering when loading a save
  • Fixed cell destruction effects not reporting destroyed and damaged cells properly
  • Fixed disconnected workshops and barracks using the wrong material
  • Fixed progress rings getting messed up when disconnected
  • Fixed false positive warning about bad cell type when calling get_cell_type() from Beepedia::find_category()
  • Fixed pollination effect activity notifications potentially displaying the wrong number of pollinated zones
  • Fixed Player::get_cell_type() returning null if printWarnings is false
  • Fixed possible crash when handling event button action when no event has been assigned
  • Fixed build preview appearing in big screenshots
  • Fixed get_bee_by_cell() not using elif
  • Fixed possible case where disconnected cell wouldn't get disconnection material
  • Fixed possible case where research effect on Workshops would be stopped every frame regardless of emitting status
  • Fixed Queen idle animations not shuffling once exhausted
  • Fixed possible crash when checking for new version(?)
  • Fixed menu music sometimes starting before player settings are loaded
  • Fixed Enter shortcut not working for selecting confirm action during events
  • Fixed wrong tween time for bees being used when loading a save
  • Fixed screenshot camera position not updating with gesture/mouse panning or zooming
  • Fixed case where ninja fruit flies event conditions for adequate defence could be true if there are no honey storage cells and no defenders
  • Fixed case where wasp attack event conditions for adequate defence could be true if there are no defenders
  • Fixed save times not having a leading zero when less than 10 seconds
  • Fixed music not playing when returning to main menu
  • Fixed bee property not being assigned to hero bee activity
  • Fixed decay material not being cleared properly when reconnecting cells
  • Fixed settings menu slider widgets confusingly receiving mouse scroll events
  • Fixed fruit calculation not happening when in inspect mode
  • Fixed camera getting vertical offset when snapping to radial menu position
  • Fixed camera potentially keeping vertical offset when following a bee
  • Fixed throne offscreen indicator appearing when returning to menu
  • Fixed throne offscreen indicator appearing while throne is being upgraded
  • Fixed bees becoming unpaused when leaving customisation popup if role has been changed
  • Fixed bad default value for process_substitutions() darkBG
  • Fixed research hover highlight remaining after closing and opening research menu
  • Fixed repeat cursor lingering after alt+tabbing out and back while holding down repeat
  • Fixed possible case where event skips could lead to inEvent set to true when no event is displayed, preventing future events from firing until the game is paused/unpaused
  • Fixed typo in 'Slugs always pay their debs' and 'Sub depts again' events
  • Fixed possible crash when loading a save with a defender with a null target

Last, but not least

I'd like to give a big thank-you to everybody who took some time to test a pre-release build of the Hiveversary Update. It's been a lot of changes in a very short period of time, and I couldn't have gotten the game to where it is without their help!

And I'd like to give a very, very big thank-you to Peter, who came through with the new music tracks without much notice, and help round out some spots that previously felt a little emptier.

Buzz buzz

- Cheese