Various minor code fixes and rationalisations.
Rite of Recall now updates the tab name correctly.
Added penguins and polar bears as rare spawns on the ice sheets. Made deserts spawn creatures more slowly.
Towns are now back in. I should do some work on refining their locations at some point but you should find them in vaguely sensible areas (mostly on the coasts).
Fixed the Rite of Recall. Doing so required creating a record of your initial cave location, which involved updating the version number to add the data. Welcome to v0.11.
Fixed mobs not spawning in areas with lots of trees or houses (mob cap checks now consider entityType).
Fixed injury numbers appearing in the wrong place, and also clicking on squares.
Initial work on re-adding towns.
The new features in this update mean save files literally exceed the size of localStorage without some sort of compression, so this is a necessary change. Apologies if anyone had become attached to their dragon, hopefully I'll never have to do this again.
Since I'm breaking saves, decided to do a huge number of breaking changes all at once. Strap in because we're going up to v0.10.
Completely overhauled worldgen to use my CII algorithm (I knew that'd come in useful some day!)
Maps are now much larger, are better representations of a real world (including continents and biomes and stuff) and wrap in the X axis.
Maps choose a random mountain as a starting location. This may change in future but for now it should work.
This goes without saying but this could well be horrendously buggy. This is mostly ported code from another project that's been adapted for service, so may contain some odd bugs where I've failed to iron out an interaction between the old algorithms and the map format. I'd appreciate any reports of unusual behaviour.
Mobs can no longer spawn in the visible area, on top of another mob, or on top of a structure. The game will make up to ten attempts to spawn a creature before giving up.
Added interface for save exporting and importing. Caveat ludius, importing appears to work correctly but does not yet have any validation of save files, so there could be subtle bugs and/or your save could get messed up if you don't import using the correct text.
Player and mobs no longer collide with map squares. Instead, map squares can contain structure entities that prevent movement into the square. In theory this lets us handle destroying these structures (e.g. burning trees, stomping on buildings) but we'll get to that later
Above change necessitated a version number increase, because we need to modify save files to use the new structure system. Welcome to v0.09. Hopefully I did this right and no-one will have to restart; please let me know if you start experiencing weird interactions with (visible or invisible) trees, cacti, or buildings.
Added ability to export and import saves via console commands. I'll come up with an interface for this at some point but for the moment this may help with debugging.
If you want to do this manually, first open the browser console (F12). Enter
save("export") into the console to export a base64 encoded string. Enter
importSave("DATA") to import, where
DATA is the base64 string you exported (remember the quotes).
Human guards are no longer immortal.
Ground work laid down for item entities appearing in the world (i.e. items you can pick up off the floor)
Added more items in the backend, in preparation for animals dropping unique loot.
Added transcendent forms, and the rites needed to assume them. Like colours, these don't do anything right now, but will eventually impact end-game or possibly post-game play.
Towns now also spawn human guards. They are still pretty puny but at least will try to fight back.
Added very basic "towns" that spawn humans (you will need to start a new game to see these as they're part of worldgen).
Added dogs, made them spawn in towns.
Updated version number to v0.08
Added stat tracking for items by type, again this is just to prepare for later.
Added humans as rare mobs that can be found out in the world. They drop a wider variety of loot, including gems and scrolls.
Fixed bug where tab names wouldn't update appropriately when changing terrain type.
Added stat tracking for mobs killed by type, this will be useful later (also may influence relations with mobs e.g. humans)
Yet more interface work, making tabs disable appropriately, setting up what happens when you're dead
With the new interface work mostly complete, going to call this a new version release. This one is v0.07.
More bugfixing of refactored code, there may be a number of odd bugs in this that need finding and fixing.
The egg button is now actually egg shaped because why not I guess
Recruit buttons now update when gold is added.
Hopefully fixed a bug that was causing the map buttons to freeze
Fixed auto-hibernation bug
Refactored a lot of the interface code, including event binding
Added a pause button, and some icons for the top bar controls
Much more UI refactoring, looks like most of the bugs are ironed out now and the interface is a lot cleaner.
Added Rite of Naming which will allow you to name individual map squares
Substantial redevelopment of the interface and layout
Lots and lots of items have been added to the data file, none are yet being generated
Minion-summoning spells now require gems as material components
Volcanoes have been added to the data file (can be created by magic, don't yet occur naturally)
Removed a lot of direct references within the data files so hopefully order of declaration won't matter as much, breaking things out into additional files for ease of maintenance
Vermin are marginally more likely to drop meat
Giving colours to some areaTypes that were defaulting to red.
Analytics should now log version numbers so I can keep track of what versions I need to support
Reasonably big change: eating scrolls no longer casts them, instead you learn the ritual and can cast from your actions list (the interface on this needs a lot of tidying up)
Note: this makes rituals brokenly unbalanced, particularly combos involving the Rite of Blood's Power. Enjoy abusing them until I get around to properly adding costs.
AreaTypes now have the ability to have multiple variations, which means in future we can vary the uniform look of places like the cave, and better support tilesets
Sharks are no longer unkillable death machines
Added lots of new kinds of mobs, including whales, crocodiles, leopards, tigers and more
You'll now get a damage indication when being damaged by a mob you are attacking.
Minion buttons grey out when you don't have enough gold.
Map buttons grey out when you're at the edge and can't move any further.
Fixed a typo causing deserts to be covered in cactuses.
Map and minion buttons now grey out when you're hibernating.
The targets for manually clicking/tapping the direction buttons (as opposed to using the keyboard) are now larger.
Clicking on mobs on the map now works again.
Updated interface display when dead, also restored death actions
There is now a grace period when coming out of hibernation where you won't starve or automatically go back into hibernation.
Reduced damage dealt by vermin
Huge overhaul to mobs! They now take damage rather than instantly dying! This has necessitated an increase to v0.06.
This should be working correctly, but is a big overhaul and could introduce a number of bugs, so all reports are very welcome. In particular this could in theory break existing saves when it comes to which mobs are in which squares. I've added an upgrade function which should migrate saves across, let me know if this doesn't work for you.
You'll also get a little marker on the map when a mob attacks you for damage (though not yet when it damages you while you are attacking it).
Bugfixing terraforming: ice sheets should now work correctly.
Added basic local map generation for all areaTypes, this will need improving but at least you won't get cave floors all over your taiga.
Fixed a bug with one of the debug functions which would break saves
Scrolls of Terraforming now actually work
Laid the groundwork for prestiging, including updating the way that the game loads in state information and the initial interface setup
It should now be possible to prestige (reset) within the game itself without needing to delete your save file if you can find the appropriate ritual scroll. There's no bonus for this yet.
Statuses can now be set with timers, allowing for temporary statuses that remove themselves after a while
Made healing rituals heal (and the Life Tap ritual damage health/restore mana); the regeneration ritual now gives you a temporary "regenerating" status which boosts health restoration even when hungry or starving
Drastically reduced mana regeneration rate
Big overhaul of size categories (most sizes require a substantially larger hoard), minion costs, and minion gold gathered
Added some functions and other tweaks to make testing and debugging a little simpler
Decided to make scrolls findable in the cave for now until I implement other ways for them to drop.
Added a bunch of rituals (plenty more to come), also allowed for rituals to require items as a cost as well as mana
Ritual scrolls now exist and you can cast rituals from them (currently by eating them because i dunno lol that's just what you do with everything apparently)
You can now fail to eat something (well really in this case it's just failing to cast a ritual scroll if you don't have the right materials)
I like the injoke that your dragon interacts with virtually the entire world by trying to eat it, but I'm also starting to think that casting spells by eating scrolls may be a bit silly. Might consider changing up the action name for some things
Ritual scrolls are obtainable in the game now, they're not costed or balanced appropriately and many of them don't actually do anything yet, but you can find them.
Added more areaTypes in the background, map generation will need reworking in the future to include them but they're there for the moment
Map now generates ocean at the edges, rather than lake
Map square background colours are (for the moment) handled by the game data file rather than a stylesheet, since that was a pain to maintain
Added trolls as minions, tweaked some gold values of existing minions
Added a bunch of minions in the background (not yet recruitable but they will be through special methods)
Yet more backend support - the very beginnings of the ritual magic system. v0.05-worthy, I think :D
Not dead, just busy!
Spawn rates reduced, this should make it more worth your while to travel to different areas
Scavenge recovery rates also reduced for the same reason
Lizards added. The icons for them aren't well supported but that's a problem for later
Fixed some issues with delimiters
Added a very rare drop as an easter egg. Let me know if you find it :)
Added deserts and sand, probably more to come with those (and other area types) later
Added cacti, because why not
And some actual vaguely sensible terrain generation for the world map! It's not perfect and may need another pass in future but it looks sufficiently appropriate that I'm happy with it for the moment.
And updated to v0.04 since those were more changes than I was expecting to make today :)
Minions now appear in order regardless of which order you bought them in
Added the ability to voluntarily enter hibernation as an adult.
While hibernating (voluntarily or involuntarily), your minions will gather significantly less gold but you cannot lose health due to starvation.
Initial public alpha released.
Fixed bug preventing display of inventory on Internet Explorer
Fixed bug preventing games from being loaded correctly
Added changelog page, version numbers. Updated to version 0.02
Updated to v0.03, changed mob interaction based on feedback:
You can no longer recruit minions while hibernating
Made forests slightly less dense to reduce instances of being completely blocked off from areas
Added hunting logs, plus made item drops log differently depending on their source
General improvements to the code handling the map, including:
Lakes now appear on the world map, with correctly coloured water.
Added a mobile version of the log
Stopped repeated tapping from zooming in on some phones
Added two additional size categories and corresponding achievements
Added keyboard controls for moving (WASD and arrow keys)
Rebalanced scavenging, including penalty for continual scavenging in the same spot
More mobs, including sharks, scorpions, and bears
Decided to make this an actual thing rather than just derping around with it. Released for private testing, created Trello board, started tracking changes.