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
Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!

Paniolo posted:

For a 2D topdown game with irregular geometry I would use a quadtree instead of a grid. The world's still divided up into squares, but only to the extent that's needed to accurately represent the collision geometry. So you can get pixel accuracy where needed without needing to store a pixel-level grid for the entire world. It's also easy to dynamically add and remove geometry.

There's no reason to use a navmesh for a 2D game. The only reason for using one is to allow layered geometry in levels (rooms on top of other rooms, bridges, etc.) and it is significantly more complex, which is one reason most early 3D games simply didn't allow layered geometry.

I thought a navmash was a label for a graph that a character could traverse. If you are using a quadtree to designate wide areas for traversal, how is that not a navmesh?

Adbot
ADBOT LOVES YOU

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!
Separate question. If I draw a trianglelist with a vertexbuffer and indexbuffer in XNA, does it matter in which order I add the triangles to the indexbuffer?

I am NOT asking if it matters which order the vertices are added. I know that winding order is very important.

I am asking if it matters which order I have the triangles in the indexbuffer.

MasterSlowPoke
Oct 9, 2005

Our courage will pull us through
It shouldn't matter.

haveblue
Aug 15, 2005



Toilet Rascal

Pfhreak posted:

Separate question. If I draw a trianglelist with a vertexbuffer and indexbuffer in XNA, does it matter in which order I add the triangles to the indexbuffer?

I am NOT asking if it matters which order the vertices are added. I know that winding order is very important.

I am asking if it matters which order I have the triangles in the indexbuffer.

No, not really. The only cost to a suboptimal (i.e. totally random) order is a tiny amount of performance from poor caching, but there is no "wrong" order that will seriously break things.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

haveblue posted:

The only cost to a suboptimal (i.e. totally random) order is a tiny amount of performance from poor caching, but there is no "wrong" order that will seriously break things.
D3DX comes with a function for optimizing them anyway:

http://msdn.microsoft.com/en-us/library/bb174072%28VS.85%29.aspx

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!
Another question: I've got my heightmaps working, generated by the Diamond-Square algorithm, and smoothed with some basic box smoothing. Nice rolling hills, but pretty useless from an actual gaming standpoint. I'm working on a simulation game a la dwarf fortress/evil genius, and I'm trying to figure out if I should bother with random map generation.

It seems like getting a heightmap generated that has wide flat areas, realistic transitions, and a decent sense of flow would be pretty hard. Are there any ways of improving the playability of a randomly generated heightmap? The only one I can think of is to do some sort of 'clumping' algorithm where I pick a point on the heightmap and do a walk outwards from some point, flattening as I go.

The other part of me thinks that I should just shelve random maps for now, get myself a decent level, and trust that should I ever actually finish this project, other people will contribute levels.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Pfhreak posted:

It seems like getting a heightmap generated that has wide flat areas, realistic transitions, and a decent sense of flow would be pretty hard. Are there any ways of improving the playability of a randomly generated heightmap? The only one I can think of is to do some sort of 'clumping' algorithm where I pick a point on the heightmap and do a walk outwards from some point, flattening as I go.
I'd recommend reading this:
http://oddlabs.com/download/terrain_generation.pdf

Hubis
May 18, 2003

Boy, I wish we had one of those doomsday machines...

Pfhreak posted:

Another question: I've got my heightmaps working, generated by the Diamond-Square algorithm, and smoothed with some basic box smoothing. Nice rolling hills, but pretty useless from an actual gaming standpoint. I'm working on a simulation game a la dwarf fortress/evil genius, and I'm trying to figure out if I should bother with random map generation.

It seems like getting a heightmap generated that has wide flat areas, realistic transitions, and a decent sense of flow would be pretty hard. Are there any ways of improving the playability of a randomly generated heightmap? The only one I can think of is to do some sort of 'clumping' algorithm where I pick a point on the heightmap and do a walk outwards from some point, flattening as I go.

The other part of me thinks that I should just shelve random maps for now, get myself a decent level, and trust that should I ever actually finish this project, other people will contribute levels.

