What are you missing in your gamedev toolchain ?

Discussions and feedback around the Open Projects such as Orange (Elephants Dream), Peach (Big Buck Bunny), Apricot (Yo Frankie!)...

Moderators: jesterKing, stiv

Fog
Posts: 5
Joined: Fri Sep 14, 2007 7:38 pm

Postby Fog » Sun Dec 16, 2007 12:17 pm

Sindwiller wrote:
Fog wrote:This tool is a BASIC tool that we don't have in blender and we need it for making games

- Soft / Hard normals. A way to break the normals between 2 faces without creating more geometry.

my 2 cents :)


Hotkey W -> Set Smooth/Set Solid ?


it doesn't wok with parts of one object
Matte Painting/Environment Artist @ Free Radical Design (HAZE)

Fog
Posts: 5
Joined: Fri Sep 14, 2007 7:38 pm

Postby Fog » Sun Dec 16, 2007 12:22 pm

Mariolink wrote:No. What he means is smooth groups:
http://www.3dtutorials.sk/index.php?id=104

target weld would also be nice or just redoing the snap tool so it's possible to use proportional edit with it.


Exactly, it's very basic for low poly modeling
A similar tool would be very useful!
Matte Painting/Environment Artist @ Free Radical Design (HAZE)

fobsta
Posts: 141
Joined: Sat Jun 12, 2004 11:21 pm

Postby fobsta » Sun Dec 16, 2007 12:37 pm

Fog wrote:
Mariolink wrote:No. What he means is smooth groups:
http://www.3dtutorials.sk/index.php?id=104

target weld would also be nice or just redoing the snap tool so it's possible to use proportional edit with it.


Exactly, it's very basic for low poly modeling
A similar tool would be very useful!


Please no smoothing groups! Unless the workflow for it has changed since Max 2.5 because way back then it was horrible and convoluted. It's more elegant and easier to set smooth/hard edges in Multigen or Maya than Max. Blenders solution is a good compromise.

Target weld sounds like a winner though.

grumbel45
Posts: 2
Joined: Sun Dec 16, 2007 2:45 pm

Postby grumbel45 » Sun Dec 16, 2007 2:52 pm

it doesn't wok with parts of one object

Isn't that what EdgeSplit is for? Mark the Edges you want to have non-smoothed as sharp (Ctrl-e) and enable the EdgeSplit modifier for the object.

That aside, one features I would like to have in Blender would be support for custom object types, the last time I used Blender as level editor I used Emptys with special names to mark spawn points, enemy positions and such. It would be nice to have the ability to use a custom mesh instead of an Empty and also attach meta data to it. The ability to have a customizable GUI or just a custom palette for these object types would be great as well.

_neutrin0_
Posts: 1
Joined: Sun Dec 16, 2007 12:51 pm

Postby _neutrin0_ » Sun Dec 16, 2007 3:16 pm

We are using Blender to create art assets in our game and as someone who has used blender to create at least some part of the game, I have 3 major items on the wish-list. I am not going to focus on micro level items, most of the above posters have pretty much laid out what is needed. Some have indeed raised some very valid points.

Though I have a fair amount of experience with blender, I must confess I am not a 3D artist, I am a game engine programmer.

Coming back, our game content creation is broadly divided into 4 major categories.
1. Modeling
2. Level design/creation.
3. Scene Composition.
4. Logic/Programming.
The division between the above categories is not hard and fast, each has some overlap over the other, but generally you could put the whole creation process into the above 4.

As far as Blender goes, it does a fantastic job at the first ie. Modeling. By modeling I mean creation of the character, NPCs, powerups, trees, plants and things like that. We are more than satisfied with Blender's ability to do that. However it is lacking in the other 3. Level creation via blender is, let me say, not trivial. One other poster mentions how easy it is to do these things in other level-editors like say UnrealEd or Hammer using what he calls "simple shapes". He is right. Level creation generally requires a lot of tweaking and adjustments to get everything working correctly (ie. collision, game-play, mechanics, physics etc). Blender is more of a full-fledge modeler which could be used for level creation, but in it's current state I would still prefer something like QuArK if it comes to level creation. Something along the lines of brush based modeling in Blender would receive cheers.

Scene composition (, basically what goes where and what interacts with what). While the current game engine does allow for some of that, complex interactions between entities is still difficult. A more powerful scene-graph editing tool would be nice. Something along the lines of the current "Outliner" with the capability of having custom scene-nodes with custom properties could be wonderful! Also the capacity to create entity groups and sets so that you could edit properties on a group would be amazing.

