tag:blogger.com,1999:blog-3779956188045272690.post1682418776209879839..comments2024-03-22T01:46:59.425-04:00Comments on Procedural World: The case for procedural generationMiguel Ceperohttp://www.blogger.com/profile/17586513342346629237noreply@blogger.comBlogger61125tag:blogger.com,1999:blog-3779956188045272690.post-21990424850872757482015-06-17T11:36:30.383-04:002015-06-17T11:36:30.383-04:00I think currently yes, large amounts of procedural...I think currently yes, large amounts of procedural stuff can lead to games that are repetitive and boring. However, I believe that procedural generation, following the same trend that other innovations in computer graphics have, will eventually reach what I call the infinity barrier. <br /><br />Currently, RGBA colors can produce more different colors than the human eye can detect. There is no point in making more colors,because to our eyes, they will have the same effect. In other words, modern color storage methods are just as good as if they could hold infinite colors. The same could be said for unicode text.<br /><br />This is what I define as the infinity barrier: the point at which it is useless to improve upon a technique because it already at or beyond the point where a human user can detect such an improvement.<br /><br />Eventually, I can see procedural generation methods reaching this point. While humans can pick up on quite a few variations, there is still a limit to the number of differences we can see. Think of a leaf on a tree. If the tree only has 1 or 2 leaf shapes that are repeated, it is certain that someone will notice. If the tree has say 50 leaf shapes, it will be much harder to see such repetition, but eventually, after seeing the same 50 leaves on the same tree, you will get the impression that the trees are not real. But when a point comes that the tree can create hundreds or thousands of leaf variations, nobody will notice that one leaf here looks exactly the same as another leaf there.<br /><br />I must also disagree with the idea that procedural content lacks the sense of adventure needed for a game. There are plenty of interesting features, such as caves, volcanoes, ruins, etc. that can all be made procedurally and work just as well with the surrounding environment. But there is an infinity barrier here too, in a way. Players are unlikely to venture extremely far distances in games, so if such features are sparse, the player is unlikely to run across more than one of them. Also, due to their extreme differences, if a player did run across two ruins, for instance, they would look so different that they would tell a completely different story.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-55933771960327473332015-05-27T22:49:17.252-04:002015-05-27T22:49:17.252-04:00Don't forget how Diablo 1 married unique conte...Don't forget how Diablo 1 married unique content and procedural generation. While D2 always has the same hand-made parts on each level, in D1 some hand-made parts were only present if you are lucky. That's still only a few steps in that direction, the potential is bigger.GrayFacehttps://www.blogger.com/profile/16203447667447387999noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-16795574730424416142014-11-05T08:44:22.338-05:002014-11-05T08:44:22.338-05:00I would use Simplex/Perlin noise to throw in some ...I would use Simplex/Perlin noise to throw in some variation.<br />Indeed, you could use those noise algorithms with forward Brownian motion to provide “waves” and “tides” between moments of tension/relaxation/anxiety… It could also be used to effect mood swings in NPC’s and romance(relationship) charts. There are so many applications for seemingly random waves to appear life like and unpredictable. It could also be applied to affect the mood of a virtual artist…<br />Human creativity can be procedurally applied if we can define the patterns employed by the artist. Despite their claims, most artists have a pattern of creation. It may be a unique pattern to them, but they spend a lot of effort trying to deviate ever so slightly from their patterns. So if we can identify the factors of their style, then in that sense, a rigid artificial intelligent artist could become a procedural entity?<br />But failing that, we can use user/player/participant feedback to alter the content as well. This allows participants to entertain each other to a degree. This would work really well if the average person wasn’t so boring? I imagine for instance, a virtual world, where the players are living in a world of limited in resources and ability, but have unlimited aspirations… this should result in real world politics and could provide some amazing socio-global events and everybody will be a part of it, if only in virtual presence.<br />I’ve been toying with procedural and user driven designs for a few months now, mostly because, as a single developer and artist, it would take me a decade to build my own decent virtual experience, if I were to try and do it conventionally.<br />But I’m veering off course. I really enjoy it when I come across these philosophies in your blog. I’ve been returning to this blog regularly and your work has been most inspirational and reinforcing. I hope to catch up to this level of applied philosophy someday, though honestly, if Voxel farm was available as a tool for Unity, I would happily use this wheel instead of reinventing it from scratch.<br />Cafe' Ambivalencehttps://www.blogger.com/profile/00758130187787975644noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-80640267566869265392014-03-26T13:17:39.216-04:002014-03-26T13:17:39.216-04:00You should have a look at Limit Theory. The creato...You should have a look at Limit Theory. The creator is trying to do exactly what you talk about here. Btw, love your blogs, avid fan. :)Vartulhttps://www.blogger.com/profile/16948418700637563881noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-76588813152210423272013-03-18T08:25:58.990-04:002013-03-18T08:25:58.990-04:00> Procedural content means the game responds to...> Procedural content means the game responds to the players dynamically. Dynamic responses are governed by rules.<br /><br />IMO procedural generation of content and especially simulated content will prevail in the long run for simply that reason. 90% of all games are almost 99% linear experiences. How often have I asked myself why I can't smash in this window or why is there a garbage truck blocking this street? Why can't I shoot that person and see what happens? And gamers do get bored of genres and want more.<br /><br />Procedural generation will surly enter middleware and become more and more complex and sophisticated. It's probably an investment that will have to be amortized over multiple games. But when it becomes available as a tool to many developers, people will do amazing things with it similar to the star trek holodeck, things that would never be possible with hand crafting.<br /><br />It would be awesome if there was some kind of standard volume shading language for generating 3D content and a kind of open repository for reusable procedural content. There would be lots of people who would love to contribute to it or moderate it. In the end you might be able to specify something like "Computer: A dinosaur please, green, talking out of his ass". A crappy form of compression, HA!<br /><br />Also I enjoyed reading all the comments here and great blog!Dejaynoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-66266622975032680932013-01-18T07:36:34.509-05:002013-01-18T07:36:34.509-05:00I am not attacking Miguel so you don't really ...I am not attacking Miguel so you don't really need to defend him. I love procedurality and it is a fantastic tool. And more necessary each day. It's highly possible that without people like Miguel who push an idea to its radical extreme, the rest of us wouldn't see many avenues that would lead to create actually useful and desirable things, be it for games or any other fields.<br /><br />I guess I misinterpreted his enthusiasm, thinkig he believed his goal would be achieved in our lifetimes. That's when I pause to reflect that in all of human history, nobody has yet codified any of the arts (first step to teach an AI is knowing what to teach ourselves) so the claim of a game-generating algorithm that's on par with human work remains a pipe dream. I apologize if my comments seemed hostile.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-1408280766707088452013-01-08T09:10:50.532-05:002013-01-08T09:10:50.532-05:00please substitute "undisclose" with &quo...please substitute "undisclose" with "unlock" and forgive my bad english, thank you.Pietro De Nicolahttps://www.blogger.com/profile/06628441281080471327noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-80774497714547774912013-01-08T08:48:03.151-05:002013-01-08T08:48:03.151-05:00I want to spend a few words in defence of Miguel, ...I want to spend a few words in defence of Miguel, firstly because I have great esteem (other than some kind envy) of such people as Miguel because he does what he likes and doesn't fear to pursue a project that may never meet the market or any pecuniary gratification in a world where everybody is hunting money.<br /><br />Procedurality requires expensive research and would make games repeatedly playable. That's why I'm not sure that current investors would be willing to pay for this, at least not for games.<br /><br />However, I believe that games (at least some) are as fun to play as they resemble reality. This resembling can be restricted to aesthetics, for many reasons, but in my humble opinion, behavioural resembling is the core feature of a game.<br /><br />See reality. It is not sandboxed and has not predefined set of cases. See a simple ball how fun to play is for humans and for other species as well. The physics of the ball holds infinite cases, unpredictable cases, allowing the ball to mime a prey or whatever in the mind of the player. Yet it is just a formula. <br /><br />Miguel is a creator, one of those who made math his main tool of creation. I believe that procedural generation can undisclose doors to new game mechanics that are now not possible and not even imagined. Here lies the second reason why I esteem Miguel, because he is a visionary and a pioneer. Most of such people have not got fame in history. But I believe that every single drop of progress we have had we owe to these people.Pietro De Nicolahttps://www.blogger.com/profile/06628441281080471327noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-8568412457204098262013-01-04T09:47:25.413-05:002013-01-04T09:47:25.413-05:00I never said or implied it would happen soon. From...I never said or implied it would happen soon. From where do you get this?<br /><br />Also note you do not need a general purpose AI to tackle the domain specific problem of game design. In that sense it is like Deep Blue and Watson. You could even have AIs specialized on designing a particular genre of game. So the AI that does RPGs would not know how to do FPS.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-48253855651118456322013-01-04T06:24:56.679-05:002013-01-04T06:24:56.679-05:00Not to mention that a creative, complex field like...Not to mention that a creative, complex field like game design is not really comparable to a problem with definite rules like winning at a board game. I'm not saying we won't achieve sentient AI, but it seem its still a ways off.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-85617198586764644442013-01-04T06:21:22.706-05:002013-01-04T06:21:22.706-05:00I'm not saying it won't happen. I'm sa...I'm not saying it won't happen. I'm saying it won't happen as "soon" as you seem to be suggesting.<br /><br />Right now, a team of developers can make a game in less time than a team of researchers/programmers can make an algorithm that spews out games of the same or similar design. The man-made game will be of higher quality, as well. This will continue to be the case for a very, very long time.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-13418408389343355872013-01-03T20:49:28.511-05:002013-01-03T20:49:28.511-05:00Well most humans still suck at Chess and Jeopardy,...Well most humans still suck at Chess and Jeopardy, but algorithms already surpass the best of human capability.<br /><br />I remember a time where people would say, yes computers are fast and whatnot, but they will never beat a human at Chess. Then it happened and we started saying well maybe Chess, but never at a game that relies on intricate linguistics... <br /><br />We keep moving the goalposts, until there won't be much to contest.<br /><br />I for one salute our robotic overlords. I know they are reading this. Friends?Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-83792832675626733342013-01-03T20:23:49.666-05:002013-01-03T20:23:49.666-05:00It is an interesting proposition but taken to the ...It is an interesting proposition but taken to the extreme.<br />Most real human beings still haven't mastered the art of game design, so it will be a while before an algorithm can match human capability.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-87925511592366867822012-12-28T10:19:53.915-05:002012-12-28T10:19:53.915-05:00Yes this is correct. I love you brought it up.
Ca...Yes this is correct. I love you brought it up.<br /><br />Carmack in this remark and others in general are quick to equate procedural generation with only the family of "local" methods like Perlin and cellular noise. These functions have very little information in the results they produce, and should be avoided as the core of procedural content.<br /><br />There are other procedural techniques that rely on simulation. This is different, because even if it is still generated by a computer, there can be a lot of time and energy going into producing the results. So terrain, plants, architecture, etc that are generated this way may contain a lot more information. <br /><br />Also note that simulation, while it is governed by a code (let's say a program and some initial data) can express results that are not directly bound to the code. This is similar to how DNA is the code for a person, but the actual person is the result of running this code for a very long time, in a very complex machine (the world). <br /><br />And last, we tend to think of humans as whimsical, unpredictable creatures. In reality content that is created by humans is also bound by real world rules, and most importantly by their experience and the techniques they know and use. Humans bring a lot of redundancy as well. The Kolmogorov complexity of the stuff we create is not as high as we like to think.<br /><br />Soon a human will have trouble competing with a computer that has seen every place on Earth, every work of art, every game world ever made.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-21064396178931276252012-12-28T09:15:19.615-05:002012-12-28T09:15:19.615-05:00What Carmack said ("procedural techniques are...What Carmack said ("procedural techniques are nothing more than a crappy form of compression") indeed ironically relates to compression in terms of the Kolmogorov complexity:<br /><br />http://en.wikipedia.org/wiki/Kolmogorov_complexityAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-26503543450492367072012-06-03T22:26:52.136-04:002012-06-03T22:26:52.136-04:00I feel that the key with procedurally interesting ...I feel that the key with procedurally interesting worlds is that it needs system that are designed to interact in interesting ways from the start. That is to say, it needs to generate features that have emergent properties. It can then be honed to create these interactions on a regular basis.<br /><br /> The great part about dwarf fortress is that it creates stories that you can re-tell because of the way that everything interacts and has substance. You can tell a story about how a dwarven mother was killed by her dead baby's reanimated hand, and later how the father went batshit insane and killed everyone. <br /><br />The reanimated hand is an interaction of the creature generation system and the material system (dead flesh can become a creature). The fact that the hand can be come dismembered to begin with is a feature of the weapon system interacting with the body simulation. The upset father is an interaction of the emotion system playing itself out with the "jobs" system in the sense that he gets assigned the job of throwing tables around.<br /><br />As for it being ascii, there is nothing preventing someone from creating a creature system using a similar grammar system like how you create buildings. Map it to something like spore's creature engine and you can basically make any creature imaginable.<br /><br />On an unrelated note: computer generated music is getting quite good: http://www.youtube.com/watch?v=o0tH_mHXR9cAnonymoushttps://www.blogger.com/profile/11800572223165657557noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-67007811405755994682012-05-29T08:54:31.240-04:002012-05-29T08:54:31.240-04:00I like your vision. A virtuality that is dynamic, ...I like your vision. A virtuality that is dynamic, and that dynamically responds to player actions, would better resemble reality. <br />Apart the graphic aspect, modern games still mime books, not reality.<br />I think you are never late for this discussion.Pietro De Nicolahttps://www.blogger.com/profile/06628441281080471327noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-23811176728205729362012-05-28T23:58:58.652-04:002012-05-28T23:58:58.652-04:00I'm way late to the discussion but it's a ...I'm way late to the discussion but it's a topic I find infinitely fascinating. <br /><br />I feel like modern game designers give too little credit to players ability to engage in abstraction. Which is very odd coming from an industry where 4 triangles and some brown and green has meant a tree. <br /><br />I think the point of procedural content isn't just to save the artists time, or generate bigger worlds, or extend the length and variety of content. For me the true strength of procedural content is the players become the designers while they are playing the game. <br /><br />Procedural content means the game responds to the players dynamically. Dynamic responses are governed by rules. The players learn the rules and explore their ability to get the game to respond differently to different inputs. They reshape the gameworld to their preferred image, and they are doing this not as developers, but as players, the algorithmic responses from the AI, or the geometry, or the mechanics, become abstracted elements for their internal and self directed narrative. The story you make for yourself is always more engaging than the one force fed to you.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-90025068258347026372012-04-15T05:12:16.227-04:002012-04-15T05:12:16.227-04:00A lot of the views I see on the limits and shortco...A lot of the views I see on the limits and shortcomings of procedural generation focus on the fact that you can't procedurally generate a compelling story or narrative, that it's really hard to build a level which both looks good and has a good flow of gameplay and pacing.<br /><br />This is all true, and will remain true for some time (though I'm sure there will come a day when when you can procedurally generate a complete and compelling narrative), but it's also missing the point. It's operating on the assumption that these things that procedural generation fails are things that are actually necessary for a good game.<br /><br />However, procedural generation has a long and storied history in excellent games. Minecraft and Dwarf Fortress are the major recent examples, but one people often forget about is Civilization, with it's procedurally generated world maps. Strategy games and God games have frequently used procedurally generated maps.<br /><br />The trick to a solid procedurally generated game is coming up with a design that leverages the strengths of procedural generation, and doesn't rely on the things that procedural generation is bad at. The key to such a design seems to be to shift the focus away from the story, and more towards building and creating, be it building structures, or machines, or communities, or whole civilizations. When the world's purpose is shifted away from being a setting for your story, and towards being a resource and an obstacle to your creative endeavors, then procedurally generated worlds start fitting much better.Anonymoushttps://www.blogger.com/profile/11169350495045154213noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-26901006322938499002011-09-24T08:40:25.716-04:002011-09-24T08:40:25.716-04:00Great post, and great blog in general! As an AI gu...Great post, and great blog in general! As an AI guy with an interest in procedural generation I really admire what you're doing - I wish I could find some time do do something similar myself (too lazy is the answer of course).<br /><br />I wish I had something more constructive to say, but I notice you typo'd the Turing test (after Alan Turing) as the Turin test (determining if an image really is the face of Jesus?)<br /><br />Well, maybe I can say something. There's a niche waiting to be filled in procedural narrative generation. I'm not saying we'll have an AI writing the script of Planescape Torment, but consider the tired and overused plot device of one of your companions turning against you. This is either usually telegraphed extremely obviously, or at least the player will know exactly what to expect on their second playthrough.<br /><br />A fairly trivial change would be to make it one of three (say) of your companions who will betray you, and have two clues and one red herring which occur earlier in the plot to give you a hint if you're paying attention. A human would still need to write all the dialogue for each case, but the classic betrayal suddenly goes from a big yawn to a tense turning point on every playthrough. And once one game does it, there'll be no going back.Hematitenoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-90516980421654809542011-09-12T11:36:56.308-04:002011-09-12T11:36:56.308-04:00@Nicola: You may be oversimplifying. The fact that...@Nicola: You may be oversimplifying. The fact that we have succeeded in some areas like terrain and botany should not be extrapolated to all areas of artistic creation. For instance, I don't know of any musical composition entirely made by an algorithm that is appealing to humans. <br /><br />Even if you think reality is procedural, then the computer would be the Universe, and it would have been running for billions of years... all this was needed to come up with "A rabi, a priest and a shaman walk into a bar..."Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-36392371399034760222011-09-10T10:54:16.464-04:002011-09-10T10:54:16.464-04:00I don’t see the point. You can build piece by piec...I don’t see the point. You can build piece by piece, from scratch, specifying every detail, every behaviour, at the lowest level possible of abstraction. Or use a higher level approach, building not one tree but a Tree class, and then you will let the machine to generate a forest. No need to hire a colony of human ants to craft every single tree. Machines are meant to work instead of us. They are already doing some easy applications for us. And we can do better. We can teach machines to generate worlds, to entertain us, where there are procedural trees, cities, people, behaviours, even in-game music.. all procedural. <br />Why not? After all, reality is procedural. We can guess that everything in this world can be mathematically portrayable, perhaps with a better math. And of course the formula that portrays a reality like this where some humans like us are speaking about a subject like this must be complex for a human mind to handle. So it’s not strange that early approaches lead to “bland” results. As well as it’s not strange that in a time like this, triple A companies prefer not to invest much in research about content procedural generation and go through the well known development process (with the human ants..). Procedural is challenging. Yet procedural is what makes real. And I believe that it will be the natural evolution to reality representations.<br />I’m a coder with very small spare time. Yet I could set up a simple terrain generator that can entertain me for hours (gdevice.blogspot.com). I think I’ve spent more time on exploring that world than on coding its algorithm. Imagine what can do a paid team that works full time on that..<br />In my own opinion, procedural content generation is very challenging, definitely not a 1 man project. You should not plan to come out with a game entirely procedural, not as first goal. You better complete small games, each one with a little more procedural content than the previous one. Imagine a procedural engine, aside the graphic engine, that will first have only a name generator, then you add a maze generator, then a race generator, a mission generator, a speech generator, and so on.. <br />In the beginning your game will be partially procedural and partially handcrafted, so your game editing will be like this: here is the terrain (generated) and at this mountain is a castle (handcrafted) with a dungeon (handcrafted) and a treasure chest (handcrafted). When your game will be pure procedural, I imagine that your game editing will be like this: here is a universe with 3% of earth-like planets, each with 30% of mountains, 0.5% of castles and 2% of treasure chests. And you coder won’t know where those will be located. You could even play your own game. Does this make sense?Pietro De Nicolahttps://www.blogger.com/profile/06628441281080471327noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-47456406677460461792011-09-02T19:18:25.605-04:002011-09-02T19:18:25.605-04:00I'm looking everyday here for a new post. But ...I'm looking everyday here for a new post. But don't be in a hurry. It's probably just the fourth thing i'm waiting for in the IT field after battlefield3, minecraft 1.8 and skyrim..Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-34645709980287357212011-09-02T08:26:23.921-04:002011-09-02T08:26:23.921-04:00@Squash: Yes, we should not be so hard on procedur...@Squash: Yes, we should not be so hard on procedural generation. Most humans cannot produce interesting content, it is a difficult problem.<br /><br />My next update as usual no idea when it will be. I'm not working on visual things right now, I moved to designing the data formats to stream info from server to clients.<br /><br />I'm far from done regarding the architecture and city generation, but the experiments I did put my mind at ease. This is not longer a big question, so I moved to what I perceive it is the next critical point: making sure all this data can be sent to clients fast enough. Answering these questions will let me know if I'm still in the right path regarding generation.Miguel Ceperohttps://www.blogger.com/profile/17586513342346629237noreply@blogger.comtag:blogger.com,1999:blog-3779956188045272690.post-38901986160590558122011-09-02T02:41:21.162-04:002011-09-02T02:41:21.162-04:00The amount of interesting content a procedural gen...The amount of interesting content a procedural generator can create is bounded by the time spent developing it. We all hope it's greater than a linear tradeoff, where adding procedural subsystem 300 increments interest the same amount adding subsystem 3 did. I doubt it's the exponential number of choices we all like to pretend it is, where each permutation of involved systems is an interesting thing. Quadratic though, perhaps.<br /><br />The point though is that you can definitely create interesting worlds with procedural techniques, and even if we can't maintain interest for longer than we might by spending the same amount of time with hand crafting, you still have an infinite amount of stuff. That has a value of its own.<br /><br />Anyway, don't let people get you down about the eventual use of the system. Furthering the art is a good goal in and of itself. And I see lots of potential ways to use it, provided pathmaps and all those other gross game conceits can get strongarmed onto the system.<br /><br />So when's your next update?Squashnoreply@blogger.com