I decided to call my game Infiniworld, which I can’t pronounce properly because I’m French. There are a few hits on Google for that word but I don’t really care as they don’t seem important *grins*. One of the hit is actually a GitHub repository by me ! Which I am going to wipe out veeeery quickly because it’s totally outdated, ugly, empty and you’re going to freak out. And then I’ll recreate it again, clean and all, for you all to look into as we progress.
Infiniworld is a very generic name for a game. It’s because it’s not just a game, but a game that lets you take part in its creation, creating new experiences and therefore new games. Infiniworld can make many worlds, probably googolplexes of them. I may do the maths one day but until then it’s safe to assume that infinity is the exact number.
As I mentioned in my previous post, the world of the game is procedurally generated. It is not new:
- The world of Daggerfall was procedurally generated at Bethesda’s HQ and then burnt onto the CD, ensuring that all the players had exactly the same world. I don’t want that. I want the players to be able to create their own worlds.
- Minecraft generates the world on the fly as you explore, but it’s not like you can choose what’s in it. You can edit it, but you cannot say in advance that you want to play on one tiny island. However the game lets you choose a seed, and if you enter the same seed you should get the same world. I want to do more than that.
- Fuel makes pretty landscapes for you to drive through. It does not generate scenarios or quests.
- Nethack’s dungeons are procedurally generated, but it doesn’t care about the game being winable or not. I was stuck once on level 1 in a closed room with no secret door and no tool to dig the walls. I want to do better: not just a dungeon but a world as well. And to be frank, Nethack is silly. I love it, but what a mess…
- Diablo: same story, all the time.
- etc, etc, etc…
Procedural generation is often limited to the landscape. I want to push it further. We could push it to the max and have even the textures and the music procedurally generated, as well as the game play, the user interface and absolutely everything, but that’s a job for a titan. I want a middle ground: generate the landscape AND the adventure taking place in it. The scenario will be procedurally generated.
One game will be about bringing hard-to-come-by precious resources to some kingdom so that it does not need to invade yours any more. The next one will be about killing that bitch of a princess and free all the dragons. Another one will bring you through the Swamps of Pestilential Doom to the necromancer who will resurrect your uncle so that you can torture him into revealing where he hid his fortune.
See where I’m going ? There is probably some way to generate a story from story-bricks. You have one main objective, and to get there you need to go through many steps. It does not need to be linear, there can be branches, there can be several ways of ‘winning’. We are going to write the algorithm to create the story from the story-bricks.
Which leaves us with the question: who will create the story-bricks ? Me, you, anyone who can program and write a script for Infiniworld to import and include in its database.
Many elements in the game will be part of that database: equipment, items, monsters, playable characters, story, quests, puzzles, tilesets, sound effects, dungeon layout, dungeon rooms, shops, planet, magic spells, etc.. It should be possible for the players to create their new game elements and exchange them with their friends. Then Infiniworld picks some of these elements, letting the player choose some (we don’t want to spoil all the surprise do we?), and shakes it all together to come up with a brand new game. Want a ten minutes solo adventure or an epic 70 hours multiplayer saga ? Infiniworld will give you just that.