Logic and programming is the tricky part. The only way to do this via Blender is have the engine export it's functionality via bindings to Python. Then use the bindings inside Blender's plug-in system for all your logic needs. If this is done via Plug-ins only then you could have any engine export it's APIs to blender and then Blender could be used as a full-fledge compositing tool for any engine, though this is easier said than done.

Also, the current "node-editing" tools could be used to design custom shaders for games, something along the lines of Mental Mill. That could be totally cool indeed :D .

Cheers!
::Game:: ::Blog::

jessegp
Posts: 1
Joined: Sun Dec 16, 2007 3:37 pm

Postby jessegp » Sun Dec 16, 2007 3:48 pm

Paint needs to be improved either by incorporate gimp or just amping it up to support more basic features. Using a tablet and paint is a serious pain in the .... compared to any other program. Its like having a pen that still works like a mouse but with incorrect pressure stacking. Its something that isn't easy to explain. Anyone thats used a tablet w/ gimp or photoshop and paints a simple stroke then attempts the same stroke in blender will see that blender doesn't handle the veriations in pressure correctly and simply stacks multiple contact points (as if you were clicking over and over again with a mouse) next to each other as you drag the pen.

An intuitive eraser would also be nice. The current one leaves a color ghosting effects behind which can make painting transparency nearly impossible.

Those were issues in 2.44, haven't given 2.45 a wurl but I'm sure they haven't changed.

dbird
Posts: 3
Joined: Sun Dec 16, 2007 4:45 pm
Location: UK

Postby dbird » Sun Dec 16, 2007 5:36 pm

As a game design student theres been a few areas that I have noticed will need improvement in Blenders tools set for content creation in games.

The needs to be the ability for a units set up. This is important for ensuring that the scale is in-line with what is being used in an external game engines. Options for selection of Blender units, Meter/centimeter and feet/inches would cover all the bases for modeling .

Multiple UV channels are a requirement for game projects as an example in an FPS a face, hands and eyes are on a separate texture to that of the character models body's because they are what you will see most of and require more detail.

Mariolink for target weld press w>merge> to first or to last.

Sindwiller
Posts: 3
Joined: Sat Dec 15, 2007 2:40 pm
Location: Zürich, Switzerland

Postby Sindwiller » Sun Dec 16, 2007 6:02 pm

dbird wrote:The needs to be the ability for a units set up. This is important for ensuring that the scale is in-line with what is being used in an external game engines. Options for selection of Blender units, Meter/centimeter and feet/inches would cover all the bases for modeling .


Yep, that would be really useful.

Multiple UV channels are a requirement for game projects as an example in an FPS a face, hands and eyes are on a separate texture to that of the character models body's because they are what you will see most of and require more detail.


There is already support for multiple UV's. Editing Tab -> Mesh Panel -> UV Texture.
http://rgames.tuxfamily.org - My not very often updated Blog.

zaghaghi
Posts: 9
Joined: Wed Aug 22, 2007 3:19 am
Location: IRAN

Game Logic Verification

Postby zaghaghi » Sun Dec 16, 2007 10:20 pm

Game Logic Verification is a missing in all games, (i think).

what is that?
You setup logic for your game, but how do you show that there isn't any problem in game logic? how you can find that some one cheating in the game? how you verify game logic?

look at this paper: http://www.sigcomm.org/sigcomm2004/work ... delap1.pdf or http://portal.acm.org/citation.cfm?id=1016553
MSc. Student of Algorithms and Computation,
Engineering Science Department, University of Tehran

Mariolink
Posts: 18
Joined: Tue Aug 01, 2006 6:31 pm

Postby Mariolink » Sun Dec 16, 2007 11:42 pm

dbird wrote:Mariolink for target weld press w>merge> to first or to last.


I kno but for even smoother workflow target weld with dragging the vertex is much faster and less tedious than alt+m all the time.

chuck_starchaser
Posts: 19
Joined: Mon Nov 20, 2006 3:17 am
Location: Montreal
Contact:

Postby chuck_starchaser » Mon Dec 17, 2007 3:50 am

Hi, thanks for the question.

1) I'd like to see more "space-ship" friendly features in the areas of UV-mapping, multi-res and 3D paint.

