I had to delay this post last time, but if you are reading this it should now be fully published and done and I am back to my previous schedule.
Let’s talk about clicker and idle/incremental games, shall we?
I think at their core, most – if not all – clicker / idle games are strategy games or at the very least closely related. This can be directly observed by comparing idle games to older browser games such as OGame (see screenshot). Where technical limitations reduce a strategy game to its core functionalities where all information is reduced to numbers and time.
Even though I use them quite interchangebly, they actually arent; A “true” clicker would focus solely on the active part of clicking while a “true” idle game uses clicks only to navigate or select/upgrade, not to actually play.
That said it’s fair enough to lump these two subgenre together as most games are a hybrid of these two and more than often also an incremental game.
Both have become quite popular, so dozens of new ones hit stores/sites like Steam and Kongregate every week.
So just for the sake of staying sane, unless otherwise stated I shall refer to all three subgenre, being idle, incremental and clicker game, to just “idle game”.
I’ve been intruiged by idle games for a few years now and played a bunch of them, some almost to the “end” of their content, some not far at all. Mostly to have something to play inbetween other tasks or to enjoy a bunch of crazy multipliers take my understanding of numbers to a whole new exponential level.
And I think some of these games have a mechanic or design that is worth pointing out; One thing right off the bat is the naming scheme, most games of these genres tend to be quite… upfront about their games core premise.
Naming usually includes some form of reference to the genre: Clicker, Grind, Idle, Incremental and so on.
Let’s go over some of these games and see what makes them special.
The first and probably one of the most famous idle games that I have ever played, created by Orteil (https://orteil.dashnet.org/)
It’s really intriguing since it ticks all boxes so well; It starts off very click-heavy while transitioning slowly but surely into a more afk style of play where all the upgrades provide much more substantial boosts in CPS (Cookies per second).
I think this is pretty well done from a design perspective, the initial cookie clicking is enticing enough to keep you playing until you get your first upgrades, all the while showering you with achievements. This quickly turns into a spiral where you get obsessed with getting more of everything: more upgrades, more achievements, more prestige, more buildings, MORE COOKIES.
This was the second proper idle game and another one that shot up in popularity soon after and for good reason(s):
Clicker Heroes looks a lot more like an actual game, not just a number simulator, it’s a lot more colorful has much more visual variety from the characters you can buy and upgrade to the enemies, bosses and their habitats.
It also features more meaningful decisions and choices for the player depending on their style of play. Compared to cookie clicker where you can technically calculate (and there is addons for that!) the best value building or upgrade to buy.
Clicker Heroes has Ancients that can be bought and upgraded to either server active gameplay (clicking) or passively (idle) gameplay, some also give you a chain for either, so the longer you idle or the longer you keep clicking the higher that bonus.
Which creates interesting ways to strategize, it’s also possible to respec but it’s not free and will set you back a bit, and I really like those choices.
I have neglected to talk about it, but I feel now is the time to talk about: Reset mechanics.
By Reset mechanics I mean those partial resets that those games offer in order to progress further by way of locking certain upgrades behind resetting at least once.
The idea is to stretch gameplay by making the player sacrifice most of their progress while rewarding them with ways of regaining it faster and going beyond.
Some games go so far and even add another more strict reset, these are often a milestone to reach and a vital part of progression later down the line, Clicker Heroes has “Ascension” and “Transcension” respectively.
Realm Grinder encorporates this in a very interesting way. It actually features three types of resets (by my last count): Abdication, Reincarnation and Ascensions. You can abdicate as much as you like, similar to other games, but Realm Grinder handles the tier two and three resets differently, they are fairly limited and rather unique in the way that they create interesting strategy opportunities for the player since they unlock a lot of different upgrades that can completely change the best build to use.
Also, should you be interested in Realm Grinder, this is it’s Steam page.
Also also, it has a great fansite created by G00FBALL that is worth checking out for strategies, builds and general information on the game.
And finally we have NGU to talk about, in case you are asking it’s literally: Numbers Go Up Idle.
And the game is just as zero f* given as the title suggests.
NGU got quite popular recently and even released on steam. And while it certainly looks and feels a bit crappy, it certainly isn’t under the hood.
It borrows most of it’s core UI design and some of it’s mechanics from another Idle game called “Idling to rule the gods”. Which I don’t think is a good UX but it gets the job mostly done and could certainly be worse, especially considering that most these games are done by a single person that is probably more a programmer and less of an artist.
But to be completely fair: this is the quintessence of a lot of idle games, yes it’s about the fun you can have when numbers go up, no need to hide that. Also these games are simple enough that they can be easily done by a sole developer eager and creative enough to whip up something interesting for others to enjoy without having to rely on pretty assets or a well thought out story and characters, but retaining complexity and a sincere feeling of progression that some games just can’t offer the way incremental games do.
Speaking of developing Idle Games…
In theory, developing an idle game should be rather easy; since most of the game is very repetitive by design and there is no need for sophisticated approaches to visual fidelity or sound design.
The more I played idle games, the more I noticed that this isn’t as simple as I thought, there are some technical and design challenges and limitations that are quite unique to the genre(s).
Oh the dread.. for the unaffiliated: 1.8e+308 refers to the highest number possible in most programming languages: 2^1024 which is precisely 1.7976931348623157e+308 a number with 308 digits.
For most cases no software has a reason to go anywhere near this number, but incremental games, by their very nature, have a tendency to do so.
There also isn’t really a lot that can be done about this, most developers either limit numbers to somewhere around 1e+300 or design their game around it. Let’s look at the examples from above:
Having thought about this issue, I believe there is no perfect solution, I think out of the examples I would prefer the method Clicker Heroes’ developer have come up with, but it’s far from perfect. Ideally I think a dual approach could work where the underlying system can handle larger numbers where necessary (for example the main currency/resource) but secondary stuff is handled with careful design decisions so you don’t end up with a screen full of numbers so ludicrously large that they lose all meaning.
And there is a second problem that is quite unique to incremental games: time. All these games are designed to be played for several days, weeks or months even, so not something you spend an evening or a weekend on and be done with it.
This results in two things players will most likely do:
The former (Tab out) scenario can be a bit annoying, not an unsolvable issue but one that usually doesn’t really come up when designing or coding a game. I have created little test project that I called “Idle Souls”, where I tried to tackle this problem like this:
// Core game tickrate
function Tick()
{
var time_new = new Date().getTime();
var time_diff = time_new - last_tick;
last_tick = time_new;
resource_souls += time_diff / 1000 * test_per_second;
$('#resource-souls').text(Math.round(resource_souls));
window.setTimeout(Tick, tickrate - (time_diff - tickrate + 1));
}
My fix is pretty straight forward: I simply calculate the resource based on time passed instead of once per tick (because I can’t be certain that the tick rate is constant). It’s by no means a perfect solution but I can freely switch tabs on my browser without it impacting the rate at which the resource accumulates, so I call it a job done.
A bit less technical but just as important is balancing these games. As I mentioned before this genre is by definition very unappealing so the game has to be well designed and balanced for it to still draw interest.
A huge factor in this is progress, if an idle game is poorly paced it might lead to a player not feeling any substantial gains for long enough to quit the game completely.
This is especially crucial since these games have to rely almost entirely on their layered mechanics, progression and depth to provide entertainment. So there is no story, no unfinished campaign or anything else to tow the player back into the game, should the mechanics fail to stay interesting.
Some games do have a nice community or steam achievements that might get some players to power through, but I reckon most players won’t care that much.
I think overall Idle games can be pretty fun and they definitely have a place for gamers, either because it’s something to enjoy passively while doing other things like watching videos or because it’s light entertainment/strategy and doesn’t require a lot of brainpower or attention, these games play themselves by design after all.
Especially nowadays where hundreds of games are released every month and nearly every new game has to be bigger, better and more exciting; A break from that pace without missing out on new experiences can be very welcome.
Over the past few years I have used quite a wide range of tools, be it Web Applications, Desktop Software or even “just” Forums/Communities to help me in some shape or form. Most of these are widely known, but I wanted to share my personal experience with them and why I think they are worth taking a look at.
Just to clarify right away: these recommendations are subjective and biased based on my own personal experience. This also means that there is probably a plethora of stuff I did not mention, but these are the ones that had the biggest impacted on me personally.
GitHub or rather Version/Source Control is such an important backbone of any bigger project, that I can only hope everyone knows of it’s power.
In case you aren’t quite sure what Version Control is, it is used to manage projects that are very iterative, complex and/or created by multiple people. Especially with a team, you inevitably run into issues if you stick to sending all files, that get created, changed or deleted, between one another manually. Version Control solves this by recording a history of all changes and showing you all changes (including deletions) whenever you want to accept a new commit (version) – this can get a bit more complex with forks, pull requests, merging and so on, but the important part is; nothing is ever lost when dealing with version control. That means even if you delete a script and commit that as a new version, you will still be able to revert that.
Github is just one of many Platforms for version control (Atlassian has one called BitBucket as well) – and It’s mostly reliable and easy to work with, yeah sure Microsoft technically owns it now but that shouldn’t stop anyone from using version control (which can be done outside of SaaS). Especially since GitHub is getting more and more lenient with their private repositories, so people that don’t want their source code public can (finally) use GitHub as well. I can personally recommend it to most developers even though I have been using BitBucket (to host) mostly myself, I have now switched back to GitHub and I use some form of version control for almost every project.
Oh boy, this is a big one… I stumbled over some products only to later realize they were all by the same company (sort of). There’s just a lot of awesome things that I need to list under the “Atlassian” umbrella, so I am going to do this very brief:
There’s also Jira and Confluence that I personally never used but heard good things of. Jira is a project management and issue tracking application and Confluence is basically a collaborative document creation tool, similar to the Google suite but a bit more specific with it’s feature set and less MS Office like.
Also.. all of the Atlassian stuff is mostly free with some premium options for advanced features, but all essential functionality is completely free.
I love Visual Studio itself and Microsoft’s slim variant has completely replaced the long used notepad++, it’s quite fast while having a lot of customizability through extensions. It also features embedded git, code refactoring and really most other decent all-round features of Visual Studio itself.
A bit surprising to me was the fact that it’s completely written in JavaScript, CSS and TypeScript and completely open source on top of that. And while I think Microsoft did stumble a bit in the past few years, they can still do awesome stuff if they want to. I really think VS Code is some good piece of software that most – if not all – developers should consider using. I have been “only” using it for like a year now for everything from PHP to editting .XML files.
I have always been the type of hypocrit, that can recommend things I barely scratched the surface of, so here goes:
Blender is awesome, BUT it has not always been, I can remember years back when the software was – especially for new users – just cluttered, unclear and an overall bad UX. BUT BUT I gotta give it to them, Blender has improved a lot and their UX is so much better now, especially with one of their latest releases (2.80). It’s finally a software that can not just compete with other 3D modelling software solely because it’s free, but because of it’s features and accessibility. And while it’s undoubtedly improved it’s not flawless… yet. Check out this video if you want to laugh at some absurdities of a slightly older version (literally 2.79):
That said, as I mentioned, I’ve barely scratched the surface of what blender can do, but it’s become an awesome (not just “good ’cause free”) tool to create and edit 3D models. A few years back I would never have even considered booting up Blender to fix some normals on a model, but I do that now without hesitation.
I sincerely hope that the Blender foundation keeps up the good work, tools like this should not cost money, not even professional grade. And while I use Blender only barely, it’s becoming more and more frequent and I can easily recommend it to people interested in 3D modelling.
This is a tad bit different from the rest and more a resource hub than actual software or service. Nevertheless Material Design is quite an interesting style guide that Google has published. They really go into details there and generally do an amazing job at explaining why stuff is the way it is, this is honestly worth a lot, considering this is usually information that is well hidden or expensive to get, but immensely crucial for creating UI that feels native to Android like a PWA. Or really just as a guideline to follow to avoid pitfalls when designing UX.
Since I really hate just copying entire styles, I have only cautiously adopted things from this, but it’s interesting to know why certain things should or shouldn’t be done in a specific way.
They also have quite a nice Icon set that looks real slick as well as a color palette creation tool with live preview of it’s look and accessibility uncreatively appropiately called color tool.
Here’s probably something not everyone already knows and it’s a bit more specific too, as it’s main focus is about game development assets.
During prototyping or rather during the “I have a rad idea I want to implement and turn into a project”-phase, which I always call prototyping to sound more professional, it can be really helpful to be able to get some nice assets to mess around. OGA has some really solid stuff on there, a lot of it is even CC0 and while it can be hard to find everything a project needs, I still find it immensely helpful, especially as placeholders.
There’s plenty of different Assets, from Sounds, Music, 3D Art, 2D Art and so on. Granted not all of it is top notch high quality, but for a small indie dev this can be worth gold. But this does not replace proper art and asset creation, as it is extremely unlikely to find all assets your specific game is going to need without mixing styles or compromising on content.
Really the only two bad things about OGA is it’s admittedly outdated look/implementation and it’s small and seemingly declining userbase, which might be caused by the former. I really hope people come back to it and share or use the awesome art that is being collected there.
Stuff that is cool and free, but not (currently) worth for me going into detail about.
To be honest I could’ve done this in 5 minutes with a simple bullet list and called it a day, but I went overboard with it, as per usual.
I hope you enjoyed it nonetheless and maybe even got some amazing new software/tool/resource to check out and/or try!
Cheers!
Oh and besides: The next post is going to be about Shaders, though a lot less math heavy compared to the Surface Nets post… hopefully.
Be careful, any of this could change at any time.