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
Corbeau
Sep 13, 2010

Jack of All Trades
Actually, after some research, my core algorithm could be described as a modified midpoint displacement algorithm. I could try tweaking it to a modified diamond-square algorithm.

e: Maybe. Also maybe not, due to one of the other capabilities that I'd like to preserve, that being the theoretically infinite world. Each square has to be self-determinative without reaching into adjacent squares, which cuts out true diamond-square. I may go with an alternative strategy for smoothing.

Here's an image where you can see the original grid of points (represented by spheres, though the spheres do not represent their points' elevation values) from which all the smaller grids are ultimately derived. One of the smallest grid objects is selected (highlighted in blue) so you can see the difference. That smallest size is basically the largest mesh object that Unity seems to accept instantiating without hitching - though real time instantiation isn't an issue for the particular game I'm working on, it's part of the toolset I want available.

Corbeau fucked around with this message at 02:29 on Nov 7, 2013

Adbot
ADBOT LOVES YOU

Lord Windy
Mar 26, 2010
I can give you a c# Simplex Noise generator if you like, and some instructions on a good way to use it.

Corbeau
Sep 13, 2010

Jack of All Trades

Lord Windy posted:

I can give you a c# Simplex Noise generator if you like, and some instructions on a good way to use it.

That would be very helpful as an example and option to build on for the future, but I feel like I'm fairly committed to the midpoint displacement for this. :(

My next idea ought to at least minimize the damage from this approach, even if it doesn't fix the underlying problem (which, as I understand it, Perlin Noise would). Will have to wait on implementing it until either way late tonight or sometime tomorrow though. If that really doesn't work... well, it would suck to nuke and pave, but it wouldn't be the first time.

Corbeau fucked around with this message at 02:39 on Nov 7, 2013

seiken
Feb 7, 2005

hah ha ha

Corbeau posted:

My next idea ought to at least minimize the damage from this approach, even if it doesn't fix the underlying problem (which, as I understand it, Perlin Noise would). Will have to wait on implementing it until either way late tonight or sometime tomorrow though. If that really doesn't work... well, it would suck to nuke and pave, but it wouldn't be the first time.

Perlin noise does have some directional artifacting (it changes faster along axis-aligned lines), but it's not nearly as noticeable as in your picture. Simplex noise is isotropic (no directional artifacts at all).

Lord Windy
Mar 26, 2010
It's pretty good, and you can even use concurrency since it uses the appearance of randomisation rather than actual random. You just need to use a seed.

I'll post it up regardless, I just need to get it ready.

tehsid
Dec 24, 2007

Nobility is sadly overrated.
Not sure why Coldrice hasn't posted this in here. But he up and launched his Kickstarter for Interstellaria today!

Congratulations buddy, and good luck!

http://www.kickstarter.com/projects/coldricegames/interstellaria

Zizi
Jan 7, 2010

tehsid posted:

Not sure why Coldrice hasn't posted this in here. But he up and launched his Kickstarter for Interstellaria today!

Congratulations buddy, and good luck!

http://www.kickstarter.com/projects/coldricegames/interstellaria

I would assume he posted it in the kickstarter thread and declined to crosspost it here, is all.

That said, this is one of the few times I've been upset I can't afford to drop a couple hundred on a kickstarter in the last year or so.

Lord Windy
Mar 26, 2010
The Simplex noise:- http://pastebin.com/wqR5bHZJ

Explanation of the SimplexNoise value system and OctaveWaves

SimplexNoise.noise2D((x * S)/256f + T1,(y * S)/256f + T2);

When you run this algorithm, it will be the same every single time you run it if you do not change anything.

X and Y are the co-ordinantes on the map. How you get a pretty image is via entering in each value, so like x = 1, 2, 3, 4 and y = 1, 2, 3, 4. It's a very simple system system. * S is the scale of the picture, the lower the number the wider the hills and valleys spread. The larger the number the more dense it becomes.

