This evening I got pathfinding working around a larger, scrolling map. I thought this would be best demonstrated in motion, so here’s a little YouTube video of it in action:
I had to turn the sprites down to 32×32 from 64×64, as the view seemed too claustrophobic that zoomed in. This has some unfortunate knock-on effects for the mobile client — I think at 32×32 the tiles will be too small to accurately tap on — but I’ll tackle that another day.
You know what it all boils down to? It’s this handy formula:
Price = Base Cost × Multiplier(#Owned)
It works particularly well, psychologically, if the multiplier is set between 1.07 and 1.15. Less than that and you progress too quickly to enjoy each new upgrade, and much larger than that and the game bogs down and feels like a tedious grind. Somewhere between 1.07 and 1.15 is the sweet spot, used by many, many idle/incremental games.
Just in case the name didn’t give it away, Bones of the Idle has a strong idle/clicker component. When you’re gathering materials
There’s a few points raised that I want to briefly talk about in the context of Bones‘ design:
I kind of have a system in mind for “ascension”, whereby players will be able to retire characters in exchange for a regular offline income. You get to start over with a new character, and every day you’ll receive some income and items based on all your retired character’s skills. Potentially these retirees will appear in the game as NPCs.
Autoclickers and scripting
Bones of the Idle is free to play, and there’s no adverts. It’s also not going to be nagging you to spend money. However, my time has value, and I’m not adverse to money. I set up a Ko-fi page here, where people can chip in with donations if they feel the game is worth it.
If I ever add anything resembling micro transactions — in general I have no issues with them, when done well — I’d have them be ethical, not lootboxes, and definitely not pay-to-win.
Last night was the inaugural meeting of my new after school study club, and it was a very cosy, pleasant experience. We went around the table and talked about our various works-in-progress, discussed the merits of various database/model frameworks, and eventually settled down to work on our individual projects.
I spent the time getting field-of-view and fog-of-war working in Bones of the Idle. I already had some code from an earlier JS roguelike project to hand, so with a bit of refactoring I was able to slot that into place:
The darker areas around the edges represent tiles the player has seen before, but currently cannot see (fog of war), with brighter tiles they can currently see surrounding them. As you can see, their field of view isn’t a perfect circle, as it’s being obscured by the nearby trees.
Now that the player can be placed on the map (which in turn can be larger than the view port, a new feature over the previous code base), the next obvious step is to re-implement pathfinding and get them moving around and scrolling. I still want that to be verified server-side, so again I’m hoping to take the existing code I already have, give it a polish, and drop it in place.
Today is the first of August, and that marks two new things starting for me. Firstly, it’s the beginning of the 2019 Blaugust blogging challenge, which sees bloggers of all kinds banding together to create content for their sites throughout August. The greatest goal a Blaugust participant aims for is one new post per day, but any amount of activity is rightly celebrated by the incredibly friendly community. All of my Blaugust posts here can be found under the tag #blaugust2019.
Perhaps more excitingly, this evening will be the first meeting of new club I’ve set up. One of the hardest parts of working on Bones of the Idle is actually finding the time to do so. By the time I’ve spent the day at work coding, then commuted home and settled down, often I find my energy and enthusiasm waning.
In wondering how to combat this, I struck upon the idea of carving out a few hours regularly for working on projects like this in a different environment. And so, after consulting with my manager, the After School Study Club was born. I’ve arranged for some interested colleagues and I to stay behind after work for a couple of hours every other week, to work on, share, and get feedback on whatever personal or professional projects they have in progress.
I’m hoping that some people will also volunteer to give little informal talks or workshops on new technologies and things they’ve learnt, but mainly I want a relaxed, supportive environment to geek out and work on passion projects, if only for a few hours at a time. If nothing else, it’s a bit of progress and a spotlight to show off every two weeks, and that can’t be bad.