Designing for longevity... how?
Making a game last long is a challenge. Making it last forever isn't any easier either.
How to achieve infinite gameplay? How to extend the game's content without bloating it? How to keep the game interesting and fresh, regardless of time spent on it? How would you keep making consistent profits of an infinite game in the long run?
How to do all this, but as to not compromise the game's integrity or resort to cheap tricks and gimmicks? How to create a true, solid infinite game that will be a success, both as a fun game and a great business model?
All of this is possible.
This article will guide you, explaining the major parts that are required for an infinite game to work and how to go about them, in terms of the overall idea and design.
Word of warning
Infinite games are not trivial to make.
But before we continue, I must warn you that infinite games are some of the most challenging and demanding projects to undertake.
They must be approached with a very strong vision of what the game is supposed be like. This means two things:
- The design phase must be thorough. A robust framework is required from the very beginning to ensure consistency with all systems and content within the game. As such, the waterfall development model is the default way to build an infinite game.
- Infinite games are not suitable for experimentation. To build a robust framework required by a proper infinite game, you need to define it as clearly as possible.
All of the above means that the design and preproduction phases can be very lengthy and that once you've established it, it's set in stone and making significant changes can severely compromise the integrity of the entire project.
If you're making an infinite game, you're in it for the long haul. You need to know exactly what you want this game to be. Prepare to spend plenty of time crafting the overall design before getting into production.
What is an infinite game?
It is a game with enough depth, fun gameplay and its content is constantly growing - either by the developer, the community, or both - to keep you genuinely entertained forever.
These games are often more than just games, they're best described as alternative realities or virtual worlds. An infinite game is what could be considered as the ultimate-type of game, a super game.
As you might expect from something that simulates an entire universe of its own, a game like this is not a simple one and it does not solely focus on a particular gimmick, as that would limit its design in terms of gameplay possibilities that would inhibit it from being a - you know - infinite game.
In a similar way, while it can have a backstory or perhaps some predefined history, the infinite game can not limit itself with a finite scripted storyline, meaning it does not have a clearly defined end as a whole. Only an overarching storyline can be present that defines the world it is now and what will and has happened in it.
In a very loose sense, an infinite game works very similar to how real life does.
Persistent and living world that is interesting simply to be in.
The universe is persistent and goes on, you are born into it, go about doing daily tasks, interact with the environment, things happen around you all the time and you take on whatever major or minor challenge the world will throw at you once a while.
These challenges could be anything from a grocery shopping trip to an adventure to the Alps.
In a similar sense, thats how an infinite game works. You, the player are put in a living, breathing and persistent universe, you hang out, do fun activities and go on adventures based on a personal quest or as a reaction to some event in the universe.
Now meanwhile the universe is infinite, the adventures and events mentioned above are finite and standalone. Each adventure has a clear beginning, progress and an end, similar to what you've come to enjoy in scripted singleplayer games and movies. Memorable experiences.
Beginning of the next epic adventure.
So, with an infinite game, it acts like an infinite generator of adventures for you to take on.
While all that happens, the universe is persistent and the things you do in the past can leave a mark in the future. There also remains a sense of consistency with the existing content and the new, meaning whatever you add to the game as new content will work perfectly well with the existing elements, multiplying the possibilities of gameplay instantly.
In a sense, all the content you create as a developer for the game will remain infinite just like the rest of the game does. In other words, the work you put into this game and its content is not a throwaway job. Any work you do will live on forever, literally.
Compared to an infinite game, creating a scripted storyline while trying to shoe-horn the player into someone or something they're not - unless the purpose of the project is to specifically teach or tell a certain story - is quite counter-intuitive, especially if the original goal of the game was to give you an experience of doing something or being somewhere only to have it end up so limited and short-lived.
The requirements of an infinite game
Infinite games are modular. They are made out of certain components.
To create a game of this caliber, there are a couple critical components that are required and a few optional ones that make an infinite game a possibility and work properly.
Disclaimer: there is no such thing as one game to rule them all. A single video game cannot be all at once and give you all experiences at once. Impossible.
Every video game is different, you can't have everything at once.
Every video game can focus only on delivering one certain universe with a set of certain rules and the content associated with it may not be compatible with another system.
No matter what, every project will be different and some components of an infinite game may not even fit into the experience its supposed to deliver. An infinite game is only a type of a game.
For example, some games can only work as a multiplayer experience, while others work only as a singleplayer game. You can't always have both for every experience you're trying to present.
With that said, not every game can be infinite either. If the game has a limited design in terms of what you can do in it, focuses on a specific scripted story or a gimmick, then obviously you can't make an infinite game out of that.
An infinite game is not suitable for experimentation or prototyping either. You are welcome to try, but the key thing that makes an infinite game work is a robust framework and a strong vision of how the universe is defined and what features it includes.
As such, any dramatic changes to the core can easily destroy the whole project, so iterative and agile development methods will most likely explode in your face if you try this.
However, with that said, some aspects of an infinite game can be used for finite games to increase its replayability value, but do note that it will not make them a true infinite game.
I will now go over the major components that are the requirement for infinite games.
Infinite overarching goal fueled by finite adventures and events
...and it never ends.
In scripted story games, you have a meaning that you pursue when you play them. Discovery, progression of story, exploration or some big challenge you need to defeat.
These are finite meanings. They end once you find out what you went off to discover, defeat what you had to defeat and so on.
For an infinite game, for its universe, you need to establish a passive, overarching story. I say "story" very loosely here. Story also means purpose, meaning and reason why you play the game.
Environmental sustainability is a good example of an infinite goal. Nurture and protect your world from harm, while improving yourself and your technology.
By a passive, infinite overarching goal, I mean a huge on-going event that the player lives by in the universe.
This can be something like "the world is ravaged by an alien corruption, survive and get rid of it, one planet at a time" in a game where you travel from one planet to another, defeating a hostile alien infestation by what ever means possible.
Another example is "build a civilization, keep improving it while living within it", a minecraft-like game where you claim a piece of land, build up a civilization with cities and towns, maintain them, enhance them and then have fun doing activities that your city enables you to do, either solo or with friends.
Basically, these goals are never ending and can be pretty simple as "live and experience the world around you". However, this is only half of the system.
The other half is that the universe generates events, either actively by say, erupting a volcano near your city or passive events like "your refrigerator is empty, time for a grocery store trip".
Active events are something that happen either by an accident caused by the player or on purpose. Or it can be something that happens out of players control, like how we get earthquakes in real-life. They just happen.
Passive events are something that happen because of the mechanics of the player character that occasionally require him or her to react to them somehow, or not at all, with varying consequences.
Both active and passive events often occur by themselves naturally and players have the power to create and dissolve them by actively doing something that would change them. Sometimes an event may also predictable and the player can act upon it even before the event has happened and alter it or stop it from ever happening.
The events can be both negative and positive in what they hold, but above all, they need to follow the rules of the universe and remain consistent with them, meaning that any event that happens, has a reason to do so. To make this work, you'll need the strong framework I talked about a while back to handle this meta aspect of the game that causes events.
Now, these events, both passive and active, can set the player on an adventure with the same level of meaning like a scripted storyline can, except with the added bonus of the player being able to be themselves in the adventure and also have complete freedom to react to the adventure in any way he or she desires.
Through these events, you can experience definitive moments in the infinite game that are memorable and have clear beginning, progression and ending.
To take the example of the volcano erupting in the city, you begin the adventure of waking up in your house only to find out its half-submerged in lava and you need to escape it and save anyone you can on the way.
Escape from the burning city.
In theory, this adventure would lead from one event to another by first escaping the danger, then helping others to do the same, then finding a way to stop further destruction to the city, then rebuilding it and improving upon future possible disasters by more clever construction.
And there you go, you got a real adventure with all the twists and excitement you get in a scripted storyline and the whole experience can last you just as long, except you get to play in the same universe after the story has ended too, with the adventure leaving a mark on the world for you to remember in the future as you go on new adventures within the city.
That's how it works. An infinite game is a generator for finite adventures in a persistent universe. The whole concept is more or less just like how real life operates.
Multiplayer
Humans are unpredictable, social, smart and live beings. Put two or more humans to do something together and soon you'll have drama and hilarity fueled by whatever activity they're doing.
Playing a game with friends or even a stranger will make every game session feel new in some way either through the ingame behaviour of players that can be anything from stupid, smart to outright chaotic or just through simple communication by text or voice - even just talking to a human being can be exciting.
However, in order to harness the value of multiplayer, which is one of the biggest sources for infinite replayability, the game needs to support it correctly. In addition, the game also holds the responsibility of encouraging behaviour within players.
There are two main types of multiplayer; competitive and cooperative.
Competitive design pits humans against each other with the goal to come out on top at the cost of someone else losing.
Cooperative is about working together, either passively or actively. The goal is to achieve a result that everyone strives for, but don't necessarily need to be forced to do it together.
Now, I'm going to say something rather controversial here, despite how popular and deep-rooted it is today within our traditions and culture in society. I hope you will at least think for a moment before recoiling with anger.
I do not recommend competitive multiplayer.
I will not go into the specifics here, as this topic requires an entire article of its own. However, in the meantime I highly recommend reading the following article to get some food for thought on why I just said that.
The main point is, if you want a better community of players that are more friendly, helpful and forward thinking, you hold the responsibility to encourage and mold that behaviour within them. Unfortunately, competitive game design is not going to help you with that.
In any case, multiplayer presents lots of interesting possibilities that wouldn't be possible or likely to happen in a singleplayer scenario.
However, it's not a simple thing to implement because integrating multiplayer into the game's design entails both risks and opportunities that need to be managed properly.
You need to realize and accept the fact that your game can directly affect the player's behaviour and can actually encourage certain traits to emerge that can also carry over to the real world in a subtle way.
Make a competitive game about proving your superiority over others, you will instill hate and elitism among your player community. Cause and effect.
Likewise, make a game about encouraging others to improve through constructive feedback in a cooperative game design, you'd get a civilized community. You reap what you sow.
If you're thinking this is absurd and unlikely, keep in mind that video games are a number one activity a lot of people spend many hours upon every day. It's a major part of life for some.
Like it or not, but you are influenced by what you do and what environment you're in, so be mindful of that when you design a game with multiplayer
Procedural generation
Automating content instantiation and randomizing it.
It is possible to program a computer to create content automatically and along with that, it can also randomize this content in various aspects.
Your game can have a system that will add a factor of randomness by either creating random new instances of pre-defined objects or combining assets in a random way to create completely new content, which in turn can make each time you play it feel different, fresh and unpredictable.
This is called procedural generation and it has many uses, but you need to be aware of where to use it and how. There are certain things that you would definitely not want to randomize, as it can either ruin the consistency of the universe - which is very important to maintain at all times - or simply leave you with uncanny results.
Now, when I say content, I don't mean artwork and sounds. Those are called assets. Content is the objects and things that are built out of assets, like maps, items and characters.
Artwork and sound is also possible to create procedurally, but at best it's only suitable for generic organic type assets.
Good fit for procedural generation: creating a forest by scattering individual trees.
Some examples include seamless textures of organic surfaces like grass, clouds, sand, rocky terrain, sky, space backgrounds and similar constantly repeating patterns. You can also procedurally generate generic nature objects, that can be anything from trees, bushes, rocks, asteroids and space nebulas.
For sound, something like ambient soundtracks is also a good a fit.
As for more defined assets, like technology, specific characters or other non-generic and non-repeating artwork, sounds and objects, procedural generation is not that suitable. Those are best done by hand, either by the developer or the users.
Ultimately the universe of an infinite game is a very generic setting, devoid of any specific instances of any technology or characters in its initial state, to which the developer and the players contribute to create the more unique parts of the game.
The logic behind this is inspired from real life where say, a human arrives to a plot where he intends to live and builds a house in his own image, thus adding that personal touch to the world.
Basically, procedural generation is best used for either creating generic, repeating assets or combining assets like modules to procedurally create content, like new stages, maps, worlds. It can also be used to create mutations of characters and technology systems by interchangably swapping modules with similar ones.
An example of this is letting a game generate variations of a space fighter by changing its weapon loadouts, the cargo its carrying and the condition it is in. Using that, you can create unique NPC encounters by procedurally assembling ships using random parts, loot and condition.
Bad places to use procedural generation is to create new, specific technologies or specific named characters from scratch. In essence, the worst place to use it is for creating something completely new, instead of assembling something randomly from existing parts.
A good way to picture the appropriate use of procedural generation is a city. You can generate a city with procedural generation by placing buildings and roads, but cannot procedurally generate the individual buildings and systems that make it up. Those are a task for the human to craft.
Until a computer can be as smart as a human, giving it the task of making something creative from scratch is a bad idea. For any new specific unique-type content, a human touch is irreplacable.
Personal expression
Also known as the ability to express yourself, your creativity or your skill.
In a game that allows the player to be free and what he or she wants - which is a very major part to making an infinite game work - you can expect emergent moments to happen where the player goes out of his or her way to do something unique, be it impressive or silly.
Personal expression can be achieved in many ways.
First and foremost, do not attempt to control or force the player. Just let them be and do what they want. Instead of guiding them intently to make them do something or behave in a certain way, inspire them to do so on their own. Set an example and leave it at that.
Secondly, the game's mechanics need to be flexible and open. The key is unpredictable elements. Things like physics, multiplayer interaction, free movement and endless possibilities of item and character combinations.
To explain the last one, take a rocket launcher for an example, the fired rocket explodes and causes things to get destroyed and knocked back. A powerful weapon. Then, a craftly player turns it around by taking the rocket launcher, jumping and launch at his feet to be propelled by the explosion to reach higher places or to travel faster. That's what I meant by endless possibilities of item and character combinations.
Basically, the point is that the game has the capability to allow for chaos to occur and unique moments to happen. As in, the game is not predictable to every detail every time you play it.
I don't mean that by having everything rigged to a random number generator, no.
I mean the game relies on systems like physics, where even the most basic things like movement can be interesting, because while you can predict how physics work on a general level, you cannot predict every small detail of it.
The result is that even something simple like walking based on physics can go horribly wrong - in a good, memorable way.
Even something simple as running can be fun.
Third, customization. Naming a character, changing the colors to suit your preferences, wearing specific clothes and accessories to allow you to define yourself and be unique is a big way to bring personal expression to a game.
This allows the player to bring out his or her creativity and bring something unique to the game just by being him or her self. In a sense, you even can consider a human player as new content in a multiplayer game. Customization options reinforce that.
And finally, the ability to leave a mark in the game's world is another method of personal expression, even if you're only partially involved and regardless of the scale of how significant the event was.
Having the ability to do something that persists in the future in some way gives you a sense of meaning and purpose in playing the game, because that something you just did or participated in actually changed the world, even if it was just a tiny thing.
What counts is that something the player did actually persisted in the game's universe.
Leaving a mark can be a lot of things. Building something, destroying something, changing something... anything that gives the player to personally have an effect on the universe around him.
In some cases, the mark doesn't even have to be permanent or long lasting, because the main idea is that the mark recieved recognition of some kind. Either by the game itself by reacting to the player's actions or by other players in a multiplayer game in a way that felt meaningful to the player who did it.
By meaningful, I mean the player felt that he exists in the world and was noticed or that his actions had an effect on the world, no matter how small.
Social features
Social features are about sharing and communication systems. This partly ties in with the above topic of personal expression too.
With the ability to express yourself and the emergent nature of gameplay, some very memorable, amusing or otherwise interesting moments are bound to happen, which are something worth sharing and talking about with you friends.
Seeing and hearing about these awesome moments is often great entertainment in itself too. With something like an infinite game, you could produce loads of content like video entertainment virtually forever.
As such, social features are about helping the player to save and share these moments in the most flexible and easy way possible.
These include subtle things like custom cinematic camera control, turning off the overlay interface (no health bar visible) for a more cinematic effect, ability to cheat for better control over the behaviour of the environment, so that monsters dont kill you while you're filming a particular scene or have the ability to spawn specific monsters for a certain shot.
Then if you really want to get fancy, add the ability to control time with options to slow, stop and speed up time. Then if you want to go completely overkill, have a full blown video recording software and a screenshot database to view your screenshots with basic editing functions like cropping and the ability to choose which file to save as.
To top it off, make it easy to optimize and distribute your video content and images to share with your friends and the world. And let's not forget a tutorial library that teaches the user how to create content and also encourage good quality by setting an example and establishing standards.
Anyway, the other part of social features is communication. This divides into offline communication which happen outside the game on a forum, message board or a chatroom and then there is online communications that happen inside the game.
Offline communications are a place for more serious discussions about the game with topics about figuring out the game, tech support, lore, sharing moments, original fan content, suggestions and bug reports.
These discussions have the benefit of being permanent once posted, which means you can come back to the same thread tomorrow and it will still be there to continue the discussion or find information.
Now, don't be fooled here to think that offline communications are not part of the game. They are in a very major way. It's common to hang out in a forum to talk about this and that with like-minded people about something you love.
It's a place where the community for your game is formed. It can help out new users with any issues they might have with the game in a dedicated environment focused on the game itself. It's also a neat place to learn something new about the game or to share something others may find interesting, like tips and tricks.
All of this can be very much considered a critical part of an infinite game's longevity, especially if it relies heavily on multiplayer. Even if it's a singleplayer infinite game, a forum or similar offline communications system is essential to a game's success.
As for online communications that happen within the game itself, these are the opposite of offline communications. They are often short, but most importantly, temporary. Any discussions you will have with anyone ingame will be lost, so all those topics mentioned in offline communications are not suitable in a throwaway environment like this.
Ingame communications have many instances of topics player may talk about. It's good to know about them, to allow better design decisions.
Simple ingame chatter is the first, where players talk to each other about what is happening ingame as they play, whether to ask for help, inform others, talk about goals and strategy at hand, do greetings, taunt someone or just exclaim something.
Then the chat can be used for general quick chat, where players may engage in short conversations, not necessarily involving the game or anything relevant to it, but just talk about something at random.
Some players may make friends this way or share something, so to facilitate that, it's nice to have copy/paste functionality in the text chat console ingame in order to easily share links and usernames when people become friends or want to share something.
Depending on the game, the chat system could use a way to send private messages when a player wants to say something to another player privately.
Also if the game involves a player-rich multiplayer, with more than 20 players at once, you may want to implement group chat functionality, for players to send messages only to a select group of players, so that the chat channel will not get flooded to the point that it becomes unreadable when more than 20 people try to talk at the same time over on one channel.
New content and modding
Back in the procedural generation section I talked about how despite its applications, it cannot replace the human creative mind and touch to create new specific assets and other new content.
Since we're talking about an infinite game, one of the key pillars for a true infinite game is infinite growth. That means constant production of new content, preferably forever.
With that in mind, there are two ways for new, unique non-generic content to be introduced to a game.
Number one: The developer creates DLC and expansions as long as they can. Now, as you might imagine, this cannot be ultimately infinite. Either the developer might pick up new projects to work on, run out of ideas or just quit whatever other reason you can think of.
Number two: The players themselves make new content for the game. This is also know as modding, which has been an extremely big and popular activity within the player community for as long as video games have been around.
For the case of modding, anyone can become a modder given the resources and guidance, which manifests in a comprehensive library of tutorials, complete documentation and user-friendly tools to make modding easy and fun.
If you're thinking quality is an issue when it comes to player-generated content and modding, don't worry, it's only a matter of setting up standards for new content, setting an example and also having all the aid described above.
In more cases than one, modders can produce content in much larger volumes, more frequently and even with higher quality than the developer ever could.
Since modding is something anyone can pick up and do, there are infinite amounts of modders that can come in and try their hand at making new content. This is the ultimate source of infinite new content.
Obviously it's not simple and requires effort to allow for your game to support an infinite modding community.
First of all, the game needs a very robust framework to support modding and have the process of creating new content as streamlined as possible.
The created content itself needs to follow standards upon creation to keep the game's universe consistent at all times. This prevents both the developer and the modders from adding unbalanced or unfitting content into the game.
Next, like mentioned above, complete documentation, comprehensive tutorials and powerful, yet accessible tools for content creation are essential. These are critical to a content creation system if you want high quality works to come from modders.
Finally, there needs to be a place to upload new content and browse it. The specifics are different for every game, but a place to share, find and talk about mods is required.
Business model and profits
Infinite game means infinite profits, right?
Yes. It's something rather new and better, compared to the current business models that often unfortunately degrades the game experience through limitations or other dubious means just for the sake of making profit.
This ties in very heavily to modding as a matter of fact. Basically the point is to make modding be an official part of the game by allowing players to create content, sell it on your portal on your terms and you get royalties for every purchase.
Valve is already doing this to a limited extent with Team Fortress 2 items and have been looking to expand this even further as Gabe Newell talked about it in his keynote speech at the 2013 D.I.C.E. SUMMIT. They are rapidly catching up to this.
Since mods and modders are virtually infinite, you can generate perpetual revenue by providing a platform for people to create their mods on and recieving a percentage of every sale made.
Otherwise, monetizing an infinite game is the same as any regular project, depending its style and requirements.
For a singleplayer game, a basic one-time purchase to get and play the game. Then you can have official expansion packs and DLC be sold seperately, even through the very mods shop portal discussed earlier.
For multiplayer games that require constant maintenance, if it's absolutely necessary, you can have subscription fees, but do not attempt to implement a cash shop or any other system that sells power or limits the game.
Free2Play might have sounded like a neat concept initially, but it has a very ugly side to it that compromises the gameplay and consistency of the game's universe. The mods shop portal is a much more friendly and functional alternative.
Once the modder royalties really kick in, you could even make the game completely free, allowing people with no income to play the game and create content for you.
For some people, the mods shop portal might as well become their primary source of income by creating content for the game and selling it through you. With that, you're pretty much creating jobs for people that manage by themselves.
Aside from that, modders themselves will find their task far more rewarding when they can actually earn money off it. However, be sure to include the option for modders to release their works for free for those that wish to do so. Don't impose limits.
General hints about developing an infinite game
Aside from the above major components that make an infinite game function, here I'll talk about some general things to keep in mind while designing an infinite game.
Design every aspect, every UI, every system with infinite expansion in mind
It's simple really. Here's a basic example of making a design decision that sets up your game for infinite options, as opposed to the more limited, specific design.
Design decision that encourages infinite design.
Basically it's about avoiding to impose explicit limits to any system you implement into the game.
The above example shows this by having a menu element that accounts for virtually infinite options, as opposed to the limited version that drives you into a corner in terms of its flexibility.
The same logic can be applied to everything else. Here's another example how a health bar can be made more flexible:
The point is to not limit the possibilities, but enable them for infinite expansion.
Design the universe from ground up
Start from the basics and move up from there.
When designing the content of the game, the world, its rules and everything that makes up the universe, design from bottom to up. This is about creating things in a logical order, since the higher you go, the more dependencies there are to the things below.
When it comes to content, begin with the rules of the universe like physics and nature. When you have that defined, you can then create worlds and environments, based on those rules.
Next, you move on to objects and items that appear in these worlds. After that, you can define characters and technologies based on everything else you've designed so far.
Finally and lastly, you design the story, taking into account the rules of the universe, the world, items and characters you've designed.
By designing your game from basics up like that, you will ensure consistency within the game and make it more immersive thanks to that. It will also encourage standardization of content, which makes any new content that follows the rules you've establish always fit the game.
Keep the content modular
Modularity is the key to an infinite game. Focus on making content by making generic objects that are combined together to create something unique. In terms of gameplay, it's much more flexible and allows for better customization.
Modularity. Generic pieces that can be combined together to create something unique.
Modularity is about pieces of generic content and assets that are interconnectable and combinable, allowing the creation of more functional game content that makes more sense and is consistent.
If you're familiar with the toy building blocks LEGO, then that's the very definition of modularity.
Do not control the player, let them be free
Freedom to be yourself and do anything.
Never assume direct control by forcefully robbing the player's ability to control their character for the sake of showing a cutscene or anything similar. This only kills immersion and disconnects the player from their avatar, ruining the fun.
Don't impose artificial limits on anything. Let the game balance itself out by simply making sense and staying consistent.
Try to refrain from creating specific instances like scripted missions, named characters and unique individual items and linear campaigns.
This is a task for the players and procedural generation to create automatically, usually by taking a generic object and assigning value to it based on its emotional value.
This is something that happens by itself when a player comes accross an item and generates an emotional bond with it for some specific reason.
Don't over complicate it
I've heard people say that an infinite game is impossible because you'd need to create the goddamn Matrix and simulate every piece of it to every detail. This is simply not true, don't over complicate it.
You have to keep in mind that computers, althought much more powerful than a few years ago, are still quite limited in terms of processing power and memory.
You also have to take into account that human beings can only handle so much complexity before they get confused, so with those two pointers, you won't ever need Matrix-level complexity to begin with.
The point is, the design is only as complicated as you make it out to be. Keep it streamlined and simplified, but robust and flexible. Be smart.
For a video game, only include the elements that matter for the games universe to stay consistent and the gameplay to function properly and make sense. Anything else: just exclude it, it's not necessary.
Non-infinite games can also benefit from this article
I also want to mention that non-infinite games can greatly benefit from the above components and these hints, which can increase their replayability value and be generally more enjoyable to play.
With that said, even if you are working on a project with a more limited scope, consider the above hints and components, which ever are potentially compatible with your design to enhance your game with the elements of an infinite game, even partially.
In conclusion
This article has been rather massive, but to tell you the truth, this is only the big picture. I've compressed as much as information as I could before this turns into a gigantic novel.
While this article explains all the major parts of an infinite game and what is needed for it to work, there are so many individual details for every part I've talked about that can make or break an infinite game.
Not to mention these details will differ for each individual game project, so if you find yourself making an infinite game and feel unsure about how to design specific parts in it, I'm offering a consulting service to help out with that.
Shameless self-promotion aside, I will make more articles about these details, because infinite games are worth making and I want to see more of them.
In any case, hopefully this article has inspired you in some way or at least has given you food for thought that games can indeed be infinite if made properly.