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
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
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
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 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.