Author Topic: Procedural content Obsession...  (Read 3854 times)

0 Members and 1 Guest are viewing this topic.

Offline Pixel_Outlaw

  • Pentium
  • *****
  • Posts: 1382
  • Karma: 83
    • View Profile
Procedural content Obsession...
« on: July 21, 2008 »
So I will finally admit that I am addicted to procedural content. It is so liberating to let the computer design media by just giving it some rules. Once a random number generator is constructed a seed value is all one needs to generate entire worlds.

This means that wrapped up inside every number is an entire set of unique attributes that only need to be called upon.My dabbling in perlin noise and maze making algorithms as of late have really opened up my eyes. I feel a longing to really establish personal theory and study this subject at some length. I don't mean to come across as sacrilegious, but playing with procedural content is almost like creating your own world where you are a Deity.

I simply cannot get enough of the stuff and I constantly get new ideas. I now see clouds and other things as functions. I see ways instantly to mimic the world around me through function. There is much more to this subject than layered noise and fractal geometry. Computers can generate entire worlds given some memory and time.

As everyone knows writing a set of rules takes much less space (many times) than storing the actual media and loading it with the program in question. Do you really need to store a map in a game or could you just describe rules for generating it? Just imagine a giant first person shooter set in a huge city. The city is completely computer generated by a single seed number! You just provide a seed value to the random function and an entire controlled world emerges. The textures could also be generated, walls, clothing, sky, land, enemy positions, enemy types, enemy paths, item locations, streets, buildings, music - nearly EVERYTHING could be generated. You would just need to teach the engine the rules.

Just imagine, every number contains its own universe. You just have to free the information.

Computers can be like little retarded toddlers with huge creation capacity. You just have to give them digital applesauce.

I have a lot of passion for this subject and want to improve the area and my own understanding. I cannot convey the scope of this subject in simple text but know that I have much more in mind for my future.

This video shows generation of an entire city. I would like to note that adding interiors would be cool too.
http://www.youtube.com/watch?v=G7wbP3I8Aeg


[Edit - use the YOUTUBE tags to insert youtube videos into your posts :) ~ Shock.]

[youtube]G7wbP3I8Aeg[/youtube]
« Last Edit: July 21, 2008 by Shockwave »
Challenge Trophies Won:

Offline Hotshot

  • DBF Aficionado
  • ******
  • Posts: 2114
  • Karma: 91
    • View Profile
Re: Procedural content Obsession...
« Reply #1 on: July 21, 2008 »
Whoa  very impressive :)  You did have own GTA World on you want in Less time than Take two(or rockstars) making their GTA game!!!

Offline Jim

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 5301
  • Karma: 402
    • View Profile
Re: Procedural content Obsession...
« Reply #2 on: July 21, 2008 »
I'm hugely in to this too.  I'm a coder, not an artist, and in general I don't work well in a group with my out-of-band development, so I need all my gfx to be generated procedurally.  I wrote a whole Halloween demo with mathematically generated pumpkins over mathematically generated trees flocking in a mathematical way.  I want, my aim, my real passion with no current effort, is to be able to generate a city like GTA4 without specifically laying out a single polygon.  I will settle for a William Gibson bridge slum though.  Or even, an urban street.  I have loads of building blocks, I just need time to put bits together.  Is anyone else in to this?

Jim
Challenge Trophies Won:

Offline Pixel_Outlaw

  • Pentium
  • *****
  • Posts: 1382
  • Karma: 83
    • View Profile
Re: Procedural content Obsession...
« Reply #3 on: July 21, 2008 »
Jim, when you ask if " is anyone else is into this" are you asking for co authors or simply asking if they are into procedural generation? I can come up with ideas but I lack knowing any serious programming language. I REALLY need to part with blitzmax. It does what I need but does not really look too convincing on a resume.

But I digress.

The whole concept of letting the computer make VAST concepts for me really is what gets me going. If you were to ask a human to design an entire city they would but consider the time and cost involved. We have just seen in the video that a computer can make an entire city in a very unbelievable amount of time. The only cost was the cost of the computer and power. It is just a shame that one cannot live in the city. We are somewhat doomed to enjoy a procedural world from the outside, the screen is our viewing box.

However, there are some real world applications for this technology. Consider things like stone linoleum patterns and simulated wood vinyl. We may use this technology to create patterns for stone looking or wood looking textures for real life materials. Infact, my mom bought a outdoor doormat that had a simulated cobblestone and wood texture to it. Instantly I was able to cobble together an algorithm in my head about how to produce such a look. I still need to test it if time permits.

The Procedural Comp was really fun and really opened my eyes more. I think I now have my eyelids wrapped back around my ears. There is just something special about deriving an entire and infinite world from a single seed value.

We could go back to very small games and applications someday if programmers could fully embrace letting the computer play a bit. This is not to say that it is better than traditional human made art (which at some level is procedural). It is doubtful that a computer will ever be able to capture the human side of art but what they can do already is pretty amazing. The size and speed benefits are already a HUGE bonus.
« Last Edit: July 21, 2008 by Pixel_Outlaw »
Challenge Trophies Won:

Offline rain_storm

  • Here comes the Rain
  • DBF Aficionado
  • ******
  • Posts: 3088
  • Karma: 182
  • Rain never hurt nobody
    • View Profile
    • org_100h
Re: Procedural content Obsession...
« Reply #4 on: July 22, 2008 »
I must admit that this is also something that interests me. I looked into maze generators but got side tracked before I ever had something that worked.

With a little work on the generators you can save yourself 100's of man hours that would be spent piecing a world together. The demoscene has always made good use of random numbers without them we would be hard pushed to make anything in 64kb. Games made heavy use of them in the past to side step the lack of memory available in the 8bit era. Nowadays they have memory to waste. If they spent some effort the could have virtually limitless environments that still look the same for everybody.

Challenge Trophies Won:

Offline Jim

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 5301
  • Karma: 402
    • View Profile
Re: Procedural content Obsession...
« Reply #5 on: July 22, 2008 »
Not asking for co-authors, just co-conspirators.  There's so much to do - geometry, textures, lighting...but also measuring and appreciation of real life things to plug the values back in to the equations.

Take something simple like an iron railing.  What are the parameters that define an iron railing?  Height, bar radius, bar segments (some cylindrical, some square), bar twists, does the bar have a boss at the top and bottom, what are the shapes the boss can be, does the railing have a topper and a bottomer, is it mounted in concrete, grass, something else, is there an emblem mounted on the top of each bar, etc. etc. etc. etc.  and that's just a railing.  Apply that to housing, shops, street furniture, and then you have something really interesting.

Me?  I'm just pottering around with it right now.

Jim
Challenge Trophies Won:

Offline zawran

  • Sponsor
  • Pentium
  • *******
  • Posts: 909
  • Karma: 67
    • View Profile
Re: Procedural content Obsession...
« Reply #6 on: July 22, 2008 »
All the houses in that video looks rather similar, and while its not bad that they took a 2d map and created a town of houses, its still a long way from creating a complete believable town. Almost nowhere will you find a town with that many highly similar houses. I think that Jim explains it well with the iron railing, just the sheer amount of variations for that one piece alone is crazy, and thats just one small thing. So I think we are a long way from creating complete cities, but on a smaller scale, procedual generation of objects and textures are quite cool. And its always great to see just how much people can squeeze into a small amount of memory.

I have not worked much with this side of programming myself, except for a few uncomplete attempts at some texture generation, but its a great area of programming, although it does demand a higher understanding of math that most other areas, and its not my strong side. But it would be cool to play a bit with something like that, if only I could find some time. Perhaps in my upcoming vacation next week.

Offline Pixel_Outlaw

  • Pentium
  • *****
  • Posts: 1382
  • Karma: 83
    • View Profile
Re: Procedural content Obsession...
« Reply #7 on: July 23, 2008 »
OK well I was able to get some pictures from my house. I think that these could all be replicated fairly well.

The first is a picture of a doormat.

I think that the center could be created from division of a square into smaller regions. Once the regions are formed, Perlin noise takes over, a new pattern for each rectangle. The cobblestones could be created via Voronoi diagrams. Each cell in the diagram would be it's own object. You simply subdivide the cells' sides to get smoother stone like shapes with some grout space between stones. You then map the inside with Perlin Noise.

I also have some basic carpet pictures from my floors.
Perlin noise - Done. (different wave frequencies for different weaves)


I have some wooden textures too.
These can be generated using Perlin noise with a banded gradient height map. You will want more waves in one direction than the other to create the grain properly.

The bathroom has linoleum flooring.
This could be done again with Perlin noise on a per tile basis. The gradients here would have some very subtle bands of color but mostly diluted desaturated colors.

Just throwing some ideas out. Jim, I would like to help you if you need it. I don't have much free time but I think we could make a really nice demo if you wanted. I still want a demo that would raise some eyebrows. The stuff I've done currently is cool but not professional.

OK now for the pics.



« Last Edit: July 23, 2008 by Pixel_Outlaw »
Challenge Trophies Won:

Offline Shockwave

  • good/evil
  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 17414
  • Karma: 498
  • evil/good
    • View Profile
    • My Homepage
Re: Procedural content Obsession...
« Reply #8 on: July 23, 2008 »
Make a demo and I'll take it along to Sundown for you.
Shockwave ^ Codigos
Challenge Trophies Won:

Offline slinks

  • A little bit strange
  • DBF Aficionado
  • ******
  • Posts: 3963
  • Karma: 43
    • View Profile
Re: Procedural content Obsession...
« Reply #9 on: July 23, 2008 »
Heh, I based my first comp entry on a very basic PC generator. Boy, that takes me back.

I've always loved the concept, but I think it's more fun when you take it a step further and add 'moving' elements to it, like one of those 'petri dish' demos you see, with different liveforms eating each other and evolving differently depending on the environment. I can just sit there for hours and watch them go, it's facinating stuff!
I love semi-colons way too much ^^;
Challenge Trophies Won: