Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

OtspIII posted:

How many properties would you be using? I'm going to have quite a few, so having a map for every single property isn't really practical for me. What would an area with a "ruiny" rating of 12, a "crystaly" rating of 60, a "techy" rating of 49, and a "androidy" rating of 81 look like? I do a few things, but for placing hints about nearby features I just make it so that some monsters/rooms/etc place a property mark on the area around them in a radius, so even if I have a hundred properties in the game the random content generator only has to worry about maybe 5 or so when populating any one room.

These are the sort of questions I've been toying around with. Right now I'm playing around with 4-8 properties; typically I'm just using them to weight additional feature rolls that I do during generation. So I've been trying simple things like adding all those weights up and then just rolling 1..n to pick a feature/specialization of that type. If I had hundreds of properties, I'd probably try something like squaring/cubing the weights, or using some other mathematical tool to over-weight the most prominent ones. I certainly haven't gotten the perfect solution yet, but my results so far show it to be a pretty promising design space.

Adbot
ADBOT LOVES YOU

Azazel
Jun 6, 2001
I bitch slap for a living - you want some?
In regards to procedural generation, this article may be of interest for large map generation: http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/

This is what they used to build the world in http://www.realmofthemadgod.com/

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

OtspIII posted:

Why Procedural At All?

A procedural world means that you can make tons of content that the players can choose to skip without feeling like they're not getting everything they paid for in buying the game, and the existance of that content actually gives players meaningful control over where they go in the game-world; the choice goes from being 'do I want to go here now or later' to a more meaningful 'do I want to go here at all' (linear worlds don't offer any choice at all).
I get that you want to make a procedural game, and that's totally cool, but this is just a variation of the usual "procedural content allows you to make more interesting content than you could by spending an equivalent amount of time hand-designing content."

You can't. It doesn't work that way, ever. It always takes a lot more time. If you don't spend that (large) amount of extra time, it shows as the player goes through your game - you've only got enough "procedural variation" in your content to keep it interesting for the first hour of an eight hour game, or whatever, and replays aren't interesting for the same reason.

A linear world can do exactly what you're talking about, it just means designing 90% of the content to never be seen. Procedural is no different. You'll end up with 90% of your work in making interesting algorithms never seen / doing 10x the work a linear game would take. The big difference being, where designing that content by hand is a fairly straight-forward if time consuming process, designing that amount of procedural variation involves a ton of exploratory work into the unknown. Fun, but significantly more time consuming due to how much work you'll have thrown out by the end.

... the payoff, of course, is replayability. You put in that work? The game is more replayable. So it's a great choice IFF replayability (or just having fun with obscure code) is your topmost goal.

Shalinor fucked around with this message at 02:28 on Apr 21, 2013

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

Shalinor posted:

You can't. It doesn't work that way, ever. It always takes a lot more time.

Caves of Qud only took 9 years to get this far! (mostly incomplete)

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
To add to everything you said (which I agree with), don't underestimate how a few simple things can make a non-procedurally generated game replayable. Speed running alone can make your game very very replayable if it's fun (which it should be anyway). I personally love playing the same game multiple times in a row, trying to better myself. A simple in-game timer and/or endings tied to completion time are extremely cost-efficient ways to make your game replayable.

Also: difficulty levels and minimum-item type runs (like Zelda fans make up, and what the Metroid developers encourage), and 'New Game+' are three things that are worth considering and might not be expensive to implement depending on your game.

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe
How about an insanely hard reflex platformer (ninja gaiden) with a player ghost and a braid-like quick rewind.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!
And achievements of course. I think FTL's replayability (someone mentioned it earlier) is way more from the achievements/unlocks than it is from the (very small amount of) procedural generation it has. All the procedural generation contributes to replay value is making it frustratingly impossible to get some of the unlocks sometimes, so you have to do the same thing again.

Speed runs have never really interested me, but when a game has achievements for Finding All The Things, or for doing levels without taking damage, or things like that, it does tend to suck me into replaying. (Generally on a level-by-level basis, not replaying through the whole game, so for this to work on me the end-of-level screen has to be showing me like "hey look at this medal you didn't get!")