/256f is a bit of a strange one. The reason we use /256f is to literally reduce the scale by 256, you may not want to do that in your own projects, but the point of it is to spread out my hills and valleys in an appealing fashion.

T1 & T2 is how we introduce randomness into the game. By adding +50 or something like that into it, so long as it is consistant, will create a very different map to one without the +50.

A much better tutorial is on: http://hexara.com/SimplexBuilder.html and http://www.java-gaming.org/topics/simplex-noise-experiments-towards-procedural-generation/27163/msg/242735/view.html.

------------------

I'm sorry this is a bit stilted and awkward. I've basically pasted the information wholesale from my noise and map info. It creates a simple height map which should work without issue on a 3D map. But if you want a 3D height map the code is in the Noise.cs file I linked.

Here is the example on how I use it.

code:
noiseValue[0] = Noise.Generate((x * 1)/256f + 0,(y * 1)/256f + 0);
noiseValue[1] = Noise.Generate((x * 4)/256f + 0,(y * 4)/256f + 0);
noiseValue[2] = Noise.Generate((x * 16)/256f + 0,(y * 16)/256f + 0);
noiseValue[3] = Noise.Generate((x * 64)/256f + 0,(y * 64)/256f + 0);
		
noiseCombined = (noiseValue[0] * 0.75) + (noiseValue[1] * 0.18) + (noiseValue[2] * 0.04) + (noiseValue[3] * 0.01);
noiseCombined = (noiseCombined+1)/2;
noiseCombined*= 256;
How this works, the *1 scale is large and *64 is essentially static on a tv screen. I do the noise 4 times so that a large image will look very natural and interesting.

It's the difference between this:



And this:

Lord Windy fucked around with this message at 03:59 on Nov 7, 2013

Gaspy Conana
Aug 1, 2004

this clown loves you

tehsid posted:

Not sure why Coldrice hasn't posted this in here. But he up and launched his Kickstarter for Interstellaria today!

Congratulations buddy, and good luck!

http://www.kickstarter.com/projects/coldricegames/interstellaria

If this thing doesn't explode in popularity, there is something wrong with the universe. I'm going to do my part and pimp it like crazy in the Dropsy campaign.

Sauer
Sep 13, 2005

Socialize Everything!
Something like a Smart Blur filter is probably what you're looking for.

tehsid
Dec 24, 2007

Nobility is sadly overrated.

Gaspy Conana posted:

If this thing doesn't explode in popularity, there is something wrong with the universe. I'm going to do my part and pimp it like crazy in the Dropsy campaign.

You're a champ.

Coldrice
Jan 20, 2006


tehsid posted:

Not sure why Coldrice hasn't posted this in here. But he up and launched his Kickstarter for Interstellaria today!

Congratulations buddy, and good luck!

http://www.kickstarter.com/projects/coldricegames/interstellaria

Hey thanks! It's true though, I didn't want to be all spammy. I love SA and I don't want to be a jerk.

Right now I hit about 840ish, so all in all it's not doing poorly for its first 8 hours. Sadly, of all the articles I confirmed for today only 2 or 3 actually posted and they weren't the big ones. So I'm a little nervous now.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

Gaspy Conana posted:

If this thing doesn't explode in popularity, there is something wrong with the universe. I'm going to do my part and pimp it like crazy in the Dropsy campaign.
Ditto. I'll be sending a Hot Tin Roof update out tomorrow, and this will be in it.

Also, normally we try and keep the KS posts in the main KS thread... but this is one of those exceptions. Coldrice, you've got mod sign off to make a separate thread for Interstellaria in Games forum, if you like. Just plan on using it as your dev thread too / answer questions / put some content in there, and you're good.

Also also, no Greenlight link? I wanna see this on Steam :neckbeard:!

Shalinor fucked around with this message at 06:05 on Nov 7, 2013

Coldrice
Jan 20, 2006


