Slashdot Mirror


Building a Procedural Dungeon Generator In C#

Nerval's Lobster writes Procedural dungeon generation is a fun exercise for programmers. Despite the crude interface, such games continue to spark interest. A quarter century ago, David Bolton wrote a dungeon generator in procedural Pascal; now he's taken that old code and converted it to C#. It's amazing just how fast it runs on a five-year-old i7 950 PC with 16GB of RAM. If you want to follow along, you can find his code for the project on SourceForge. The first part of the program generates the rooms in a multilevel dungeon. Each level is based on a 150 x 150 grid and can have up to 40 rooms. Rather than just render boring old rectangular rooms, there are also circular rooms. "There are a couple of places where corridor placement could have been optimized better," Bolton wrote about his experiment. "However, the dungeon generation is still very fast, and could provide a good programming example for anyone exploring what C# can do." For C# beginners, this could represent a solid exercise.

83 comments

  1. Are you freaking serious? by DigitAl56K · · Score: 5, Insightful

    Have we slipped so far down the performance-orientated slide that we are impressed by *how well a dungeon generator runs on an i7 with 16GB of RAM*.

    I am genuinely curious. That is an outrageously high spec for a dungeon generator.

    1. Re:Are you freaking serious? by l0ungeb0y · · Score: 5, Funny

      Have we slipped so far down the performance-orientated slide that we are impressed by *how well a dungeon generator runs on an i7 with 16GB of RAM*.

      It's C# -- so it's likely that's the minimum requirements for a compiled .NET App to run

    2. Re: Are you freaking serious? by Anonymous Coward · · Score: 1

      Probably used to run in half the time on an 8080 with 4kb of ram

      I swear c# is a conspiracy between Microsoft and the ram and cpu vendors....

    3. Re:Are you freaking serious? by l0ungeb0y · · Score: 0

      * cough * wooosh! * cough * Learn to take a joke -- or have you become too accustomed to being beaten up and given wedgies for being a die-hard MS fanboy?

    4. Re: Are you freaking serious? by Anonymous Coward · · Score: 1

      Microsoft? I've been running C# in my Linux for years.

    5. Re:Are you freaking serious? by lgw · · Score: 2

      There are still plenty of people interested in getting stuff to run in 256-512 MB with a 700 MHz ARM. I think about half the tendency for code bloat in the past 15 years has been the decline of cheap hobby PCs - a vacuum that has now been filled. Still seems like a lot to me, but it does at least impose a little restraint and interest in optimization.

      (The other half is of course managed languages, but really slimming down C# to work on a RP doesn't seem impractical - just something that MS hasn't had a reason to focus on.)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    6. Re:Are you freaking serious? by PPH · · Score: 4, Funny

      C#/.NET makes great dungeons. Resources go in but can't get out.

      --
      Have gnu, will travel.
    7. Re:Are you freaking serious? by Anonymous Coward · · Score: 5, Interesting

      I have been running C# ASP.NET on Raspbian Apache/ModMono for a solid 3 years. No problems.

    8. Re: Are you freaking serious? by DigitAl56K · · Score: 4, Funny

      How's the systemd C# port coming?

      You'll need to be more specific, are we talking about systemd running in C#, systemd running C# code, or the port of systemd in C# that runs C#?

    9. Re: Are you freaking serious? by sconeu · · Score: 3, Insightful

      He's talking about the systemd module that *compiles C#.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    10. Re:Are you freaking serious? by meerling · · Score: 1

      That's ok, the linux fanboys got more wedgies.
      From the looks on their faces, I'd say some of them actually liked it.

    11. Re:Are you freaking serious? by Anonymous Coward · · Score: 0

      It's just not even close enough to the truth to be funny. It comes across as clueless, not clever.

    12. Re:Are you freaking serious? by fourbadgers · · Score: 2

      I can't vote this post any higher than 5 so I'll have to reply to it and voice my agreement. "anything" should be able to run on a i7 with 16gb of ram.

    13. Re:Are you freaking serious? by geekmux · · Score: 1

      Have we slipped so far down the performance-orientated slide that we are impressed by *how well a dungeon generator runs on an i7 with 16GB of RAM*.

      I am genuinely curious. That is an outrageously high spec for a dungeon generator.

      You're genuinely curious? Well, OK. The recommended specs for a dungeon generator are what exactly?

      I get your point, this is akin to measuring graphics cards by how fast they can render a Solitaire win, but it was more a comment reflecting how fast ancient programs run on today's hardware.

      Or in other words, targeted at us old farts who do remember when computers used to actually strain themselves.

    14. Re:Are you freaking serious? by colenski · · Score: 4, Informative

      I don't get this submission. I wrote the same thing in 1982 on a TI-99/4A with 16kb RAM and a 3MHz 16 bit chip. It loaded from a cassette deck using an analog stream from the tape. It displayed on my TV. It was written in BASIC. It sucked.

      But it *worked* fine, I mean it drew the map in well under 10 seconds, printed it, then used the edge dots of one side as the seed for the next section of the dungeon. Isn't that what this is, and why do we even need an ARM for this, you should be able to get decent performance from a 4004!

      This was my first real piece of software, and it worked on the first try (by that I mean I wrote it and bugfixed it, and...it worked). I was 13. You millennials or whatever you call yourselves should be running rings around me - who needs multiple cores or C# for this?? Do it in Minecraft, then I'll be impressed.

    15. Re:Are you freaking serious? by oh_my_080980980 · · Score: 1

      If Bill Gates is representative of MS fanboys...I highly doubt it.....

    16. Re:Are you freaking serious? by Anonymous Coward · · Score: 0

      Open with a joke, then; I'll take it.

    17. Re:Are you freaking serious? by eulernet · · Score: 1

      And exactly one month ago, we had:
      http://games.slashdot.org/stor...

    18. Re:Are you freaking serious? by Anonymous Coward · · Score: 0

      Yea, the minimum requires specs are much much higher...

    19. Re: Are you freaking serious? by Minwee · · Score: 2

      Writing the compiler was the easy part. The problem is that it wants to keep recompiling my code every time I press 'Enter'.

    20. Re:Are you freaking serious? by lgw · · Score: 1

      I have been running C# ASP.NET on Raspbian Apache/ModMono for a solid 3 years. No problems.

      Worth making this AC more visible. That's pretty cool.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    21. Re:Are you freaking serious? by neminem · · Score: 1

      Anything? Call up your professor, then, and tell him you broke theoretical computer science with your proof that you can, in fact, solve the halting problem. [/needlessly pedantic]

    22. Re:Are you freaking serious? by Coren22 · · Score: 1

      Hmm, This would make an interesting Minecraft mod for the dungeons.

      --
      APK likes to ask for responses to the same things over and over. Maybe he just likes the responses?
    23. Re:Are you freaking serious? by DamnOregonian · · Score: 1

      Fatality.
      oh_my_080980980 wins.

    24. Re:Are you freaking serious? by drinkypoo · · Score: 1

      Hmm, This would make an interesting Minecraft mod for the dungeons.

      There are already lots of minecraft mods which insert dungeons into the game.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    25. Re:Are you freaking serious? by fourbadgers · · Score: 1

      what professor? it's been 16 years since I was at university.

    26. Re: Are you freaking serious? by Hadlock · · Score: 2

      Jumping on this thread, if you want a dungeon generatore, check out the Libtcod library, it's been ported to Python, C++, C#, and very recently TypeScript (i.e. Javascript#)
       
        http://roguecentral.org/doryen/
        https://github.com/jice-nospam/yendor.ts
       
      Here's an example from 2011: https://www.youtube.com/watch?v=DZkDOx4W3zs

      --
      moox. for a new generation.
    27. Re:Are you freaking serious? by angel'o'sphere · · Score: 2

      It is a big dungeon, mate! A really big dungeon! You know, with torture chambers, torture mistresses and such. Lots of moldy bread and stinking water. Imagine the whimpering and sobbing. Water drops down from the ceiling and flows down at the walls. The stink of excrements and rotting corpses. Then all the guards with warts on their faces, sometimes on the nose, sometimes on the cheek, sometimes on the forehead. All that needs computing power! Especially the stink and the warts, obviously.

      However I'm surprised that you can even do that without touching the bare iron, would not C++ be better suited? Or even C with the occasional throwing in of assembly? I mean: the warts would likely benefit from some fine tuned assembly, no?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    28. Re:Are you freaking serious? by arglebargle_xiv · · Score: 1

      Have we slipped so far down the performance-orientated slide that we are impressed by *how well a dungeon generator runs on an i7 with 16GB of RAM.

      Ah yes, but it's running VMWare running FreeBSD emulating Linux running Qemu running Windows XP running AppleWin running the dungeon generator written in Applesoft Basic for a 1MHz 6502 in 1979, and that's worthy of the front page of Slashspot.

      (Oh year, "Apple II forever!").

    29. Re:Are you freaking serious? by Anonymous Coward · · Score: 0

      Are You still waiting for that thing to start, after 3 years?

    30. Re:Are you freaking serious? by Lotana · · Score: 1

      It is a big dungeon, mate! A really big dungeon! You know, with torture chambers, torture mistresses and such.

      No. Dungeon Keeper could do it all without the massive system requirements!

      What an awesome game it was... Ironic that it was EA that published it.

    31. Re:Are you freaking serious? by queBurro · · Score: 1

      and routers (e.g. 240Mhz ARM with 32MB). Why not use a device that's on all the time to do a little work now and then?

      --
      sag
    32. Re:Are you freaking serious? by hattig · · Score: 1

      I wrote one last week in a single line of BASIC running on a 4MHz Z80 system. Admittedly the level size is only 80x24, and it is more random than procedural (i.e., rooms can be left isolated), but that's the nature of trying to fit that into a single line of code (monster placement and gold placement take up another line).

      It takes a few seconds to complete - mainly due to it being interpreted BASIC on a 4MHz Amstrad CPC.

      I figure that most "dungeon generating algorithms" are quite unrealistic anyway. If you are going to build a dungeon, you're going to start somewhere, and excavate from there in a fairly compact manner (dwarf fortress/dungeon keeper style), not subdivide a massive open space, or make long tunnels into very isolated rooms (although in mines that could be viable). A realistic dungeon would also probably be quite boring to play.

    33. Re: Are you freaking serious? by dolmen.fr · · Score: 1

      In fact, C# is a conspiracy *against* CPU vendors: the plan was to say bye bye Intel x86 because Windows 32 bits was aging, and be more open to transition to other CPU such x86_64 while keeping the developer base. Just for this reason they succeed.

    34. Re:Are you freaking serious? by godefroi · · Score: 1

      https://www.ghielectronics.com...

      C# running on a 168MHz Cortex-M4 with 1MB of flash and 192KB of RAM. This particular "module" replaces the older one that used a 72MHz ARM7 with 512KB of flash and 64KB of RAM.

      Think smaller.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    35. Re:Are you freaking serious? by lgw · · Score: 1

      Now someone just needs to port it to the C64!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    36. Re: Are you freaking serious? by ZeroWaiteState · · Score: 1

      Tunnels of Doom baby. Gaming has never reached those giddy heights since. I had a floppy disk expansion box for that sucker. Not just procedural dungeons, but loadable scenarios and save games.

    37. Re: Are you freaking serious? by ZeroWaiteState · · Score: 1

      Just think how big a dungeon you can fit in 16 GB.

    38. Re:Are you freaking serious? by angel'o'sphere · · Score: 1

      Yeah, dungeon keeper!
      That was awesome!!! Especially if you played late at night: 02:00 at night, the background voice: "your monsters demand cable TV!" 04:00 at night: "Your monsters are tired running around at your command, please go to sleep!" (Well, roughly translated from german).

      The very best game intro ever is the start up cinematic of Dungeon Keeper I. A shiny hero in the shiny armor with a friend or two is entering the dungeon ... panicking monsters run deeper into the dungeon luring him after them. Then: cut!

      Pervert grinning monsters hiding behind pillars with scythes ... then the screams of the heroes ... it is so hilarious!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    39. Re:Are you freaking serious? by Bite+The+Pillow · · Score: 1

      I also wrote this, but I wrote it in Pascal in 1987, beating the author by 3 years unless his rounding function is broken.

      Mine also sucked.

      Still, procedural generation remains the next big thing, and applying it to something as simple as a text-based map, limited to two dimensions and "wall" or "not a wall" is nostalgic for many, and interesting for those who did not do the same project in some fashion.

      The need for multiple cores did not exist - it just happened to be the hardware available, I assume. It was probably not optimized for parallelization, so it probably did not use more than one core.

      I'm sorry that your accomplishment at the age of 13 spoiled your understanding of someone who did almost exactly the same thing, but that's exactly what happened here. You and at least 3 other idiot moderators.

    40. Re:Are you freaking serious? by rdnetto · · Score: 1

      The other half is of course managed languages, but really slimming down C# to work on a RP doesn't seem impractical - just something that MS hasn't had a reason to focus on.

      Or if you're impatient, you could just use D - the syntax is virtually identical to C#, but you get the performance of native code. I actually wrote some patches for buildroot a while back that added support for gdc, which make it pretty easy to compile a suitable toolchain for using D on a Raspberry Pi.

      --
      Most human behaviour can be explained in terms of identity.
  2. Alternate Link by Anonymous Coward · · Score: 5, Funny
  3. Amazing performance ! by alexhs · · Score: 3, Insightful

    It's amazing just how fast it runs on a five-year-old i7 950 PC with 16GB of RAM.

    Yep, almost as fast as the original's code on a i386 with 4MB of RAM. Impressive.

    --
    I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
    1. Re:Amazing performance ! by CastrTroy · · Score: 1

      From looking at the article, it doesn't actually state how fast it runs. Maybe it's just a comment, that it actually does run very fast. Like it generates a very large and complex dungeon in .1 seconds, whereas on the machine it was originally written on, it would have taken minutes.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    2. Re:Amazing performance ! by rasmusbr · · Score: 1

      From the screenshot it looks like the work could be done in less than a second on an 8-bit 20 MHz MCU.

  4. So someone else invented NetHack, goodie. by Anonymous Coward · · Score: 4, Insightful

    NetHack has had procedural dungeon generation with available source for .... gosh a long time.

    1. Re:So someone else invented NetHack, goodie. by Windwraith · · Score: 2

      And the original Rogue is even older than that, so yeah, why is this news?

    2. Re:So someone else invented NetHack, goodie. by Coren22 · · Score: 2

      Nethack confirms it.

      --
      APK likes to ask for responses to the same things over and over. Maybe he just likes the responses?
  5. Whole app probably fit in cache by Anonymous Coward · · Score: 0

    These kids nowadays, with their fancy processors.

  6. Fortune-teller mode on... by VendettaMF · · Score: 1

    I foresee a sudden rush of crappily made dungeon crawlers, all sporting the Unity3D free/indy badge clogging up kongregate for months to come.

    --
    kartune85 : Incapable of reason, observation or learning. A kind of dim, drab, flightless parrot.
  7. Oh Goodie by Anonymous Coward · · Score: 2, Insightful

    Another shitty dungeon generator.

    Why not post this in /r/cartographersguild or something?

    There are already lots of shitty dungeon generators, you're probably not doing anything useful like using features that are in sourcebooks, and dungeon building is almost certainly something you should be doing by hand anyway. Even if your party is a bunch of mindless murderhobos. Good dungeons make enough of a difference that people will actually pay real money for them. If you want story on top of an interesting tactical scenario then you have to do it yourself, and this is not likely to be a good place to start. You should start with a line diagram connecting *encounters* with each other (straight lines, branches, loops), and then come up with the layout. Doing it the other way around makes for shitty dungeons. There are books and papers on this topic that would be much more useful.

    And another thing, as long as I'm ranting: don't use traps. They slow the game down and decrease player resources without actually giving them agency. They serve no narrative purpose. If you must have traps, have them [a] sound alarms or otherwise summon foes, or [b] make it a risk / reward situation: make their choices interesting. If, given complete knowledge of a situation, you would always want to choose one action, you're not being given a real choice. Choosing to avoid a trap isn't an interesting choice. Choosing to walk into a trap because the danger is worth the shiny thing you might get out of it is far more interesting. See also FPS map design, good example would be Unreal Tournament's DM-Pressure, where there's a powerup inside a room, and a button other players can hit to kill anyone in there. Risk vs reward. There's actually quite a bit about FPS map design that's applicable to PnP RPGs.

    tl;dr
    This is not a way to generate maps that people will want to play. If you have to use a generator, there are better options. If you want to learn about how to make good maps, there are better resources. If you want to pretend that something you wrote decades ago is full of important lessons for other people, fuck off.

    1. Re:Oh Goodie by mlts · · Score: 1

      As an old school DM, I make the "trap" category fit the premise. As stated by the parent I'd have "traps" be a magic mouth that calls the guards. I also might have a "puzzle" that would be solvable for XP. For example, trying to "liberate" a magic sword from a statue. Sometimes I'd bring in a real life puzzle for the players to solve, just as a change of pace.

      Of course, traps do come in handy. Grimtooth's books were fun, and I'd have something there so the players can think they outsmarted the DM, especially if it is a party killer.

      I ended up keeping my campaigns dynamic (since my job as DM is to keep a running storyline going and the players entertained). Sometimes a trap might wind up running the PCs through an "escape" or "get out of this pocket world" campaign.

      I have used dungeon generators in the past... but what ends up is something that has to get honed to a point of suspension of disbelief. For example, random square and round rooms might have been fine back in the 1980s... but these days, a cave should have cave rooms... unless there is a reason why something or someone decided to carve out a perfectly rectangular room.

      Maybe there is still room for dungeon generators... but ones that can keep in mind a gestalt, an over-reaching premise for the level. This is a solved problem (D1/D2/D3, Torchlight), but for a paper/pencil campaign, it would be nice to make a dungeon, and have it hold together with some global rules (for example, the king's bedroom will not be directly off the kitchen in a castle.) This, and have levels in a round keep have the same spots for the stairs as the place downstairs. One level having 1,1 for the stairs, and the next level in the keep having 20,20 just doesn't make sense unless there is some magical teleportation involved (and this can wind up being too much of a cliche.)

    2. Re:Oh Goodie by Anonymous Coward · · Score: 1

      Original AC, Torchlight had amazing maps, especially the non-random ones that you accessed by killing a Phase Beast. I'd love to run some in a PnP RPG setting.

      I actually think there's pretty good commercial software out there for dungeon generation. And there's definitely lots better resources for learning about procedural generation.

      http://pcg.wikidot.com/pcg-alg...
      http://journal.stuffwithstuff....
      http://games.soe.ucsc.edu/site...
      https://news.ycombinator.com/i...

      Random google results. Because they're still better than TFA.

      I hear you on the old-style DM thing, I just think that niche is better filled by Torchlight and WoW. I mean, Gygax is definitely on your side, but the general philosophy of the game has evolved a bit since then: more emphasis on the role-playing aspect, less on its wargame roots, less on strict adherence to the rules, less on the DM being the only one to generate content, and way less on the idea of "players vs DM". The driving idea is that player choices should be meaningful. They should have realistic consequences, and they should also be a determining factor in the world around them. Again, this is not to say that being a bunch of sociopaths wandering around kicking doors down, killing, and looting is not fun, because it is, but that you scratch more itches by, well, focusing on scratching those itches rather than forcing the players to go through your uber-challenging book of challenges. Situations vary, but an encounter that results in a TPK is most often one that only the DM enjoys. Gygax enjoyed the hell out of it, and it was definitely challenging for the players. Balancing toothpicks on your nose is also challenging, and I'm sure WoW is too.

      Do your players a favor and start reading through posts on rpg.stackexchange.com. You'll start to see that there are a lot of good ideas on there, but there's a subtle background thread that connects them, which is the focus on player agency. It's a subtle thing; we're both playing the same game with the same rules, but having a better idea of why we're playing this game will make you a lot better at playing it.

    3. Re:Oh Goodie by mlts · · Score: 1

      The funny thing is that the random kicking of doors, breaking of clay pots, and killing anything that moved, was not the standard trope when I started. I am showing my age, but if PCs tried that in a town, the local watch would be on them in no time. If the PCs dispatched the watch, then they would be marked as bandits, and everyone and their brother would be going for them for the reward (and I'd have the "escape from the royal gaol" campaign at the ready.)

      There also wasn't the element of opening a box and pulling out a +20 sword of omnislaying. Original 1E source had almost any magical items difficult to get, and highly coveted. That +1 sword may seem like a joke... but it would be the only thing that could damage various undead. Without it, it would take pouring holy water on weapons in order to have any hope of dispatching anything but a skeleton. A wight or wraith was unkillable by almost any melee, and required a wizard or cleric to hurt it.

      With newer rulesets, it is easy for players to make magic weapons... but was lost is some of the original AD&D fantasy lore -- that magic was a rare phenomenon, and not really visible to the average level 0 or 1 human that wandered the surface.

      I've never been a fun of TPW (er, TPK). This almost always causes the players to lose interest in the entire campaign. Of course, there was one thing about PCs dying and sub-plots to go out and get the crispy-crittered rogue back alive... but a wipeout did more harm than good... ...Unless it was scripted. I've used TPWs as a tool to further a campaign, which made things interesting, as opposed to "everyone hand me their character sheets and roll another level 1".

  8. Re:After 15 years by Anonymous Coward · · Score: 0

    I remember when getting first post was a major acheivement.

    Yep, you'd fire up BitchX, brag to all your friends on freenode, and get your mom to bring down a celebratory hotpocket and coke.

    Those were the days! I haven't even used BitchX this decade.

    *bites hotpocket, sips coke*

  9. Amazing indeed by jones_supa · · Score: 2

    It's amazing just how fast it runs on a five-year-old i7 950 PC with 16GB of RAM.

    Yeah, it's five year old, but even today a very fast CPU. Has a CPUMark of 5600. High TDP of course.

    1. Re:Amazing indeed by LWATCDR · · Score: 2

      I thought the same thing.
      Computers has been very fast for a while now. Only things like transcoding and some gaming really push CPUs for the "average home user".

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    2. Re:Amazing indeed by Anonymous Coward · · Score: 0

      Apparently spelling & grammar checkers, too.

  10. Re:After 15 years by Anonymous Coward · · Score: 0

    *high-fives mom*

  11. Re:After 15 years by BarbaraHudson · · Score: 0

    It's actually harder nowadays because slashdot is down for $RANDOM_HOURS pretty much every day now.

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  12. Re:After 15 years by uglyduckling · · Score: 0

    Yeah baby. I remember the joy of getting a story accepted. In fact, it was once a major achievement to be in the first 500 comments on a story.

  13. Dice by Anonymous Coward · · Score: 0

    Oh, it's just some Dice Slashvertisement, just to remind us that they own this shithole.

  14. Re:After 15 years by Anrego · · Score: 1

    I've noticed that too.

    Even in the bad old days, stuff would occasionally break, but the whole site usually stayed up, and in either case things were fixed very quickly. Outright outages up until Dice took over were pretty damn rare, but now as you said, they've become rather frequent, and when they do happen, it's for hours. Also the alignment of various elements occasionally goes wonkey and comment boxes only fill up half the screen.

    I almost wonder if they are trying to degrade the performance of the site on purpose in a really desperate attempt to push us into their beta disaster.

  15. Amazing? by Anonymous Coward · · Score: 0

    Why is it "amazing" that a piece of code, written 25 years ago, on a processor 100,000 times slower, runs quickly? o.O

  16. What? by gabereiser · · Score: 4, Informative

    I really don't understand why this article is a thing. For 1, it's a really shitty way to generate dungeons as there are vastly superior ways of doing it: cellular automata http://www.futuredatalab.com/p... for example can product cave like dungeons, regular rectangular dungeons, etc and not just something made with ASCII that needs to then be converted. I've even seen KDtree's drawn out to represent rooms and such for muds. This article fails on a multitude of fronts. First being the DICE ad tracker embedded in the link to the article. Second, being the fact that he is "impressed" with how fast it runs on a Core-i7. Third, the use of SourceForge, where projects go to die. And finally, the fact that the article says it's geared towards beginners, teaching them bad coding practices and the like with the shitty code that's on sourceforge.

    1. Re:What? by PJ6 · · Score: 1

      I'd mod you up if I could, I was going to say the same things.

      Why do these so-called 'editors' keep posting shit articles?

  17. Okay... by Minwee · · Score: 1

    Call me when he re-writes Dwarf Fortress, which doesn't just build the dungeon but also the countryside around it along with a few more continents and oceans as well as a thousand years of history for each of the major civilizations living there.

    1. Re:Okay... by jandrese · · Score: 2

      His comment about running it on a high power i7 with 16GB of RAM might at least make sense then. That's what you need to build a medium sized DF map with 1000 years of history baked in.

      --

      I read the internet for the articles.
    2. Re:Okay... by crioca · · Score: 1

      To be fair the dungeons in DF aren't that complex... getting there though

  18. Not being a smartass with this question by Anonymous Coward · · Score: 0

    Is this similar to what the RPG Diablo from Blizzard was doing with its dungeon random generation (with a few exceptions) back in 1996?
    http://en.wikipedia.org/wiki/Diablo_(video_game)
     

  19. Re:After 15 years by uglyduckling · · Score: 1

    Wow there's even people left on Slashdot to mod offtopic. Check out my user number, I could be modded offtopic for months without my karma taking a dent.

  20. Re:After 15 years by drinkypoo · · Score: 2

    Karma has been kapped at 50 for years now, unless it was uncapped along the way someplace

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  21. Re:After 15 years by angel'o'sphere · · Score: 1

    No worries.
    "They" do that to me right now. Every second post modded "offtopic".

    File a complaint as soon as you can not post anymore with the automatic +1 modifier, and they get revoked their modding ability for life time.

    Needed to do that already twice. Not sue how long it takes that Karma vanishes. Last time it took over a year.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  22. C# is Dead already by Anonymous Coward · · Score: 0

    Its Dead Jim but not as we know it, not as we know it, not as we know it
    Its Dead Jim but not as we know it, not as we know it Jim.
    Its alive Jim but not as we know it, not as we know it
    Its alive Jim but not as we know it, not as we know it
    Not as we know it JIM.
    #had to compress the fucker as the compression filter sucks balls

  23. Next challenge by Anonymous Coward · · Score: 0

    So I had a crack at this a while back, but assuming that it would be too sane in C#, I thought I'd do it in Excel for a laugh.
    http://www.frayn.net/games/ddxl/index.html
    It builds roguelike dungeons and cellular-automata-based cave systems. With a procedural terrain generator too. And all wrapped in a fully-featured RPG with skill systems, equipment, inventories, randomly generated towns, merchants, mercenaries, magic, crafting... ;)
    It doesn't seem to work properly on Win8.1/Excel 2013, but YMMV. I really must get back to fixing that at some point.

    Don't look too closely at the code, as it might make your eyes bleed. Sorry - I hadn't written any VBA before. I have no intention of quitting my day job. :)

  24. Random Map Generation by CFBMoo1 · · Score: 1

    I've had some fun with this..

    Cave Generation
    http://i.imgur.com/grPvlNp.jpg

    Classic with random room shapes.
    http://i.imgur.com/Hjh1dSw.jpg

    Maze generation.
    http://i.imgur.com/36p9jR0.jpg

    I can do a 640x640 map under 2 minutes on an i5 1.2ghz with 4 gigs ram. My dungeon rooms are all done with procedures and my rogue maps do boxes, circles, triangles, diamonds, H's, doughnuts. I wrote this in Java for fun and here are some of the references I used.

    Rogue
    http://www.roguebasin.com/index.php?title=Simple_Rogue_levels

    Maze
    http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
    http://www.math.cornell.edu/~lipa/mec/lesson6.html
    http://www.ibiblio.org/lifepatterns/

    Cave
    http://www.roguebasin.com/index.php?title=Cellular_Automata_Method_for_Generating_Random_Cave-Like_Levels

    Lots of room for improvement obviously, but I don't think I did too bad for my first dive in to map generation. I did start with recursion to generate these maps but they took way too long and ate up a lot of memory. I changed to a different method and avoided recursion. Still it was fun to dabble in recursion for a short time. ;)

    --
    ~~ Behold the flying cow with a rail gun! ~~
  25. How about a procedural programming language genera by ZeroWaiteState · · Score: 1

    For each project you could generate a parser for a new programming language with procedurally generated characteristics, and use that to write your program. For example, it could make up a object oriented language where all variable names are required to be nonalphanumeric, and all of the operators are letters. Or a language where every variable is really just a FIFO queue. Or a language where you have to use sockets instead of function calls, with recursion being performed via the loopback interface. Maybe there is a builtin language keyword for reading from a database connection and posting the result to a twitter feed. The possibilities are endless.