It seems like to get Diamond-Square to do what you want it to do, you have to have a "meta-generator" that is modifying the random factor at each point as well -- so you're generating a "height" map and a "roughness" map. I'd also suggest looking into some more advanced filtering/erosion post-pass, as OneEightHundred suggested.

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!

OneEightHundred posted:

I'd recommend reading this:
http://oddlabs.com/download/terrain_generation.pdf

Exactly what I was looking for. It's going to be a fun weekend. :D

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
You probably want erosion regardless because it has a tendency to solve a major issue with randomly generated terrain, which is the tendency for ridges to be created that block progression. Erosion has a tendency to create pathways that improve map navigability.

Plus, you you can do things like track the erosion and use to determine what surfaces are like (i.e. rockier where erosion occurs, sandier at deposit sites).

Also Perlin noise tends to be the preferred way of getting a good base terrain these days.

Pfhreak
Jan 30, 2004

Frog Blast The Vent Core!

OneEightHundred posted:

Plus, you you can do things like track the erosion and use to determine what surfaces are like (i.e. rockier where erosion occurs, sandier at deposit sites).

Also Perlin noise tends to be the preferred way of getting a good base terrain these days.

Neat, I'll have to see about playing with that. What is it about generating Perlin noise that makes it superior?

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Perlin noise uses a spline interpolator instead of a linear interpolator, so it's easy to start at arbitrary resolutions instead of 3x3. Main advantages are less extreme phenomena from early generator iterations, more flexibility (since you can add noise at any frequency instead of just powers of 2), and features tend to have a more arbitrary shape instead of the more diamond-shaped aggregations you tend to get with a linear interpolator.

demota
Aug 12, 2003

I could read between the lines. They wanted to see the alien.
Anyone out there with web development skills interested in working on a game? It's for the Apps for Healthy Kids contest, part of Michelle Obama's "Let's Move!" campaign to end childhood obesity. I'm on a team, and we're looking to build a web game similar to Kingdom of Loathing. We've got pretty much every role we need, but our programmers are asking for more help. We're all volunteers and doing this online, but we're getting a lot done. Development is going at a pretty fast pace, specific tasks are being handed out, and we're establishing and meeting milestones. Here's a sample of the work that's been done.



Details: This is a small group trying to make a browser game in a LAM(PHP) environment with HTML and CSS. You'll be assisting or taking point (based on experience) on developing a browser based game similar to Kingdom of Loathing. We are looking for people who can help build this from this from the bottom up. Experience with web development isn't neccesary if you're willing to learn and put in the effort.

demota fucked around with this message at 02:16 on Mar 30, 2010

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh

demota posted:

Anyone out there with web development skills interested in working on a game?

Can you provide some information about the architecture and what roles you're looking for (e.g. content programmers)? You'll probably get a better response when people know if they're able to contribute or not.

demota
Aug 12, 2003

I could read between the lines. They wanted to see the alien.

Avenging Dentist posted:

Can you provide some information about the architecture and what roles you're looking for (e.g. content programmers)? You'll probably get a better response when people know if they're able to contribute or not.

Asked one of the tech guys and edited. Thanks for the advice. :)

Paniolo
Oct 9, 2007

Heads will roll.

demota posted:

Anyone out there with web development skills interested in working on a game? It's for the Apps for Healthy Kids contest, part of Michelle Obama's "Let's Move!" campaign to end childhood obesity. I'm on a team, and we're looking to build a web game similar to Kingdom of Loathing. We've got pretty much every role we need, but our programmers are asking for more help. We're all volunteers and doing this online, but we're getting a lot done. Development is going at a pretty fast pace, specific tasks are being handed out, and we're establishing and meeting milestones. Here's a sample of the work that's been done.

A little off topic, but isn't it a bit ironic to create a web-based MMORPG for a campaign to get kids to spend less time on the Internet and more time outside?

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
Which value of 'P' are you using in your LAMP stack?

demota
Aug 12, 2003

I could read between the lines. They wanted to see the alien.

Otto Skorzeny posted:

Which value of 'P' are you using in your LAMP stack?

PHP

Paniolo posted:

A little off topic, but isn't it a bit ironic to create a web-based MMORPG for a campaign to get kids to spend less time on the Internet and more time outside?

Oh, yeah. Totally aware of it. I'm aiming for moderation. A game people play each day, but for a limited time. Fairly light, relatively limited in number of turns per day, and a reward system in place for not just learning stuff, but actually implementing it.

demota fucked around with this message at 01:53 on Mar 30, 2010

Contero
Mar 28, 2004

I get the feeling I must be basically retarded when it comes to finding free game assets like models and textures and sounds. I remember someone saying to search creative commons but I can't seem to come up with anything even remotely useful.

Let's say I need a textured 3d model of a spaceship and there wasn't anything usable at tubrosquid or any of the other obvious places. Where do I go? What do I search for?

AntiPseudonym
Apr 1, 2007
I EAT BABIES

:dukedog:

Contero posted:

I get the feeling I must be basically retarded when it comes to finding free game assets like models and textures and sounds. I remember someone saying to search creative commons but I can't seem to come up with anything even remotely useful.

Let's say I need a textured 3d model of a spaceship and there wasn't anything usable at tubrosquid or any of the other obvious places. Where do I go? What do I search for?

You've got a few options, although they all have their problems:

- Look at pre-packaged 'game creator' suites that include model libraries, or have a look around their communities. Note that they'll pretty much all look like early-2000s-style rear end, though. You'll probably have to invest a small amount (Probably less that $100), but it's the easiest way to get a wide variety of game-ready meshes. You'll probably be able to use these in a public release as well, although make sure you check the licenses. Oh, and make sure you do some research beforehand to make sure they're in a format that you're able to convert/use in your engine so you don't get left out of pocket.

- Rip assets from other games and/or mods. Of course, if you're planning on a public release then obviously don't do this, but if you just want the game to look nice during development and want some game-appropriate test data, then there's really no reason to avoid it. There are plenty of guides, scripts, libraries and plugins to rip, convert and load most game formats out there. A good idea is to keep all of this stuff under a specific directory (Called Placeholder or something) that you can delete straight out before doing a release; that way you won't have to worry about accidentally including someone elses work and getting smacked with a cease & desist.

- Go to sites like Polycount and have a look through their SDK threads. However if you're doing a public release, make sure you get the original modelers/texturers permission first. Make sure to keep a list of credits somewhere if you do this.

- A lot of tutorials and tech demos can be a good source of easily-attainable models, but yet again, ask for permission before releasing anything.

Of course, the two more long term and malleable options are:

- Find someone to model for you. Even if it's someone that's still learning the basics, you'll at least be able to get them to tailor the model to your needs rather than having to go with 'close enough' meshes that don't look anything like what you actually need. Go around some Mod and modeling forums and see if anyone's interested in joining, although you probably won't get many/any bites until you actually have something to show (Or pay).

- Learn how to do modeling yourself. Even if you're just flying around a couple of boxes with a metal texture on them, they'll work well enough for placeholders to start getting some real artists interested. The basics of Blender, 3DS Max or Maya should take you a weekend to learn at most, and it can be pretty fun to learn, too!

AntiPseudonym fucked around with this message at 17:12 on Mar 30, 2010

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?
Is it just me, or is Blender's interface really annoying? It took me forever to texture a simple cube. All the tutorials I've found online seem to be out of date, and Blender likes to change things somewhat radically between releases it seems. Anyone know of any up-to-date tutorials for version 2.49?

Scaevolus
Apr 16, 2007

HappyHippo posted:

Is it just me, or is Blender's interface really annoying? It took me forever to texture a simple cube. All the tutorials I've found online seem to be out of date, and Blender likes to change things somewhat radically between releases it seems. Anyone know of any up-to-date tutorials for version 2.49?

It's not just you. Blender is infamous for its terrible interface, despite what rabid open-source apologetics say.

It's a shame Autodesk canceled Maya Personal Learning Edition. :smith:

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
Pretty much all of the 3D editing packages have extremely counter-intuitive interfaces. Actually Flash does too, I seriously have no idea how artists make anything.

Contero
Mar 28, 2004

Scaevolus posted:

It's a shame Autodesk canceled Maya Personal Learning Edition. :smith:

I don't understand Maya and Photoshop's pricing for this reason. I'm almost certain that 90% of their sales are in volume licences with actual businesses, not off the shelf purchases. So why not sell an off the shelf non-commercial version for <$100? Unless you have an insane amount of disposable income your options are either :filez: or use a competing product. It's a shame blender and gimp are such a steaming piles of poo poo.

Basically marketing and sales people are retarded.

Edit:

AntiPseudonym posted:

You've got a few options, although they all have their problems:

Thanks a lot for writing this up. I've definitely been taking the route of teaching myself lately.

Contero fucked around with this message at 01:15 on Mar 31, 2010

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Contero posted:

I don't understand Maya and Photoshop's pricing for this reason. I'm almost certain that 90% of their sales are in volume licences with actual businesses, not off the shelf purchases. So why not sell an off the shelf non-commercial version for <$100?
Some products like Office can see consumer versions when there's enough demand for it, but Photoshop CS, Final Cut Pro, Maya, AutoCAD, etc. are not consumer products. Anybody who's learning them has either pirated it, or is using a school copy.

I think there's also some concern over businesses that have a problem flat-out pirating software, but have fewer qualms with violating EULAs by using "lite" versions commercially, which is more serious of an issue than hobbyist piracy.

OneEightHundred fucked around with this message at 02:29 on Mar 31, 2010

Avenging Dentist
Oct 1, 2005

oh my god is that a circular saw that does not go in my mouth aaaaagh
Adobe has all but said that they don't really care about home users pirating their stuff (obviously they can't actually say this for legal reasons).

AntiPseudonym
Apr 1, 2007
I EAT BABIES

:dukedog:

OneEightHundred posted:

Pretty much all of the 3D editing packages have extremely counter-intuitive interfaces. Actually Flash does too, I seriously have no idea how artists make anything.

I quite like 3D Studio MAXs interface, it's probably the most intuitive I've used next to XSI. Then again I've been using MAX for about 10 years now, so I might be a little biased, but even when I was learning it only took me a weekend to get up and modeling. Mudbox is also about as simple as you can get such a powerful program.

However Maya, Blender and ZBrush can all go sit as far as I'm concerned.

Le0
Mar 18, 2009

Rotten investigator!
What would be a good starting point for 3d programming? I've done only very little quite a few years ago (mostly openGL) and it was some basic stuff like loading an height map etc...

I'm looking to get back into game programming and started by doing a Tetris, and now I think I'll go with a few more 2D games before going back to 3D.

Also do you guys have any books worth reading about game programming? Not necessarily about 3d though.

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

Le0 posted:

What would be a good starting point for 3d programming?
Well, assuming you want to get back into OpenGL stuff, this tutorial got linked in the 3D programming megathread a few days back and it's shaping up to be pretty good.

PDP-1
Oct 12, 2004

It's a beautiful day in the neighborhood.

Le0 posted:

What would be a good starting point for 3d programming? I've done only very little quite a few years ago (mostly openGL) and it was some basic stuff like loading an height map etc...
If you are OK with using DirectX and C#, the XNA framework is free and has a lot of tutorials/books/forums support. There are direct tutorials for both 2D and 3D applications. The default game template also configures everything into a working baseline state that you can modify to your liking which is often easier to learn from than trying to build up a graphics engine from scratch.

danishcake
Aug 15, 2004
Can anyone help me with a coordinate transform that is confusing me.