Shalinor posted:

Ditto. I'll be sending a Hot Tin Roof update out tomorrow, and this will be in it.

Also, normally we try and keep the KS posts in the main KS thread... but this is one of those exceptions. Coldrice, you've got mod sign off to make a separate thread for Interstellaria in Games forum, if you like. Just plan on using it as your dev thread too / answer questions / put some content in there, and you're good.

Also also, no Greenlight link? I wanna see this on Steam :neckbeard:!

Wow, thanks! I'll work on putting together a good looking thread over the night and post it asap! Also, I only have about $40 in my bank account right now - so when I get paid this weekend I'll shell out the cash for it so I can get greenlight moving quickly.

Malek
Jun 22, 2003

Shut up Girl!
And as always: Kill Hitler.
Quick question. I had a problem with one of my tile engine designs that seems to be perpetually using more and more memory as time passed (somewhere to the tune of 1 MB every 5 seconds.) I haven't tried SFML 2.1 yet but has anyone else experienced this?

My design is fairly simple and in the main game loop I am not declaring ANY new variables over and over again. Merely redrawing to the frame and flipping the screen and getting keyboard input.

Just curious if anyone else is having this issue and if I'm nuts for worrying about it.

Polio Vax Scene
Apr 5, 2009



That's a pretty big memory leak. I'd try and find a profiler you can attach to your program to see if any garbage is going undisposed. ANTS is amazing for c# but since you mention SFML I assume you're using c++ and I'm not sure if it works for that.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?
Cross-posting this from the jobs thread, because I know there's a few Flash devs in here... Patreon might be a pretty important development, for anyone thinking about free Flash game development or the like.

(basically, people pledge to give you X amount per release / Y max per month, period)

I gather it's already big with YouTuber's (apparently this is how Smooth McGroove makes most of his money), but seems like it should work for gamedevs too.

thedaian
Dec 11, 2005

Blistering idiots.

Malek posted:

Quick question. I had a problem with one of my tile engine designs that seems to be perpetually using more and more memory as time passed (somewhere to the tune of 1 MB every 5 seconds.) I haven't tried SFML 2.1 yet but has anyone else experienced this?

My design is fairly simple and in the main game loop I am not declaring ANY new variables over and over again. Merely redrawing to the frame and flipping the screen and getting keyboard input.

Just curious if anyone else is having this issue and if I'm nuts for worrying about it.

I just spent the morning converting a (small) project from SFML1.6 to SFML2.1, and it almost seems like there's a memory leak happening (though it only seems to occur when events are polled), and it's not as constant or extreme as you're experiencing.

I'd second the suggestion of a code profiler, or something you can attach to see what's happening. That's definitely something to be worried about.

Roy
Sep 24, 2007

tehsid posted:

Not sure why Coldrice hasn't posted this in here. But he up and launched his Kickstarter for Interstellaria today!

Congratulations buddy, and good luck!

http://www.kickstarter.com/projects/coldricegames/interstellaria

This looks awesome and the game looks brilliant.

But Coldrice, please look into the camera next time you do a video. Your eyes kinda dart around and you hang your head which is a little distracting. It makes you come off as a bit insecure which might not be the best thing when you're trying to sell your game.

Malek
Jun 22, 2003

Shut up Girl!
And as always: Kill Hitler.

thedaian posted:

I just spent the morning converting a (small) project from SFML1.6 to SFML2.1, and it almost seems like there's a memory leak happening (though it only seems to occur when events are polled), and it's not as constant or extreme as you're experiencing.

I'd second the suggestion of a code profiler, or something you can attach to see what's happening. That's definitely something to be worried about.

Manslaughter posted:

That's a pretty big memory leak. I'd try and find a profiler you can attach to your program to see if any garbage is going undisposed. ANTS is amazing for c# but since you mention SFML I assume you're using c++ and I'm not sure if it works for that.

Thank you both for the response.