1a) LSCM is fine for human heads and cows, but (wo)man made things are not served well enough either by LSCM or the other unwrapping modes. An area of a space-ship (or a racing car, for that matter) might be fairly flat and best served by a sort of "from view" unwrap, but it may not be aligned with any of the three orthogonal planes. It boils down to grueling manual labor to group all the polygons that should unwrap together from that view; in addition to having to set the view exactly in the first place. Perhaps a way to set a number of "cameras" or angular directions by drawing them on orthogonal planes, such as placing 7 cameras around a circle for an alien ship of aliens obsessed with the number 7... and then an algorithm that places optimized seams to split surfaces as per optimal views from those "cameras" and throws out the islands... As well as ways to select a pipe or hose and mark it for cylindrical unwrap. Yes, hoses are a PITA to unwrap, presently; there should be an easy way to get a rectangualr strip for each, regardless how they twist and turn. Ability to tell the unwrapping tool that, say, the front of the ship should be oriented UP in the UV layout, would also help. In fact, main reason we can't use Archimap is that it lays out the islands in any orientation it feels like.

1b) A second dimension to multi-res; namely a tri/quad mode "dimension". For most work, one wants to work in quad mode, but for export to and OGL pipeline, and for bakings, one needs tri mode. Why? Because if a mesh is exported to OGL with quads, the quads get split into tris in real time, and the split may not be along the same diagonal as the way they were split during bakings. The two must agree, and triangualtion needs a lot of manual tweaking that is lost whenever the mesh is de-triangulated. The solution, IMO, would be to to have triangulation that is res-level specific and permanent, but which can be "hidden away" via a button. Quad mode needs to allow tris, of course; but not viceversa. Cutting and editing should only be allowed in quad mode, and should work like de-tri, cut, re-tri.

1c) 3D Draw, to complement 3D Paint. Namely, the ability to draw straight lines by clicking in two places. I've tried to use 3D Paint for placing marks on a texture, to help matchings across seams when using Gimp later, for example; but 3D Paint is too "analog", too mouse-sensitive for that kind of work. I'm talking about a tool that would allow me to draw straight edges to represent seams around square plates and hatches and air-locks. As in Gimp, perhaps using Shift and Ctrl to draw straight/orthogonal lines.

2) Bakings. This has been mentioned already; but just to elaborate a bit:
I find myself still going back to the old "Radiosity Baking" method for things such as producing non-AO light maps. But Radiosity Baking doesn't accept lights, for instance; only radiant materials, which is a PITA when you have dozens of light sources in a scene. Finally, RB doesn't do a very good job where geometries interpenetrate, due to its being vertex-based.
Besides light-maps, we need to do PRT bakings, which use radiant red, green and blue orthogonal planes; frontal bakes, for baking textures that modulate things such as impacts and scratches during texture production; and finally self-radiant baking, for computing a hint of a self-radiosity-like effect to the PRT's.

3) Tangents...
There are three ways people go about using tangent normal maps in games.
  • 3a) Tangent-less: The tangent is assumed to point towards the (right) in the UV-map, which means that during UV unwrap, the (front) of the ship must always face (UP) in the texture.
  • 3b1) The tangent vector is added to the mesh, just like the normal. The shader reads the tangent vector per-vertex from the mesh.
  • 3b2) The tangent vector is added to the mesh, but encoded as vertex color, rather than as a real vector. This method has the advantage that it works on MacIntoshes.
  • 3c) The tangent computed per-pixel and is color-encoded and saved to a texture.

As far as I'm aware, none of these methods is presently supported by Blender in the way of producing exportable mesh tangents, or baking tangents to textures or vertex colors. Method 3b2 we have a pressing need for in the Vegastrike engine.

One more note on UV modes:

LSCM and the other unwrapping modes could universally benefit from dynamically disallowing any part of an island having a reversed normal. In large meshes, it takes a long time to find and fix areas where parts of the unwrap are flipped. Flips in the unwrap can cause bumps and depressions in the normal map to appear reversed. Flipped islands are an error in terms of normal mapping, and it would be helpful to have a setting to disallow them. Overlaps are also errors for UV sets hosting AO or lightmaps. Similarly, it would be useful to be able to disallow overlaps.

And, by the way, to have OGL-friendly normal maps look right in renders, they have to be set inverted in the texture output tab. Would be nice to have an OGL button that sets things globally right for OGL-like results in renders. This also applies to the max angle of auto-smoothing for renders, which in Blender maxes out at 80 degrees, and is applied even when autosmooth is turned off. OGL does not have such 80 degree limitation, and my wires and thinner pipes are often square in section.