roomforthetuna fucked around with this message at 03:07 on Apr 21, 2013

OtspIII
Sep 22, 2002

Shalinor posted:

I get that you want to make a procedural game, and that's totally cool, but this is just a variation of the usual "procedural content allows you to make more interesting content than you could by spending an equivalent amount of time hand-designing content."

You can't. It doesn't work that way, ever.

My point with that's less 'more content' and more 'unpredictable content'. I totally agree with the point that it's more work to make procedural work, but the big thing I'm looking for isn't a shortcut--I just want to play with how much prior knowledge from previous playthroughs the player can apply to a new game.

FuzzySlippers
Feb 6, 2009

I usually never care for achievements but unlocking ships in FTL was a fun and effective carrot for me. FTL also shows how complicated procedural generation can be unnecessary as just randomizing the order of their handcrafted challenges together with those ship unlocks was enough to get people to replay a short game for crazy amounts of time.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Shalinor posted:

I get that you want to make a procedural game, and that's totally cool, but this is just a variation of the usual "procedural content allows you to make more interesting content than you could by spending an equivalent amount of time hand-designing content."

You can't. It doesn't work that way, ever. It always takes a lot more time. If you don't spend that (large) amount of extra time, it shows as the player goes through your game - you've only got enough "procedural variation" in your content to keep it interesting for the first hour of an eight hour game, or whatever, and replays aren't interesting for the same reason.
I don't think that's really the biggest problem with that view, there's a much bigger issue in that it flat-out admits that there's content players will want to ignore. Regardless of how content is created, content that players skip adds no value and is completely dead weight. It doesn't matter if content is procedural or hand-made and, linear or open, the most important thing is that the content is consistently interesting.

The Worms series is a nice example of procedural content used to great effect because the variation in map features can result in vastly different challenges, as are a lot of casual games like, say, Solitaire and Mahjong, that are nothing but replayable randomizations. The difference between "progression" and "replayability" is irrelevant, either is a case of the player deciding to move on to another round of content.

The challenge is that the variation has to matter, if it's only there to break up the visual monotony and has no real effect on the type of challenge that the player faces, then it will feel like a repetitive slog and fail at breaking up the monotony where it really matters. Probably the most important thing for the variation mattering is that the variations have to interact with each other, like in those previous examples, most map features in Worms factor in to how you'll be able to attack opponents, and there are multiple opponents which creates an even higher degree of interaction. Mahjong/Solitaire have a very high degree of interaction within their rules, with the co-dependencies between the individual cards/tiles and whatnot. If a dungeon crawler is essentially a room-by-room, then the uniqueness of player experiences is mostly limited by what you can stuff in a single room.

OneEightHundred fucked around with this message at 05:47 on Apr 21, 2013

OtspIII
Sep 22, 2002

Oof, looking back at what I wrote the first time around I totally did fall into the 'make more content with procedural generation' trap mindset. Even if it's not any easier from the programmer's side I do feel like it's a bit easier for the player, though--if you find an especially brutal monster civ in a dangerous dungeon zone I feel like it's easier to skip it if you know that on a second playthrough you might run into both the monster civ and the dungeon zone under less painful circumstances, but when I run into something like that in a hand-crafted game I do feel like I'm somehow playing the game wrong if I don't try to explore 'to completion'. It's dumb, but it happens to me anyway.

Alright, part two:

Prediction

Before I start going over prediction I feel like maybe I should mention a few things about the game. You actually play a small village of humans trapped in the middle of a great strange dungeon dimension, looking for an escape. You explore in squads of four, and so although there is permadeath (any character who dies is dead) there are also extra lives in the form of villagers you haven't gotten killed yet. You're expected to explore the dungeon over the course of many different delves, and I'm going to incorporate some systems for moving quickly over huge tracts of explored dungeon to make backtracking less of a pain in the rear end. The dungeon does have a Z-dimension (I've disabled it for now to make the diagnostic maps easier to examine quickly), but the Z-level doesn't (directly) correspond to difficulty. Instead, the dungeon is made up of many 'Zones', which cover something like 1-6 geogrid tiles and determine the types of things that get spawned inside of them. The lower-level Zones generally get placed first/closest to the starting zone, and so in general the further you get from the dungeon's 'center' the more dangerous things get, although there are intentionally areas that are an exception to this. A dragon lair in the low-level part of the dungeon forces you to take winding routes, and then rewards you for getting strong enough to defeat it by letting you move through the dungeon way more directly.