Event Polling is PRECISELY what is going on with regards to registering the input. Plus I'm doing so without a FPS limiter or locker, basically -- the system is going as fast as it can (around 1500 FPS... then it drops to 800 about 30 seconds in and hovers at 600 at the 3 minute mark+) using a per pixel movement speed coinciding with the "tics." Each time (naturally) it polls the keyboard events as you said.

@thedaian: I think it's because I'm polling it as rapidly as it is going...

An profiler sounds good. Any suggestions?

This is my first crack at C++ but so far I think I'm doing alright.

Appreciate the help too

EDIT: Actually let me try SFML 2.1 and see what I can find from that. However I would appreciate suggestions for a profiler for future occurrences.

Malek fucked around with this message at 18:50 on Nov 7, 2013

thedaian
Dec 11, 2005

Blistering idiots.

Malek posted:

Thank you both for the response.

Event Polling is PRECISELY what is going on with regards to registering the input. Plus I'm doing so without a FPS limiter or locker, basically -- the system is going as fast as it can (around 1500 FPS... then it drops to 800 about 30 seconds in and hovers at 600 at the 3 minute mark+) using a per pixel movement speed coinciding with the "tics." Each time (naturally) it polls the keyboard events as you said.

@thedaian: I think it's because I'm polling it as rapidly as it is going...

An profiler sounds good. Any suggestions?

This is my first crack at C++ but so far I think I'm doing alright.

Appreciate the help too

EDIT: Actually let me try SFML 2.1 and see what I can find from that. However I would appreciate suggestions for a profiler for future occurrences.

The only thing is event polling shouldn't be causing a memory leak. And certainly not one of that magnitude.

What IDE are you using? I know that Code::Blocks has a code profiler plugin that it comes with...

Malek
Jun 22, 2003

Shut up Girl!
And as always: Kill Hitler.

thedaian posted:

The only thing is event polling shouldn't be causing a memory leak. And certainly not one of that magnitude.

What IDE are you using? I know that Code::Blocks has a code profiler plugin that it comes with...

Code Blocks 12.11 with MinGW.
Per the Download Page it says this

quote:

includes the GCC compiler and GDB debugger from TDM-GCC (version 4.7.1, 32 bit).

Had to compile from source back in 2.0 since the pre-compiled version it had was causing errors on compile. I don't recall which ones.

Malek fucked around with this message at 19:22 on Nov 7, 2013

poemdexter
Feb 18, 2005

Hooray Indie Games!

College Slice
Got world generation done and plopped it into my game, tweaked the camera angle a bit, and we're good to go for cleaning up our wild west town. Collisions are next on the list.

xzzy
Mar 5, 2009

It's like I'm actually there!!

Nition
Feb 25, 2006

You really want to know?
SO REAL

a cyberpunk goose
May 21, 2007

CliffyB? Is that you?

Calipark
Feb 1, 2008

That's cool.
Oh god it's so beautiful.

Coldrice
Jan 20, 2006


Still working by the way! Did some work on repairs at a space station. Nothing too exciting, but it works. I'll be adding some special effects to it over the next few days.

Nition
Feb 25, 2006

You really want to know?
So my game is taking forever to develop, I was really hoping to have something released as an alpha-purchasable thing by now but it's still a few months away realistically. Multiplayer is moving forward - I've got connecting to servers and the connection/lobby screens mostly done - but I've still got to port the actual vehicle combat component over from my test app and into the main game.

Then there's a whole bunch of other stuff to do. Making at least a couple of maps to play on. Putting in the system where to can actually scavenge scrap from people to upgrade your own vehicle. Lots of cleanup and bug fixes. Plus an account system for everyone to use.

I have a kind of personal agreement that if the game isn't near alpha release by the end of January, I'll have a look for some part-time work, and at this point I don't think it's going to be ready. Of course having a part-time job will make things take even longer! I'm now wondering whether it'd actually be a good idea to run a Kickstarter to potentially raise some funds before the alpha release. Kickstarter is just about to allow projects from this country on November 13.

