Yes, if you want more normals, you have to have vertices to match them. Each face has it's own set of vertices. In some file formats like OBJ, since the positions are the same, it won't duplicate them in the file, but when drawing it will indeed duplicate them, but with different normals. So what you are getting is perfectly normal, as the edge split is taking those faces and splitting them up. If you remove duplicates like that(after applying the edge split modifier) you basically cancel the results of the modifier, and each vertex gets shared onto 3 faces, but then you only one normal, which is not what you want in this case. Also, there is no reason to apply the edge split modifier in most cases, rather you just leave it on the object. Upon export, it applies the modifier for you, so you don't have to do it, making it easier to model things, for when you want more than just a cube.
kburkhart84Member Since 30 Jun 2004
Offline Last Active Yesterday, 11:07 PM
- Group Members
- Active Posts 1,243
- Profile Views 3,446
- Submitted Links 0
- Member Title Member
- Age Age Unknown
- Birthday Birthday Unknown
Posted by kburkhart84 on 21 November 2013 - 12:04 PM
It is all about game fairness. If your player loses, it should be his own fault. How many times have you died in a game(not stealth type either) simply because you couldn't react to an enemy or obstacle quick enough? Did it feel fair to you?
For example, you will notice in faster moving games, if they did it right, the camera could actually show more ahead than behind, simply so you have more time to see what is coming as you move. Since you are moving faster in that direction, most likely what is behind isn't near as important since you are likely outpacing it, while what is ahead is much more important. If you slow down or stop, than the camera should recenter you considering that what is behind has more chance to catch up, and because you no longer as far of a view distance ahead since you are slower or stopped at this point. Note that the above applies as well in top-view as it does in side-view.
Posted by kburkhart84 on 19 November 2013 - 09:54 PM
Unity just recently added full 2d support:
When I choose rph_"Build and Run" under Windows Store Apps I can select "D3D11 C++ solution" and get a full solution file that I can pull up and edit in VS 2013, haven't looked at it closely though, could be a completely garbled mess...
Hmmm, the 2d support doesn't mean that they remove the overhead from the 3d side of things, rather it at the moment is kind of a tacked on thing. It may get better eventually, but for 2d, GMStudio is still much better if you don't need the 3d stuff.
About the C++ project, that is news to me. My question then would be though, how much of the engine gets output to that C++ project? I would assume you don't have any access to the internals to the Unity Engine itself, rather they would be gettin gcalled externally though precompiled files(like DLLS). Also, Unity sells a separate source license to the engine, so it wouldn't make much sense to allow the source to so easily be used.
I think that the purpose of this C++ project is to allow you to compile the game, but probably not for modifying afterwards, rather just to compile. It may be that instead of trying to call the compiler etc... themselves, they spit out a project and make you compile it. That doesn't mean that the project is very easily modifiable. For example, the normal exports spit out a "runner" executable, and every class(script, etc...) gets put into a "Mono DLL" of sorts. It may be something similar happening here. On the other hand, I could be completely wrong.
In any case, I would also think that by using the C++ to finish the project(as in not just compile, but actually program) the game would be a waste. The point of using Unity for many people is the ease of development, for a single platform, and moreso for multiple platforms. By editing the C++ project(assuming I'm wrong about the above paragraph), you are losing that benefit. Also, you wouldn't be able to use those changes on other platforms later if you wished to port. Unity(and GMStudio) make things so easy to port to different platforms, that you really wouldn't want to lose that, even if you don't plan on using the other exports now, as you never know how successful your game could be.
Posted by kburkhart84 on 19 November 2013 - 08:24 PM
I don't think you will be able to use Unity quite in the way you intend. As far the game concept, it can handle it. I think GameMaker Studio would be a better fit though considering it is more meant for 2d games, whereas Unity has some overhead for 3d which is a waste for most 2d games, with exceptions of course.
The problem is that with both of these engines, the software expects to be there from beginning to end. You don't "export" a C++ project that you finish, rather you finish the project in said software and then export it as is, with the help of some outside software more often than not, like XCode for Mac/iOS, Eclipse for Android(or just the Java SDK, etc...). Windows software also has it's things you need, though in some cases, you don't exactly need it because the games are actually "runners" or "players" with your whole game and data outside of the executable. This varies of course with the engine, and even the settings in the engine. For example GM Studio has both the "runner" setup, which works on windows without needing anything else as it already comes with the executable code compiled. You can also use the "compiler" which has a dependency on Visual Studio, but then gets fully compiled instead of interpreted with a runner. In any of these cases, you don't end up with C++ that you compile yourself, so it won't work the way you are expecting.
There is nothing to stop you from coding things from scratch yourself, and you would end up with the most control that way. But, you sacrifice the easy portability that both Unity and GM Studio give you.
Posted by kburkhart84 on 19 November 2013 - 03:03 PM
I think you are looking for "flat" versus "smooth" shading. Also, the edge split modifier would likely give you this result.
Posted by kburkhart84 on 18 November 2013 - 01:18 PM
Well, just to clarify, a cavity map is kind of like the AO map, but it is for smaller details. It can be used in combination with other channels to add detail to the diffuse for example. You could also use it to create a "glow" texture that some engines can use, making an object that glows on the inside, or the opposite, glows all over except for those lines.
Well, my honest opinion is that either you learn how to do these things yourself, or you pay someone to do them. About doing it yourself, you could use Blender. The first question is, do you have the 150K Poly OBJ AND the lower poly version, or just the higher poly version?? If you have both, then you could simply open up Blender, import both models, and BAKE the normal map yourself.
The cavity map was generated from the normal map most likely, but in the process it loses details I would think, so going back from the cavity map to normal map wouldn't be viable in my opinion. Honestly, I don't see why you don't scale down the normal map as it is if you can't recreate it. The detail that you might lose you were going to lose anyway due to using a lower resolution. I don't know about things not being normalized anymore either, though I could be wrong about that. Maybe if you compare the results of different scaling filters you can get different results.
About the spec map, I don't know of any technique but to get in there and fix it yourself. There are programs for 3d painting that can paint directly to the spec map, and I think Blender can do it to, but you would have to learn the software, which is something you don't appear to want(or have time) to do at the moment.
The closest thing to generating these maps would be CrazyBump. I don't remember which all maps it generates, but sometimes the results are pretty good, and there are settings for you to tweak the shape of things. All it takes is the diffuse map and it generates at least that I remember a bump and normal map, and I think either a spec or AO or both, but there are like 5 maps it exports for you. It has a trial version you could get as well.
Lastly, I think ZBrush also has a trial version. It may be limited, but if it allows you to export at the least, you could open up the zbrush file and export higher and lower poly models, and then procede to create your maps in Blender like I suggested above, or if the trial is less limited than that, you could do those things there as well.
Posted by kburkhart84 on 10 November 2013 - 02:48 PM
Well, I'd say in a sense it is indeed a tried and true system. For example, Cave Story and Spelunky did this. But, instead of resizing the assets for use directly, you are likely better off resizing at game time, taking advantage of modern systems. I'd keep the graphics at 16x16 and then upscale them via some sort of screen scaling, either as a render texture, or something else, depending on your game engine. For example, if you are using GameMaker Studio(or a slightly older version), you can simply use viewport settings to make a 256x192 viewport fill the screen, stretched, or not, either full screen, or a mulitple of the original resolution.
There are multiple reasons for this. One, it is quicker to draw small and upscale then to the size you need. Also, you are designing for a smaller resolution so it can be ported to mobile, etc... if you wish. You are indeed winning on performance here. If you are interested in desktop, you also have access to newer video cards, and so you have access to shaders, etc... So if you draw your smaller game to a texture, you can then draw that texture full screen(or simply scaled) and apply nice shaders to it in the process, like scanlines, color variation, etc... to get the retro feel. I actually saw an article that Yu Derek had done, explaining these things you can do.
My recommendation is to use a nice game engine of sorts. GameMaker Studio is great, but you lose a bit of control, and you have to pay for the full(better) versions as well. You could also use some C++ type engine as well. The point I'm making is that with this type of game, there are many engines that can make it much easier for you, so you don't have to do things all over again that have already been done for you.
Posted by kburkhart84 on 23 October 2013 - 10:23 AM
Since it is 2d, I'd say you should use GameMaker Studio. But, there may be a better alternative. You say you have created many smaller games. What did you use to create them? And do you not think maybe one of those would work for this game? The reason I say it is because no matter what you use, if you haven't used it before, it will require a learning curve, and you appear to have already used something else for games in the past and so you may be able to avoid this learning curve.
Posted by kburkhart84 on 21 October 2013 - 01:30 PM
You may be surprised...depending on your point of view, they can be either more OR less complex than you would expect. Example, the code itself isn't as complicated as some people would think it is. In older engines, you will indeed find many lower level optimizations and less of that in newer engines, though there still may be some for the lowest of routines that gets constantly used. On the other hand, AAA games have complexity levels added because they usually attempt to target as many people as possible. That is for example why the minimum requirements for AAA games are lower than many people would expect. Indie games don't tend to have the extreme level of scaling that AAA games do. They require much performance enhancement to be able to work on lower class systems, but then they need all of the eye candy to work on full gaming systems.
The thing that can make AAA games much more complex as well is not only the code. Much of the code itself can be simple, depending on the game. I believe indie gamedevs could duplicate much of the gameplay code, as lots of it has to do with mechanics, like in a platformer the jumping, collision detection, etc... These things you will see all over indie games as well. But, some things you won't see in indie games as often are the final polish things, as well as the sheer amount of content. It varies with the game of course, but in an indie game you are much more likely to see a music track re-used in different levels than in a AAA game. There are also many more sound effects, including more variance on the same effect, like more variety on a footstep instead of just pitch bending it. Things like a "demo" mode where when you don't play from the main menu, it goes into a "demo" of the gameplay can be another example you don't see much of in indie games. Things like in game recording, level editors, character customization, and other similar things are also not as common in indie games.
Posted by kburkhart84 on 21 October 2013 - 11:50 AM
I scoured the internet for a while looking for a good animator and I managed to find someone with a great portfolio named Pablo Hurtado. His estimate for a character with a 10K - 20K tris polycount is about $600. Which is great because i was planning to spend 1k/character.
Sculpt = $200
Character Retopo (?) = $150
UV = $40
Baking = $70
Texturing = $100
Total = $560
And yes, I would like the character to be comparable to a AAA game. But I'm not really planning to make anything huge. This whole thing is more so to show off mechanics, battle, and other elements. Then hopefully if people liked it I was planning to make a Kickstarter.
I don't see animation on there.....If you need animation, you'd have to add rigging and animation steps to the process, which also can create more than double the price depending on just how many animations you need.
Also, retopo is redoing topology to be better for game engine and animation. Many artist make the initial model using sculpting techniques in zbrush or 3d coat or even mudbox or something else. The geometry you get from a full sculpt like that tends to be very polygon heavy and very ugly. So the retopo process is taking controlled geometry and applying it to the sculpted one, using a controlled amount of polys, and adding extra for joints(for better animation) and where else it needs it, keeping within your polygon budget. Also, They can get nice face loops etc... that a sculpt can't get. They likely keep the original sculpt around though, because they use it to bake a normal map onto the retopo final mesh.
Posted by kburkhart84 on 15 October 2013 - 05:14 PM
I agree that I underballed the amount some, though there are bound to be some artists that are willing to work for that cheap. The final quality may be quite questionable, but you may come upon a gem student working cheaply, mostly interested in a portfolio. So $250 may happen, but yes, it is much more likely to be higher, like $2000 or more. I still don't have a source though, as I don't work in the field.
Posted by kburkhart84 on 15 October 2013 - 11:00 AM
ShadowFlar3 has a good point. The site cgtextures.com does allow commercial usage, as long as the textures are integrated into the project, and not easily accessible alone. A game is a fine case of this. Many other websites on the other hand indeed don't allow more than personal use.
The other point about the textures fitting together is also valid, but depending on how easily you can either learn or hire someone to do proper art for your specific case, it may be easier to grab the free textures and modify. I think there is enough variety that they can be found and modified to fit well enough for most games, but it won't be as easy as simply downloading them most likely. On the other hand, it may be easier than learning to create the textures yourself, depending on what software you know, how quick you learn, etc....
Posted by kburkhart84 on 15 October 2013 - 10:55 AM
I should probably note, I'm thinking about using 640x480 resolution for my game. This is higher than Final Fantasy VI's resolution and 640x480 is somewhere between retro and high-definition. I can't really go any higher than 640x480 because then it ceases to be pixel art, art focused on a single pixel, and becomes raster art.
There is nothing stopping you from doing a smaller resolution and scaling up. Games like Spelunky and Cave Story did this, and I'm sure there are others. This way you can keep your drawing resolution down and then have the engine scale it for you. I don't know for sure about Construct 2, but GameMaker can easily do this.
I think a resolution 1024x768 is a good target total resolution, although you could pick a widescreen as those are common enough these days. Then you would either halve or quarter it, leaving either 512x384 or even 256x192. If you like the retro style, that last one is closest to retro resolutions, and since you can scale it up it works fine. I wouldn't use any other resolutions than those two, except for widescreen versions. This is because they are in a good ratio with a standard resolution(1024x768) and so if you double or quadruple it, you can still get exact pixels, and so you don't lose anything from the pixel art. If you choose some random resolution, depending on what it is and how you scale, it can be more difficult to get crisp clean pixels. At least when going with the standard, you have a much higher chance of keeping things clean. The thing about 640x480 is that it is pretty high for pixel art, and if you go full screen with it, it isn't going to scale up as cleanly. It may work fine, depending on the video card and monitor, but I don't think it is even supported as a full-screen resolution anymore in some computers, which is why I'd say it is better to pick a more scalable amount and scale up to a more compatible resolution, like 1024x768, or a wide-screen variant.
Posted by kburkhart84 on 14 October 2013 - 10:21 PM
I'll throw out a different kind of challenge for you. Estimate what'll be required for this game before you start. Then you can look back when you're done and see how close you were.
For example, estimate the amount of times each "major module" will take. Like you did earlier in the thread, estimate how many sprites will be needed. And other estimates like that (# of sound effects, time to write dialogue, etc). Then have those estimates set aside somewhere (blog, Word or Google doc, notebook, whatever) so when you finish a module, you can note how long it took in that same place. when done with the game, you can look back at your estimates and how close they were for the whole project.
I like this idea as well. If nothing else, it will give you perspective for future projects, whether you actually finish this one or not. You'll then have a better idea if your estimates are accurate or if maybe for the next one you need to double(or triple) your estimates, or if maybe you are pretty realistic and come close.
Posted by kburkhart84 on 14 October 2013 - 07:04 PM
The site cgtextures has lots of good textures. If you don't pay, you can download up to 15MB per day for free, and there are some sizes of texture you can't get, usually the biggest sizes, which are not as useful for games, rather for cg rendering. Usually you can still get the ones around 1024x1024, but bigger than that are the ones you can't get for free. They have pretty cheap memberships as well if you need things bigger and want to lift the daily 15MB limit.
As far as making textures yourself, I recommend you maybe learn to do it yourself. The filters in software like the GIMP help, but sometimes you can get away with 3d renders in Blender as well, though you get mixed results depending on how good you are at producing models.
I don't know off the top of my head, but there are books you can buy that teach how to make textures. There was one that I had checked out from a friend that had some good techniques. Some tricks were to take photos of real world objects and combine them to get other things, using different layering techniques, masking, coloring, and other things in the GIMP or photoshop. You could take a sand texture and cover it with a masked cage or something like it, turning grayish the sand(maybe blurring it too) to maybe get a sort of sci-fi-ish metal. Different ways to combine textures can get good results. You can also use one textures colors turned to only grays to create a layer to recolor the layers below, for example to darken or lighten, to modify saturation, or even to shift hues. This, combined with cloud filters for masks(or other filters as well, or even combinations) can get interesting results too.