The zones determine the types of things that spawn inside of them in more or less two ways--a general danger rating and a set of keywords. The danger rating is fairly self-explanatory, since it just makes sure that level-appropriate monsters and items get placed, but the keywords are what I want to talk about. Every procedural object in the game has a Dictionary<string,int> of keywords, which get used for all kinds of things. Zones are where the keyword chain starts--a Fire Temple zone might have the keywords Fire Temple, Religion, Fire, and Rage. Then, when I'm trying to choose what room types to bud within it, it'll pick Rooms with one of those keywords. When trying to decide to place a Forge instead of a Bedroom it'll see that Forge shares the 'Fire' keyword with it, while the Bedroom only has 'Living Quarters'. These keywords all stack, though, so when I'm deciding what types of monsters to put in the Forge room I'll be more likely to pick monsters with the Rage keyword, even though the Forge room doesn't have that keyword on itself, and when I want to decide what kinds of items to place in the room I'll be more likely to spawn Holy Symbols than I would be in another zone. The things spawned in a room can even spread their keywords back onto the room, so a room with a Demon lair in it is more likely to spawn Unholy equipment, even if the room/zone don't have the Unholy keyword on them. No concept in the game ever calls for another concept directly--they only specify keywords that the other concept must have, and since concepts pick up some of the keywords of neighboring concepts I'm hoping I can get a nice balance of unexpected combos and foreshadowing.

The goal of all this is to make it so that you can get a rough idea of what you can expect to find in an area by looking at semi-trivial details. If you're walking along and you find an area with coffins littered everywhere you can expect that you're way more likely to find undead there, but at the same time you can't be sure until you actually explore it directly. A fountain in a room full of skulls is less likely to be a fountain of healing than one in a room full of flowers, but it's also more likely to be a fountain of invisibility to undead--I want to try to make just how good an idea it is to interact with any dungeon element to swing around as much as possible depending on what the game situation is at any given moment. I'm planning on making situation-specific consumables and limited belt space a big part of the game, so I want to emphasize scouting and preparation as big parts of staying alive, but I want to make sure that it's never a sure thing, and I also want to (and this is the super hard part) make sure it's all more or less common sense rather than game knowledge. By giving both Potions of Flight and the Caverns of Wind the 'wind' keyword I hope I'm just feeding into common sense that someone might expect a random potion they find there to be more likely than usual to be a potion of flight.

I'm really hoping that all of this makes for fun exploration. My hope is that by giving players ways to predict what they're going to find but making the factors deciding what'll be placed too layered to be able to read perfectly I can maximize the amount of fun speculation the players will be able to do while playing the game.

This is all turning out way more tricky than I was expecting, but part of that might be because I haven't made many zones/monsters/rooms/etc yet. If the only keyword you give a Living Quarters zone is 'Living Quarters' and don't make enough rooms sharing the keyword you end up with zones of just repeating identical bedrooms, but if you give it too many keywords (especially semi-generic ones) those bedrooms can get totally swarmed out by storage rooms and rubbish-filled rooms.

Sorting By Function

I noticed that it was also really difficult to make for good game-flow by purely relying on keywords, so I'm trying to break up game concepts not just by thematic function but also by gameplay function. I've done this with some elements already, but I'm sure I'll find other areas that will need this treatment as well. I guess to get more concrete about this, I've divided room types into basic rooms, empty rooms, and special rooms, and given each zone a rating for each of the three types (this rating actually changes as a room gets more remote from the layout skeleton, so special rooms are more likely the further you get away from the high-traffic areas). Empty rooms are just generic rooms with no decoration that picks a random room shape, and basic rooms have furniture, but special rooms are the rooms that are in some way interactive. I currently only have two of these coded--moldy rooms and fountain rooms, so if those two both seem a little overrepresented it's because every time the generator came up asking for a Special Room it had to pick one of those two.