I have a position specified as a latitude and longitude, and an azimuth/elevation (relative to north and the plane of the horizontal (eg orthogonal to vector from centre of earth). I would like to transform this to a vector in earth centred cartesian coordinates. Finding the starting position is easy enough (code 'paraphrased')

code:
start.x = KRE * cos(lon) * cos(lat);
start.y = KRE * sin(lon) * cos(lat);
start.z = KRE * sin(lat);
Finding the endpoint is harder - I need to transform the az/el into a vector
code:
v.x = cos(azel.az) * cos(azel.el);
v.y = sin(azel.az) * cos(azel.el);
v.z = sin(azel.el)
and rotate it to the correct lat/lon, and add that to the start point. The rotation is the stage where I fall down. Does anyone know the correct rotation matrix to do this?

I can't change the coordinate systems involved as it is working with existing software, and the purpose is to obtain a lat/lon/alt for the endpoint.

Le0
Mar 18, 2009

Rotten investigator!
Thanks for the links guys, that OpenGL tutorials looks really good.

I'll take a look at XNA/C#, long time since I've done any C# so I'll have to check

DreadCthulhu
Sep 17, 2008

What the fuck is up, Denny's?!
So just out of curiosity, do we have a goon thread where devs can find each other to collaborate on projects? I was thinking this thread would be a good start, but I don't know if artsy fartsy / soundy people ever drop by here and it's just us codemonkeys?

BizarroAzrael
Apr 6, 2006

"That must weigh heavily on your soul. Let me purge it for you."
Could anyone offer some insight into implementing an achievement system? I want to record a lot of achievements but want to implement it in a way that won't get too messy or resource-intensive. Obviously the difficulty of implementing any given achievement can vary, I can have scripted moments that award them for things like reaching a certain point or getting some score high enough, whilst others, for very specific tasks that can happen at any time, might be more difficult.

Say I wanted to implement something like the achievements in Team Fortress 2, I would want to award an achievement for a Demoman player getting two kills whilst doing a stickybomb jump. Seems to me I would need to start a check every time a demoman does a stickyjump to count the number of kills until he lands again. But should I just allow this check to keep being made after the achievement is run, or would it be more efficient to periodically run a check of eligible achievements that have not been won, and check if their criteria have been met, so that the checking process doesn't need to run after the achievement has been found? But then I'm concerned that performance will suffer early on, only improving when a lot of achievements are taken.

I know this sort of thing can depend on a lot of things, but I wanted to get some feedback before I spend ages making a system to implement tonnes of achievements to find it needs to be completely re-worked. Or do you think my concerns about performance are unfounded? It's for a prototype/proof of concept and I'm not sure what I'm using yet (either UDK, C#/XNA or Flash most likely right now)

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
You probably want things important to achievements to raise events and have the achievement manager deal with them.

Mustach
Mar 2, 2003

In this long line, there's been some real strange genes. You've got 'em all, with some extras thrown in.

DreadCthulhu posted:

So just out of curiosity, do we have a goon thread where devs can find each other to collaborate on projects? I was thinking this thread would be a good start, but I don't know if artsy fartsy / soundy people ever drop by here and it's just us codemonkeys?
There's a thread in Games that could possibly help you. Scratch that — the OP says not to use it to start projects.

Vinterstum
Jul 30, 2003

BizarroAzrael posted:

Could anyone offer some insight into implementing an achievement system?

Since an achievement system can potentially have quite a lot of potential possible achievements, go completely event-based. No periodic checking for anything, and use as granular events as possible. Since the things that achievements can be can be very varied, you probably want some sort of embedded scripting in there as well.

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?
Does anyone have any experience with K-3D? I'm trying to find alternatives to Blender. I really only need very simple models for a game I'm working on, and I'm getting pretty sick of trying to use Blender, especially when it comes to adding textures. I can't seem to find any up-to-date tutorials.

Foiltha
Jun 12, 2008

HappyHippo posted:

Does anyone have any experience with K-3D? I'm trying to find alternatives to Blender. I really only need very simple models for a game I'm working on, and I'm getting pretty sick of trying to use Blender, especially when it comes to adding textures. I can't seem to find any up-to-date tutorials.

Do you need to animate the models? If not, Wings 3D (http://www.wings3d.com/) is a pretty slick modeler once you get the hang it. Or you might do the modeling in Wings, then export and do the animations in Blender.

Adbot
ADBOT LOVES YOU

HappyHippo
Nov 19, 2003
Do you have an Air Miles Card?

Foiltha posted:

Do you need to animate the models? If not, Wings 3D (http://www.wings3d.com/) is a pretty slick modeler once you get the hang it. Or you might do the modeling in Wings, then export and do the animations in Blender.

I don't need any animation, I'll check it out.
Although it seems like I might be figuring Blender out, finally.

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