EDIT:
Also, as LetterRip was mentioning, setting of backgrounds from 3 or 6 orthogonal views. Perhaps in addition, what would be very good is having per-camera backgrounds. Some old games, like Wing Commander, used multiple views (37) to fake continuous 3D views.
In game reference images of Rapier II (scroll down a bit).
Those images are not parallel projections; they have some arbitrary focal length. So, even if one used only the 3 orthogonal views (which often don't suffice), one would need to attach the textures to cameras, rather than to planes.
"Never believe anything until it is officially denied."
Fronteer - First Encounters

kakapo
Posts: 204
Joined: Sat Sep 04, 2004 2:32 pm

Postby kakapo » Mon Dec 17, 2007 7:39 am

As far as I'm aware, none of these methods is presently supported by Blender in the way of producing exportable mesh tangents, or baking tangents to textures or vertex colors.
why would you want to export tangents from blender? every engine i worked with so far calculates tangents itself.

...
since many people don't seem to know about the edge split modifier and what it is good for, maybe blender's old "set smooth" and "set solid" system should get removed and the edge split modifier should get a different name to make this whole thing less confusing?

chuck_starchaser
Posts: 19
Joined: Mon Nov 20, 2006 3:17 am
Location: Montreal
Contact:

Postby chuck_starchaser » Mon Dec 17, 2007 1:32 pm

kakapo wrote:
As far as I'm aware, none of these methods is presently supported by Blender in the way of producing exportable mesh tangents, or baking tangents to textures or vertex colors.
why would you want to export tangents from blender? every engine i worked with so far calculates tangents itself.
Where?, and how?, and how sure are you? Sounds a bit disingenious to disparage someone else's needs because they aren't your needs. I've only exposure to the Vegastrike engine, and we only recently started using shaders and normal maps. It doesn't take long to realize that tangents can't be computed in the vertex shader, because it doesn't have access to nearest neighboring vertices so as to establish the proper rotation --i.e.: it doesn't have enough information. We tried making an off-line tool to compute tangents, and add them to the mesh, but found it a real challenge... math-whiz kind of challenge. If you can point me to an open source library for tangent computation, I'll appreciate that greatly; otherwise my point stands that this is a feature that Blender could offer, instead of limiting its set to just what YOU need. Sorry, but I'm not in a position to switch to all the engines you've used. Besides, if Blender would export meshes with tangents, perhaps there wouldn't be a need for every engine out there to have to incorporate code that does it.
(And why is it that one can't ever avoid gratuitous attacks?)

I agree with you that solid shading might as well be removed. Smooth shading could simply be there, hardwired, until an edge is marked sharp. What many modellers for games out there don't seem to realize is that flat shaded polygons have their vertices split in real time in the OGL pipeline; such that if they have a large flat surface but subdivided anyhow, and they mark it as solid, the final vertex count can be 6 times higher, at the gpu, than if they had marked the surface smooth and split its surrounding edge. Heck, one of my collegues, a month ago or so, after talking to him about this issue, finally got the idea, and confessed he always thought that smooth shading would be more expensive than flat shading. The number of modelers that don't understand the first thing how OGL smooth shading works is staggering.
"Never believe anything until it is officially denied."

Fronteer - First Encounters

kakapo
Posts: 204
Joined: Sat Sep 04, 2004 2:32 pm

Postby kakapo » Mon Dec 17, 2007 2:56 pm

i didn't want to sound disparaging. english isn't my first language, maybe i should have worded it differently?

they don't get calculated in the shader but get calculated and stored in the mesh before the graphics card starts drawing it. all information you need for the calculation is there.

directx engines usually use the D3DXComputeTangentFrameEx() function or it can be done manually like that: http://www.terathon.com/code/tangent.php
Last edited by kakapo on Mon Dec 17, 2007 4:09 pm, edited 2 times in total.

chuck_starchaser
Posts: 19
Joined: Mon Nov 20, 2006 3:17 am
Location: Montreal
Contact:

Postby chuck_starchaser » Mon Dec 17, 2007 3:33 pm

kakapo wrote:http://www.terathon.com/code/tangent.php
Thank you most kindly; I'm passing the link on to our devs.
"Never believe anything until it is officially denied."

Fronteer - First Encounters


Return to “Blender Open Projects”

Who is online

Users browsing this forum: No registered users and 1 guest