Balancing thematic flow and gameplay flow is really hard. I have no real advice on how to do it, either, but it's a fun challenge.

That might be it for my thoughts on procedural generation, at least for now. I'm doing a few other weird things, but most of those are still too unrefined to be worth bringing up yet. (I'm trying to handle procedural furniture placement, and it's pretty hilariously complex)

Edit:

OneEightHundred posted:

The challenge is that the variation has to matter, if it's only there to break up the visual monotony and has no real effect on the type of challenge that the player faces, then it will feel like a repetitive slog and fail at breaking up the monotony where it really matters. Probably the most important thing for the variation mattering is that the variations have to interact with each other, like in those previous examples, most map features in Worms factor in to how you'll be able to attack opponents, and there are multiple opponents which creates an even higher degree of interaction. Mahjong/Solitaire have a very high degree of interaction within their rules, with the co-dependencies between the individual cards/tiles and whatnot. If a dungeon crawler is essentially a room-by-room, then the uniqueness of player experiences is mostly limited by what you can stuff in a single room.

I'm hoping that I can make the window-dressing matter by making it hint at the keywords underlying the zone you find it in, and making it let you know roughly what you should be expecting in general.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

OtspIII posted:

I'm hoping that I can make the window-dressing matter by making it hint at the keywords underlying the zone you find it in, and making it let you know roughly what you should be expecting in general.
Thematic consistency can help things stay convincing, but that's short of making it interesting. I was mainly making two points: First, skipped content indicates a problem, your goal should be that everything in the game is either convenient or interesting. Second, what makes procedural content interesting is novel interactions between randomly-generated elements that in turn create new challenges, not existing challenges simply appearing in a different order.

If you had a trap that caused nearby rooms to be alerted to the player's presence, for example, then the challenge created by that trap would vary based on what was in the nearby rooms. There could be effects around that restrict certain player advantages or enhance enemies unless disabled elsewhere in the dungeon, which would force the player to deal with threats differently. Those are the kinds of interactions that I think would be most worth pursuing in a procedural dungeon crawler.

Of course, I'm not personally a fan of roguelikes so you're free to take everything I say with a grain of salt.

Abalieno
Apr 3, 2011

OtspIII posted:

Here's a basic map of what a level in it looks like (sorry if it's a bit hard to read in places, it's a diagnostic map):

That's the output of your generator? Because that would already GREATLY satisfy me. The problem is:

quote:

I break my map into lots of 18x18 square tiles and have the game draw a linear/branching path through it, then go through each tile and give it a chance to create secondary connections with other tiles neighboring it.

See, my problem is not knowing this part you wrote, but EVERYTHING ELSE you didn't write.

Dividing the whole space in 18x18 zones should be relatively easy, but I wouldn't know where to begin implementing the second part of that line. That's why I'm interested on practical procedures. How stuff is made concretely.

So, as far as I'm concerned, your post is extremely interesting and I want more, but not useful ;)

Useful for me would be even understanding how you're placing those smaller rooms so that they are always linked neatly, and ever overlapping (with each other and everything else).

Actually 18 and 19 overlap, so you seem to control that case too.

OtspIII
Sep 22, 2002

OneEightHundred posted:

Thematic consistency can help things stay convincing, but that's short of making it interesting. I was mainly making two points: First, skipped content indicates a problem, your goal should be that everything in the game is either convenient or interesting. Second, what makes procedural content interesting is novel interactions between randomly-generated elements that in turn create new challenges, not existing challenges simply appearing in a different order.

It's a good thing for everything to be interesting for. . .the obvious reasons. That said, having areas that the players really shouldn't want to deal with can add a lot to the game, partially as a trap that they'll wander into and then have to escape from, and also as a shortcut with a cost. I kinda like the just the challenge of trying to scout out info on which areas are worth dealing with and which aren't in general, too.

OneEightHundred posted:

If you had a trap that caused nearby rooms to be alerted to the player's presence, for example, then the challenge created by that trap would vary based on what was in the nearby rooms. There could be effects around that restrict certain player advantages or enhance enemies unless disabled elsewhere in the dungeon, which would force the player to deal with threats differently. Those are the kinds of interactions that I think would be most worth pursuing in a procedural dungeon crawler.

Of course, I'm not personally a fan of roguelikes so you're free to take everything I say with a grain of salt.

I mean, as long as you have wandering monsters/noise (I can't think of any trad roguelikes that don't have at least one of these) the contents of neighboring rooms does matter. If the contents of a room giving you hints as to what's in the next room isn't enough of an interaction for you, though, there will be plenty of lingering status effects and so on just as a natural part of the game.

Abalieno posted:

See, my problem is not knowing this part you wrote, but EVERYTHING ELSE you didn't write.

Dividing the whole space in 18x18 zones should be relatively easy, but I wouldn't know where to begin implementing the second part of that line. That's why I'm interested on practical procedures. How stuff is made concretely.

This is pretty complicated, but basically I just use a bunch of 2/3d arrays. I use hand-drawn arrays of integers to draw the 18x18 slots and the rooms, which I then imprint onto the arrays of TileSquares that make up the gameplay map. I also have arrays of GeoSlots, which have a bunch of bools that are like "Do I connect to the east? How about west?" and then when I am trying to pick a 18x18 slot to throw down in the location I make sure that it does/doesn't have connections in all the right places.

As for drawing the path that I lay everything on top of. . .that was actually a lie. Before I used Zones and back when I wanted to make a bunch of small dungeons rather than one giant one I just hand-drew these in 3x3 grids and then just Wang tiled them to make up my dungeon layout, but now I just place a starting Zone in an arbitrary location and but each additional Zone off of the border of an existing Zone. I just use that array of GeoSlots and make sure that every square in the Zone can path to every other square by at least some path before I start thinking about adding to the interconnectivity.

As for the little rooms. . .it's kind of brutal. I have lists of walls that I can bud rooms from, and when I try to place a room on a wall I just check to see if it fits when placed at every rotation on every slot of the wall. I keep a list of which placements/rotations border how many other rooms and then favor picking one of the ones that shares walls with at least one other room. Brute loving force.

Or if you mean how I make them not overlap with each other, I just try to place them all willy-nilly, but if any of the squares of the room would overlap with another room I just scrap it outright and put another room there instead/put that room somewhere else. Also fairly brute forceish.

Tann
Apr 1, 2009

I'm also making a roguelike but I think I have a much easier job with random generation because it's in space so corridors and rooms don't really exist. I just need to have map features placed interestingly really. It's fun to read about the procedural generation you guys are doing though and it's given me a few ideas.

Jewel
May 2, 2009

Here's some neat stuff I was reading today from a game by Gaslamp Games called Clockwork Empire. I've snipped out a few parts but this is the part about random generation.

http://www.gaslampgames.com/2012/12/12/flora/ posted:

Generating terrain for a video game is almost always done by hand, by artists, over a long period of time, sometimes even going to the lengths of placing each blade of grass that the player will see. This visual design and implementation of large scale AAA video games is the vast majority of their development budgets, spanning tens of millions of dollars that we obviously don’t have.

So we don’t do it that way. We can’t compete with it. Instead, we (like many other indie game companies) cut corners by making the game world generate itself procedurally, writing algorithms for the placement of trees, grass, rocks, rivers, mountains, glowing ruins and evil monoliths.

[...]

I have fallen in love with 2D Perlin noise functions. Basically, you supply a series of values to the function and it gives you a 2D map of values. Properly tuned this function in particular has a really amazing capacity for creating naturally shaped anomalies with really pleasing gradients.



We generate a Perlin noise map for ground fertility, modify it just a bit, then apply a histogram to the map so that we can easily designate the top 35% of values to be forest, the next 50% of values to be grass, and the rest to be barren.

At this point we could call it good, but we have some pretty weird looking regions. Like a contour map, you’ll have weird rings of contours of the anomalies, and that’s just… not how real forests exist. They just wouldn’t grow like that. So there’s one more step.

We generate a voronoi diagram overlay of the map using about a hundred totally randomly generated points. For each of the cells in the voronoi diagram, we average up their fertility values, and if the average of that cell is within the values for forests, it’s a forest cell, otherwise it’s a grassland cell or a barren cell. We still get some of the neat grouping that the Perlin function gave us because some of the anomalies will span a few of the voronoi cells, but we get big clumpy forests with weird shapes now instead of little Dr. Seuss forests. I’m sure I can find a use for those guys somewhere though.

