🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

What about 3d development can be simplified to make it more practical?

Started by
23 comments, last by nfries88 8 years, 3 months ago

Everybody knows that it's perfectly realistic to work on a 2d game by yourself. As long as you have the right set of skills you can do quite a lot.

However, what about 3d games? What can you simplify about certain areas of development that would make working solo or with a team of two or three more practical?

For example, on might create a visual-style that forgo's lighting and normal maps, mitigating the the time of dealing with those steps. Or, you might use blocky shapes, and instead focus on shaders to look good. That is to say, what are choices the developer can make about graphics, sound, programming, game design, etc, that make them more practical while still resulting in a good outcome? What are things that devs should avoid, or mistakes that beginners often make during their first project?

Also to be clear, I'd like to focus specifically on how to simplify processes. While outsourcing assets simplifies the process of "game development" as a process, I'm more interested in focusing on individual areas of development.

Advertisement

To give some examples, I know that a AAA style is more or less out of the question. Lighting, UV-maps, shaders; the less I'm dealing with any of that the better.

Once I got into shaders only about a year ago, I've found them surprisingly less scary than I imagined them to be (just focus on fragment and vertex shaders at first, and ignore the other types of shaders until you get a grasp on those primary two). Shaders are just small chunks of scripting/code that run on the videocard (like callback functions) at certain stages when the videocard is doing its regular magic. You already know how to program - shaders are just a small function or two write in a different (but very similar) language, like a scripting language.

Now, that doesn't mean "AAA style" is in reach, because one of the big issues there is the vast quantity and high quality of the art assets. But I think you'll find that if you explore shaders a little, you'll be able to improve the visual quality of your game in dramatic ways with little effort. That is to say, whatever level of quality your art assets are, basic shaders can improve it. If you have basic art, basic shaders are better than no shaders. If you have good art, basic shaders can still improve things. If you have great shaders, they improve it alot more.

You may even find that it's easier for you to write great shaders than it is for you to make great art, so [poor art + good shader = nice result] may be more viable for you than [good art + poor shader = nice result].

Of course [good art + good shaders = better result] is closer to ideal, even if you can't reach [great art + great shaders = excellent result] that the AAA studios do.

Other things you can do is making your game less content heavy through smart reuse (simple colors and the likes) or by designing you game around it, e.g. by making it a multiplayer game.

To give some examples, I know that a AAA style is more or less out of the question. Lighting, UV-maps, shaders; the less I'm dealing with any of that the better.

Once I got into shaders only about a year ago, I've found them surprisingly less scary than I imagined them to be (just focus on fragment and vertex shaders at first, and ignore the other types of shaders until you get a grasp on those primary two). Shaders are just small chunks of scripting/code that run on the videocard (like callback functions) at certain stages when the videocard is doing its regular magic. You already know how to program - shaders are just a small function or two write in a different (but very similar) language, like a scripting language.

Now, that doesn't mean "AAA style" is in reach, because one of the big issues there is the vast quantity and high quality of the art assets. But I think you'll find that if you explore shaders a little, you'll be able to improve the visual quality of your game in dramatic ways with little effort. That is to say, whatever level of quality your art assets are, basic shaders can improve it. If you have basic art, basic shaders are better than no shaders. If you have good art, basic shaders can still improve things. If you have great shaders, they improve it alot more.

You may even find that it's easier for you to write great shaders than it is for you to make great art, so [poor art + good shader = nice result] may be more viable for you than [good art + poor shader = nice result].

Of course [good art + good shaders = better result] is closer to ideal, even if you can't reach [great art + great shaders = excellent result] that the AAA studios do.

Well, my intention by avoiding shaders and bump/normal-mapping is simply to take as many steps out of the process as possible. I know that I could make one model with plenty of fluff, but it increases the development time by a lot to do the same thing for every enemy and object, and make a world that matches. With shaders, you need to make maps for each model so that they work correctly, or at least in a way that works well. If you just stick a cell shading shader on a character, it doesn't really look too good. (I could just be wrong about how long normal maps take though). Even that one extra step could mean a lot if it's x30 times.

At least, that's the way I see it. If you've ever played Megaman Legends, that's essentially the kind of style I'd be shooting for, abeit higher poly. Simple drawn cell-shaded textures, and pixel art textures for the environment. There would probably be simple lighting in the environment simply to make depth more obvious, but character's wouldn't be effected by normal lighting.

You can find or cheaply buy premade models that are textured, rigged, animated, etc.

If you're avoiding normal maps, you're avoiding the wrong part of the art creation process. Professional artists don't usually paint those by hand; they're mostly all automatically generated by the artist's tools.

And of course your characters will be affected by the lighting, cel-shading or not (cel-shading is still *shading* and still requires light calculations... and the screenshots of Megaman Legends are _definitely_ lit and... definitely not cel-shaded, at least not on the main character).

Of course, you just drop all the basic art assets into a Unity or Unreal game and you get all the graphics math done for you and you can concentrate on the hard parts of making a game that you're overlooking (making a fully modeled, painted, rigged, and animated character; designing and implementing all the gameplay; actually finishing a project instead of getting bored and quitting two months into it; etc.)

Sean Middleditch – Game Systems Engineer – Join my team!

You can find or cheaply buy premade models that are textured, rigged, animated, etc.

If you're avoiding normal maps, you're avoiding the wrong part of the art creation process. Professional artists don't usually paint those by hand; they're mostly all automatically generated by the artist's tools.

And of course your characters will be affected by the lighting, cel-shading or not (cel-shading is still *shading* and still requires light calculations... and the screenshots of Megaman Legends are _definitely_ lit and... definitely not cel-shaded, at least not on the main character).

Of course, you just drop all the basic art assets into a Unity or Unreal game and you get all the graphics math done for you and you can concentrate on the hard parts of making a game that you're overlooking (making a fully modeled, painted, rigged, and animated character; designing and implementing all the gameplay; actually finishing a project instead of getting bored and quitting two months into it; etc.)

I don't think you could normal map a face automatically with low res models in a way that looks good. But then again, I know jack all about it.

In Megaman Legends the textures/shadows on characters are pixel art, and drawn, which is what I'm referring to. I meant cell shaded as in the aesthetic style of 2-3 tone flat colors using pixel art or otherwise, as opposed to a shader that effects lighting. The environments are lit, but it's pretty basic, and just to show depth. MML2 appears do some lighting with the characters as some of the screenshots have colors with a slight gradient, but I can't say what it is specifically. I'd be aiming for flat colors anyway.

Unity certainly isn't going to do graphical work automatically in any way that's graphically acceptable, everything takes some degree of tweaking and work. And no, I'm not overlooking any of the other stuff you mentioned. That's just stuff that's necessary to development, and I'd be more interested in how to simplify those processes the same way I aim to simplify visuals.

Shaders don't require additional art creation. They can use additional art if you provide it, but you can write a 20 line shader function that improves the quality of your art without requiring additional input, or with only requiring input generated at run-time using your existing art.

For example, instead of normal maps as input, you can still use vertex normals generated from your existing models' triangles, and feed those to the shaders. Normal maps are only for per-pixel shading, but interpolated per-vertex shading can look nice also, especially with minimalistic 3D models.

It's pretty simple, speaking as someone who is new to shaders and bad at math. But it looks scary or complex from the outside. Even the term "interpolated per-vertex shading" sounds scary, but it's three lines of regular code, one line of shader code, and the rest happens automatically! And they aren't complex or mathy lines of code either.

I'm making a 2D game with pixel art and such, but when I found out exactly how awesome and easy shaders, and realized I could use my strengths (programming) to offset my weaknesses (art), I've started embracing shaders alot. And my artwork workload hasn't increased - I still make my art how I already was making my art before using shaders.

Certainly, people write complex shaders to do amazing things, but even basic shaders can make impressive improvements, and are worth at least exploring.

Shaders don't require additional art creation. They can use additional art if you provide it, but you can write a 20 line shader function that improves the quality of your art without requiring additional input, or with only requiring input generated at run-time using your existing art.

For example, instead of normal maps as input, you can still use vertex normals generated from your existing models' triangles, and feed those to the shaders. Normal maps are only for per-pixel shading, but interpolated per-vertex shading can look nice also, especially with minimalistic 3D models.

It's pretty simple, speaking as someone who is new to shaders and bad at math. But it looks scary or complex from the outside. Even the term "interpolated per-vertex shading" sounds scary, but it's three lines of regular code, one line of shader code, and the rest happens automatically! And they aren't complex or mathy lines of code either.

I'm making a 2D game with pixel art and such, but when I found out exactly how awesome and easy shaders, and realized I could use my strengths (programming) to offset my weaknesses (art), I've started embracing shaders alot. And my artwork workload hasn't increased - I still make my art how I already was making my art before using shaders.

Certainly, people write complex shaders to do amazing things, but even basic shaders can make impressive improvements, and are worth at least exploring.

Hmm..I'll have to look into normals more, and the ways in which people make them look good with low-poly models. The main problem I had the last time I messed around with it was jaggy shadows, and I thought normal maps were the only solution, but if there's a way to get around that without too much extra work then I'd have no problem with flat drawn textures + cell shaded characters. I liked the kinds of things that could be done with ramps, when I was trying stuff. I feel like cell shading gets a bad wrap because so many people do it poorly without knowing anything about color theory.

Other than lighting/shadows on characters, I don't think I would make a shader heavy game, though. Part of the reason why I mentioned MML is because I like how clean it looks, and the pixel art/tileset style environments would make the shift from 2d to 3d much easier, since it would be utilizing the same skills. That said, texturing characters with drawn shading is probably more time consuming than a cell-shading shader, so long as the method of getting normal to work is simple.

The shader discussion is definitely good for imrpoving the looking. As far as the assets themselves, honestly, Unity Asset Store and OpenGameArt.org

It does limit what you can do (unless you're going for generic fantasy / horror / scifi) but it can cut out on the amount of assets needed A LOT, especially if you spend some time researching and make some artistic compromises.

There's also a lot of ways you can creatively cheat and reuse assets. Here's an article from our own game: How we Recreated All Character Models from Scratch in Two Weeks
Comrade, Listen! The Glorious Commonwealth's first Airship has been compromised! Who is the saboteur? Who can be saved? Uncover what the passengers are hiding and write the grisly conclusion of its final hours in an open-ended, player-driven adventure. Dziekujemy! -- Karaski: What Goes Up...

The shader discussion is definitely good for imrpoving the looking. As far as the assets themselves, honestly, Unity Asset Store and OpenGameArt.org

It does limit what you can do (unless you're going for generic fantasy / horror / scifi) but it can cut out on the amount of assets needed A LOT, especially if you spend some time researching and make some artistic compromises.

There's also a lot of ways you can creatively cheat and reuse assets. Here's an article from our own game: How we Recreated All Character Models from Scratch in Two Weeks

I mean, buying assets sort of goes beyond the boundary of working on a game alone. It goes without saying that working in a team or outsourcing stuff will be easier, however this is more about ways to simplify development as opposed to..avoiding it lol.

This topic is closed to new replies.

Advertisement