Hive Time

World Bee Day 2024 & v1.2-149, v1.2-150 changelogs

May 20th is World Bee Day!

As usual, here's a little patch to celebrate with some new tweaks and additions.

The game now has Find Your Own Fun (FYOF) options for auto-progressing events without player input. Alongside these, I've also updated the chat integration event voting settings to optional allow votes to lock unpopular items, automatically choose for the player, or just show a tally (the old behaviour).

With these settings, it is now possible to leave the game unattended and not have it get stuck on an event - something I've seen happen during a few streams when a streamer needed to duck away.

So far as content goes, we have four new bee facts, touching on recent research into honeybee numeracy (Howard, S. R. et al.), bumblebee social learning (Bridges, A. D. et al.) and cooperation (Loukola, O. J. et al.), and honeybee skill development (Dong, S. et al.). I've also added a new starting tutorial when chat integration is enabled.

The biggest, but also least visible change in this patch is some optimisations to bee animations. On my 2,500 bee test hive, these changes double the frame rate on my development machine, and a tester running the game on a Raspberri Pi enthusiastically described the improvement in words that wouldn't be appropriate to mention here (they reported the game slow, but playable at 18fps with 1,500 bees).

Actual performance will depend on the system you're running the game on, of course, and since there are no hard limits on how many bees you can have on a hive, you'll always be able to grow big enough to slow the game down.

Full changelog

  • Added 4 new bee facts
  • Added one new bee fact photo
  • Added chat integration tutorial
  • Added Vignette to Game::EventType enum
  • Added EventVotingMode and EventAutoMode enums to Game
  • Added event_timeout FYOF option
  • Added event_choice FYOF option
  • Added timeout bar to Event
  • Added Event::disableButton()
  • Added Menu::make_array_widgets()
  • Added isReady flag to WingAmp
  • Added print_orphan_nodes debug command
  • Updated all instantiated bees to be children of a single beeAnchor node
  • Updated tutorial events to default to affirmative on timeout instead of event selection preference
  • Updated bees and cells to have readable node names in the node tree
  • Updated Bee::_ready() to modify Bumble-loop and SpecialSleep-loop animations to use root motion for root bone movement rather than skeletal animation
  • Updated Bee::_ready() to modify BeeIdle-loop and BeeIdle2-loop to be non-looping
  • Updated IRCHandler::wakeBee() to use a shorter transition from SpecialSleep-loop to Bumble-loop animation
  • Updated EffectIndicator to process new community event settings
  • Updated Event::_ready() to stop event processing before an event triggers
  • Updated Event::_process() to track eventTime and auto resolve or disable options if necessary
  • Updated Event::revealEventDialog() to take an optional delay parameter
  • Updated Event::showEvent() to call set_process(true)
  • Updated Event::showEvent() to setup eventDuration and eventTime for timed events and show timeout bar if necessary
  • Updated Event::update_vote_stats() to discard incoming votes if the event is already closing
  • Updated Event::update_vote_stats() to handle button locking when event_voting is set to lock
  • Updated Event::do_event() to take an optional delay parameter
  • Updated do_event() and button over/out functions to bail if the event is already closing in Event
  • Updated Menu::setup_new_game_gui() to populate FYOF options with last used settings from the current play session
  • Updated Menu::setup_new_game_gui() to handle TYPE_STRING_ARRAY
  • Updated event_voting setting to be TYPE_STRING_ARRAY and added Lock and Choose options
  • Updated Menu::make_range_widgets() to use max_value if defined
  • Updated Player::_process() to delay events while radial menus are open
  • Updated Game::shouldResetSettings() to handle changes in changes to event_voting setting for v1.2-142 saves and older
  • Updated Game::handle_vignette_click() to pass EventType.Vignette to showEvent()
  • Updated Beepedia to automatically unlock chat integration tutorial when chat integration is enabled
  • Updated Beepedia to hide chat integration tutorial when chat integration is not enabled
  • Updated Beepedia to remove numeric prefix from negative numbered tutorials
  • Updated first tutorial processing to start with chat integration tutorial when chat integration is enabled
  • Updated credits URLs only take up the width of the URL text
  • Updated prepare_setup_menu(), and update_resolution() to check WingAmp docking
  • Update prepare_setup_menu(), set_fullscreen() to clear in-progress WingAmp drag state
  • Updated zeds particle effect to use correct rotation for new root motion
  • Removed some extraneous logging
  • Fixed possible crash starting a new hive where old hive's bee could process move targets after cells are freed
  • Fixed chat bees not stopping when transitioning from conga state directly to sleep state
  • Fixed cases where main menu itemIndicatorSmall and itemIndicator could get stuck when using Escape
  • Fixed narrow_bees, big_bees, and small_bees effects not applying