As far as the haunted mines and evil monoliths are concerned, we generate another perlin function for “abnormal activity”, and we skim off the top few (or more) game tiles with the highest values, and we focus our paranormal activities there. The really high-value tiles get some really nasty surprises, and the outlying ones have just enough dangerous and terrifying things that hopefully you won’t keep exploring in that direction unless you really want to.

So… this is a lot of work, not for a computer, and honestly not once you get it all working, but it’s a very sophisticated system, and because of that it’s going to be prone to breaking and being a huge pain in the rear end. But the world in which you play a game is so important, and the placement of the smallest details are often the ones that reach us in the most profound ways, that if there’s anything we can do to make these moments happen in just your game, hopefully you will feel like all of this effort was worth it.

Edit: Also here's how the game looks (well, looked. These are from various months and the game's still heavily in beta), it's pretty as heck:



Jewel fucked around with this message at 12:37 on Apr 21, 2013

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Perlin Noise is probably the most useful graphics algorithm ever created. It's so versatile.

DancingPenguin
Nov 27, 2012

I ish kakadu.
Some nice guys from Ogre Forums helped me with this. Just forgot to delete the .dat file.

I suppose this is the best place to ask it, except for the Ogre Forums itself. (Which I will post in as soon as I have the energy to create a decent post.)

So, any goon using Ogre3D?
I am using 1.8 (Byatis, if I am not mistaken) and I really can not get a proper grip of terrain.
Where do I put my heightmap?
As far as I understand from Basic Tutorial 3 and some forums lurking, it is terrain.cfg.
Trying to edit this with Notepad, I seem to have ended up with just a terrain with no height whatsoever, should I use some other program for a .cfg file?

What it should look like:


What it looks like after I edited terrain.cfg with Notepad:


Ignore that the textures look different, this has to do with a certain height having a certain texture. Also the skybox might be different, I took a picture from the tutorial since I forgot to print my screen earlier.

DancingPenguin fucked around with this message at 18:33 on Apr 23, 2013

Abalieno
Apr 3, 2011

OtspIII posted:

This is pretty complicated, but basically I just use a bunch of 2/3d arrays. I use hand-drawn arrays of integers to draw the 18x18 slots and the rooms, which I then imprint onto the arrays of TileSquares that make up the gameplay map. I also have arrays of GeoSlots, which have a bunch of bools that are like "Do I connect to the east? How about west?" and then when I am trying to pick a 18x18 slot to throw down in the location I make sure that it does/doesn't have connections in all the right places.

As for the little rooms. . .it's kind of brutal. I have lists of walls that I can bud rooms from, and when I try to place a room on a wall I just check to see if it fits when placed at every rotation on every slot of the wall. I keep a list of which placements/rotations border how many other rooms and then favor picking one of the ones that shares walls with at least one other room. Brute loving force.

Heh, this is still too vague for me. Meaning that it will probably require a million words to explain step by step.

And that's why I complain that there aren't any advanced guides on dungeon generation. It's the same about world generation like in Dwarf Fortress.

Btw, does that mean that even the small rooms are also pre-drawn even if really simple (as opposed to having a procedure that establishes the right size)?

OtspIII
Sep 22, 2002

Abalieno posted:

Heh, this is still too vague for me. Meaning that it will probably require a million words to explain step by step.

And that's why I complain that there aren't any advanced guides on dungeon generation. It's the same about world generation like in Dwarf Fortress.

Btw, does that mean that even the small rooms are also pre-drawn even if really simple (as opposed to having a procedure that establishes the right size)?

I can't promise I'll have free time right away, but if you want to just skype me (my skype name is my SA name) I can probably get you set off in the right direction. I don't have time to do any actual ongoing mentoring (also I'm bad at coding), but I'd be glad to do a one-time thing.

And. . .kind of. Most of the small rooms are pre-drawn. . .but I have one RoomShape class (the 'Rectangle') that's actually kind of complex and weird and is used for all rectangular rooms of any size, potentially growing to fit whatever space it's placed in. All the L-shaped rooms and stuff are hand-done, though.