I'm still excited about making this and definitely going to keep working on it as much as I can either way. If a Kickstarter fails it'll just be a few days of wasted effort getting everything ready for it, although I'm loath to spend time doing anything not-making-the-game at the moment. I'm interested in what you guys think, because I'm not sure if I should try it or not. At least with a year(!) of full-time work already in the game, I'd have a decent amount to show and a decent guarantee that I'm not just an ideas guy.

tehsid
Dec 24, 2007

Nobility is sadly overrated.

Nition posted:

So my game is taking forever to develop, I was really hoping to have something released as an alpha-purchasable thing by now but it's still a few months away realistically. Multiplayer is moving forward - I've got connecting to servers and the connection/lobby screens mostly done - but I've still got to port the actual vehicle combat component over from my test app and into the main game.

Then there's a whole bunch of other stuff to do. Making at least a couple of maps to play on. Putting in the system where to can actually scavenge scrap from people to upgrade your own vehicle. Lots of cleanup and bug fixes. Plus an account system for everyone to use.

I have a kind of personal agreement that if the game isn't near alpha release by the end of January, I'll have a look for some part-time work, and at this point I don't think it's going to be ready. Of course having a part-time job will make things take even longer! I'm now wondering whether it'd actually be a good idea to run a Kickstarter to potentially raise some funds before the alpha release. Kickstarter is just about to allow projects from this country on November 13.

I'm still excited about making this and definitely going to keep working on it as much as I can either way. If a Kickstarter fails it'll just be a few days of wasted effort getting everything ready for it, although I'm loath to spend time doing anything not-making-the-game at the moment. I'm interested in what you guys think, because I'm not sure if I should try it or not. At least with a year(!) of full-time work already in the game, I'd have a decent amount to show and a decent guarantee that I'm not just an ideas guy.

You are in the perfect position to do a Kickstarter. You have all of the ability, and you have it all in place, it just needs to be done. Getting it done = time and time = money. Kickstarter, or even early access pre-ordering, is a great way to do that and ideal for what you're after. I think with what you have now, even just the vehicle builder and fudged example gameplay you've shown, would almost be a Kickstarter enough. Doing a few environments to show off a style wouldn't hurt you first, but getting in on that first way of Australian Kickstarters wouldn't hurt you at all.

And it never hurts to try. So I say do it!

speng31b
May 8, 2010

Nition posted:

So my game is taking forever to develop, I was really hoping to have something released as an alpha-purchasable thing by now but it's still a few months away realistically. Multiplayer is moving forward - I've got connecting to servers and the connection/lobby screens mostly done - but I've still got to port the actual vehicle combat component over from my test app and into the main game.

Then there's a whole bunch of other stuff to do. Making at least a couple of maps to play on. Putting in the system where to can actually scavenge scrap from people to upgrade your own vehicle. Lots of cleanup and bug fixes. Plus an account system for everyone to use.

I have a kind of personal agreement that if the game isn't near alpha release by the end of January, I'll have a look for some part-time work, and at this point I don't think it's going to be ready. Of course having a part-time job will make things take even longer! I'm now wondering whether it'd actually be a good idea to run a Kickstarter to potentially raise some funds before the alpha release. Kickstarter is just about to allow projects from this country on November 13.

I'm still excited about making this and definitely going to keep working on it as much as I can either way. If a Kickstarter fails it'll just be a few days of wasted effort getting everything ready for it, although I'm loath to spend time doing anything not-making-the-game at the moment. I'm interested in what you guys think, because I'm not sure if I should try it or not. At least with a year(!) of full-time work already in the game, I'd have a decent amount to show and a decent guarantee that I'm not just an ideas guy.

Your game is one of my favorites that I've seen being developed around here, you should definitely run a KickStarter if you are so inclined. I think it would definitely stand out from the usual suspects on KickStarter and could get a lot of attention.

The Cheshire Cat
Jun 10, 2008

Fun Shoe
Is there a good resource out there for equations to create different kinds of growth or distribution curves? I have a small game idea I want to have more complex stat functions than just like "+1 str = +1 damage", but I don't really know exactly what I want it to do yet; something that shows a bunch of different graphs of common functions and the formulas used to make them would be ideal.

Zizi
Jan 7, 2010

The Cheshire Cat posted:

Is there a good resource out there for equations to create different kinds of growth or distribution curves? I have a small game idea I want to have more complex stat functions than just like "+1 str = +1 damage", but I don't really know exactly what I want it to do yet; something that shows a bunch of different graphs of common functions and the formulas used to make them would be ideal.

This is a really big topic and easier to answer with an idea of what you're trying to achieve. Ultimately, the approach taken is going to depend on those details, but otherwise it's pretty much being familiar enough with math to have an idea how various functions behave, and how to transform them.

That said, my favorite curve right now is a modified arctangent that I use for diminishing returns on stats used for rolls. It does a nice job of handling both buffs and debuffs and similar opposed effects.

Nition
Feb 25, 2006

You really want to know?

tehsid posted:

You are in the perfect position to do a Kickstarter. You have all of the ability, and you have it all in place, it just needs to be done. Getting it done = time and time = money. Kickstarter, or even early access pre-ordering, is a great way to do that and ideal for what you're after. I think with what you have now, even just the vehicle builder and fudged example gameplay you've shown, would almost be a Kickstarter enough. Doing a few environments to show off a style wouldn't hurt you first, but getting in on that first way of Australian Kickstarters wouldn't hurt you at all.

And it never hurts to try. So I say do it!

That's what I'm kinda thinking. I'd still do an early alpha release that people can buy into when it's done as well. That was the original plan, but this'd give me a bit more of a chance to get that done without just bleeding money away forever.

speng31b posted:

Your game is one of my favorites that I've seen being developed around here, you should definitely run a KickStarter if you are so inclined. I think it would definitely stand out from the usual suspects on KickStarter and could get a lot of attention.

Thanks. :)

tehsid
Dec 24, 2007

Nobility is sadly overrated.

Nition posted:

That's what I'm kinda thinking. I'd still do an early alpha release that people can buy into when it's done as well. That was the original plan, but this'd give me a bit more of a chance to get that done without just bleeding money away forever.


Thanks. :)

That's something you could offer up to say, "An early alpha demo will be available to all backers ("X") amount of time after the Kickstarter completes!"

Its another thing you can use to drive the campaign. Often giving playable content during a Kickstarter is a bad idea, from what I've come to understand, though.

The Cheshire Cat
Jun 10, 2008

Fun Shoe

Zizi posted:

This is a really big topic and easier to answer with an idea of what you're trying to achieve. Ultimately, the approach taken is going to depend on those details, but otherwise it's pretty much being familiar enough with math to have an idea how various functions behave, and how to transform them.

That said, my favorite curve right now is a modified arctangent that I use for diminishing returns on stats used for rolls. It does a nice job of handling both buffs and debuffs and similar opposed effects.

It's hard to describe because I'm not totally sure what I want either; it's why I'm trying to find visualizations of a bunch of different functions so I can compare them and decide what feels right.

The basic idea is that there are stats rated from 1-10 but their effectiveness is based in comparison to another opposing stat, with the difference being what matters. As I write this out I'm realizing that I can probably just use a bell curve of some form with the difference as X since it's meant to peak at 0 anyway. That said a good visualization of different statistical curves would still be helpful since I'm not sure I want it to reduce in effectiveness at the same rate in both the positive and negative directions. I may just have to use different equations for each case.

Nition
Feb 25, 2006

You really want to know?

The Cheshire Cat posted:

Is there a good resource out there for equations to create different kinds of growth or distribution curves? I have a small game idea I want to have more complex stat functions than just like "+1 str = +1 damage", but I don't really know exactly what I want it to do yet; something that shows a bunch of different graphs of common functions and the formulas used to make them would be ideal.

Not exactly what you want, but this site has an excellent collection of easing equations: http://www.robertpenner.com/easing

These are designed for tweening between frames so there's linear, bounce, ease in, ease out etc etc. They'd need to be adapted but all the equations at a basic level still describe different curves. For some reason although a lot of programs use the same easing methods, the actual equations for them seem to be quite hard to find, so I figure posting the site could be useful anyway.

It also has an easing function generator!

Cheston
Jul 17, 2012

(he's got a good thing going)
I've been trying to figure out what the scale and camera scope should be for the game I'm working on, so I looked at games with similar level design and noticed that "normal" rooms in Gunpoint and Mark of the Ninja are the same height (three times the height of a character), but that Mark of the Ninja's camera covers a ninth the area. It's pretty neat.

Has anyone here made 2D levels of buildings, or know of games similar to the above two that would be useful to look at? I don't have any jumping/wall-climbing, so there's no need for high ceilings, but I don't want the rooms to look tiny or crowded from a moderate camera distance. I'm gonna take a look at how Gemini Rue handled this, and more examples would be really helpful.

Zizi
Jan 7, 2010

The Cheshire Cat posted:

It's hard to describe because I'm not totally sure what I want either; it's why I'm trying to find visualizations of a bunch of different functions so I can compare them and decide what feels right.

The basic idea is that there are stats rated from 1-10 but their effectiveness is based in comparison to another opposing stat, with the difference being what matters. As I write this out I'm realizing that I can probably just use a bell curve of some form with the difference as X since it's meant to peak at 0 anyway. That said a good visualization of different statistical curves would still be helpful since I'm not sure I want it to reduce in effectiveness at the same rate in both the positive and negative directions. I may just have to use different equations for each case.

I was going to answer this with some links, but as I think about it, I think you're really asking several questions that don't necessarily all mesh together neatly, and any one of them is a big topic.

There's distributions, which describe populations of results, and are used for analysis. Using them for generating results is somewhat more complicated. For the most part, this affects how the random numbers you generate to check results come out when you do so. For example, a normal distribution used to generate random numbers will of course tend to produce results that are more consistently occurring around the mean value.

Then there's the question of success targets for those rolls, which can come from any number of mathematical functions, growth functions, or non-functional response curves of various sorts. Which is a pretty big topic.

And then there's growth curves, which get used for things like stat growth over levels, XP requirements and so on. These are usually exponential functions in some respect-- stat increases, for example, are often done with exponential roots (like square roots), while XP requirements may be quadratics or linear exponents. These are often also done with response curves and discrete lookup table approaches, depending.

There is a good chance that after I've slept on this question I'll have some completely different thoughts. This is usually the sort of thing that depends heavily on the details of the game, or that a game designer will have a favorite set of curves/functions in their toolbox just out of experience.

Adbot
ADBOT LOVES YOU

Fangz
Jul 5, 2007

Oh I see! This must be the Bad Opinion Zone!

Cheston posted:

I've been trying to figure out what the scale and camera scope should be for the game I'm working on, so I looked at games with similar level design and noticed that "normal" rooms in Gunpoint and Mark of the Ninja are the same height (three times the height of a character), but that Mark of the Ninja's camera covers a ninth the area. It's pretty neat.

Has anyone here made 2D levels of buildings, or know of games similar to the above two that would be useful to look at? I don't have any jumping/wall-climbing, so there's no need for high ceilings, but I don't want the rooms to look tiny or crowded from a moderate camera distance. I'm gonna take a look at how Gemini Rue handled this, and more examples would be really helpful.

Mark of the Ninja and Gunpoint are very different games in terms of what they are trying to do, or evoke. What sort of game are you making?

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