seiken
Feb 7, 2005

hah ha ha

Abalieno posted:

Heh, this is still too vague for me. Meaning that it will probably require a million words to explain step by step.

If you're new enough to programming that this simple, clear explanation is too vague for you then you should probably hold off on dungeon generation for a little while because having someone painstakingly hand-hold you through a non-trivial algorithm that you then don't understand and can't modify isn't a great use of anyone's time.

Feral Integral
Jun 6, 2006

YOSPOS

Abalieno posted:

Heh, this is still too vague for me. Meaning that it will probably require a million words to explain step by step.

And that's why I complain that there aren't any advanced guides on dungeon generation. It's the same about world generation like in Dwarf Fortress.

Btw, does that mean that even the small rooms are also pre-drawn even if really simple (as opposed to having a procedure that establishes the right size)?

There's actually lots of good stuff on dungeon generation algorithms. Check out these resources: http://www.roguebasin.roguelikedevelopment.org/index.php?title=Dungeon-Building_Algorithm, http://pcg.wikidot.com/pcg-algorithm:dungeon-generation and see if you can come up with some more specific examples of areas where you are having trouble with actually writing out the algorithm. Try and come up with some pseudo code that outlines the steps of the algorithm that you have in mind and maybe we can help you from there.

SlightlyMadman
Jan 14, 2005

I put my Unity project into Git and just pulled it down on another machine. Everything seems to have transferred over ok, except the "Hierarchy" panel only has "Main Camera" in it, note my main game script or terrain objects or anything. I'm pretty sure I had checked in every single file in my project directory, where would these things be stored so I can check?

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

SlightlyMadman posted:

I put my Unity project into Git and just pulled it down on another machine. Everything seems to have transferred over ok, except the "Hierarchy" panel only has "Main Camera" in it, note my main game script or terrain objects or anything. I'm pretty sure I had checked in every single file in my project directory, where would these things be stored so I can check?

Only the Assets and ProjectSettings folders need to be included; with all files underneath them (including .meta files). You also need to be sure that Edit...Project Settings...Editor...Mode is set to "Meta Files", otherwise unity doesn't work very well with source control.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

SlightlyMadman posted:

I put my Unity project into Git and just pulled it down on another machine. Everything seems to have transferred over ok, except the "Hierarchy" panel only has "Main Camera" in it, note my main game script or terrain objects or anything. I'm pretty sure I had checked in every single file in my project directory, where would these things be stored so I can check?
It opens a default / empty scene - you need to find your actual scene, wherever you saved it in the hierarchy, and open that instead.

SlightlyMadman
Jan 14, 2005

Thanks, that was it! This is weird though, I was basically just loading it up to see if it would run at all on my x120e two year old netbook, and it actually runs better than on my T530 brand new i7 laptop with dedicated GPU. I guess it could be the difference between a 1366x768 screen and 1080p.

DrMelon
Oct 9, 2010

You can find me in the produce aisle of the hospital.

DancingPenguin posted:


As far as I understand from Basic Tutorial 3 and some forums lurking, it is terrain.cfg.
Trying to edit this with Notepad, I seem to have ended up with just a terrain with no height whatsoever, should I use some other program for a .cfg file?


Might be to do with how Notepad encodes line-endings, which differs from the way most Unix-based text editors do - have you used an editor like Notepad++? Notepad++ preserves the formatting it reads from the file when saving, so could be worth a shot.

DancingPenguin
Nov 27, 2012

I ish kakadu.

DrMelon posted:

Might be to do with how Notepad encodes line-endings, which differs from the way most Unix-based text editors do - have you used an editor like Notepad++? Notepad++ preserves the formatting it reads from the file when saving, so could be worth a shot.

Turned out the file "terrain.cfg" just was some miscellaneous randomness. But yea, I have managed to do this before (changing formatting by wrong usage) and next time I will make sure to bother scrolling down to Notepad++.
Thanks for the heads up man!

Spatial
Nov 15, 2007

On the subject, you can actually replace Notepad entirely with Notepad++ using this handy tool.

Never had an issue over a year of usage, and the change can be undone simply by uninstalling. Very handy.

DancingPenguin
Nov 27, 2012

I ish kakadu.

Spatial posted:

actually replace Notepad entirely with Notepad++

Not having too much knowledge about how these work, but does this mean that the standard Notepad will not show up in start menus etcetera?
(This would be a good thing for me too.)

Quick question: Is it going to replace my Notepad with whatever I choose during installation or do I get to choose when I start the program?

Looks great though, will try it when I get home.

ZombieApostate
Mar 13, 2011
Sorry, I didn't read your post.

I'm too busy replying to what I wish you said

:allears:
Right click file -> Open With -> Choose Default Program... -> find Notepad++ (possibly under Other Programs) and make sure Always use this Program is checked worked for me. No need to install anything, although you have to do it with each different filetype. But, really, how many different file types does notepad handle that you won't have to pick a default program to open them with anyway.

SupSuper
Apr 8, 2009

At the Heart of the city is an Alien horror, so vile and so powerful that not even death can claim it.

ZombieApostate posted:

Right click file -> Open With -> Choose Default Program... -> find Notepad++ (possibly under Other Programs) and make sure Always use this Program is checked worked for me. No need to install anything, although you have to do it with each different filetype. But, really, how many different file types does notepad handle that you won't have to pick a default program to open them with anyway.
I just use the "Edit with Notepad++" context-menu option, works on any file without getting in the way of associations or whatever, and sometimes it's just nice using classic Notepad.

Yodzilla
Apr 29, 2005

Now who looks even dumber?

Beef Witch
Notepad++ is the bee's knees. Even with Sublime Text 2 at my disposal I still find myself going back to N++ for certain things since it's just so clean and snappy. Also it has the best Find In Files functionality I've ever seen in a text editor.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
I would use Notepad++ for everything if it wasn't the only editor for anything that didn't let me drop files into the window to open them. :sigh:

Yodzilla
Apr 29, 2005

Now who looks even dumber?

Beef Witch
You most certainly can drag files into N++ to open them. I just gave it a shot and it worked fine.

TheresaJayne
Jul 1, 2011
I only ever use Np++ or if i am really stressed or on linux - vi

although Intellij Idea is a fine IDE

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Yodzilla posted:

You most certainly can drag files into N++ to open them. I just gave it a shot and it worked fine.
Oh good, that means they fixed it. And yeah it seems to work. Comment blocks in user-defined languages still having issues, but, eh...

Coldrice
Jan 20, 2006


Is it alright to post progress videos here? I made a video of some of the developments for my little cheesy game http://youtu.be/tFM-MJvPGzE

Its coming along nicely. I'm feeling really proud of myself. Sometimes I get a little down hearted looking at all the really cool games people are making - but after putting together a little video of what my game does I'm feeling really good. I'm super psyched for my next project which I hope to be a more full fledged game. The video doesn't describe whats going on 100% sadly, but its neat to look at! Thanks for this thread, I browse it every day!

The Gripper
Sep 14, 2004
i am winner

Coldrice posted:

Is it alright to post progress videos here? I made a video of some of the developments for my little cheesy game http://youtu.be/tFM-MJvPGzE

Its coming along nicely. I'm feeling really proud of myself. Sometimes I get a little down hearted looking at all the really cool games people are making - but after putting together a little video of what my game does I'm feeling really good. I'm super psyched for my next project which I hope to be a more full fledged game. The video doesn't describe whats going on 100% sadly, but its neat to look at! Thanks for this thread, I browse it every day!
Love it. Just hit your kickstarter up for $50 (on the $25 tier since I'm foreign), I hope you hit your goal and everything goes swell for you!

Adbot
ADBOT LOVES YOU

Coldrice
Jan 20, 2006


The Gripper posted:

Love it. Just hit your kickstarter up for $50 (on the $25 tier since I'm foreign), I hope you hit your goal and everything goes swell for you!

whoh hey thanks! Yeah I keep updating my kickstarter, but I'm not really sure if people are that interested. I figure its such a small amount it'll either get funded, OR I'll have at least gotten some attention for my site/game.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply