Game Assets

Hi Guys,

As some of you already know I am new around here. I am been programming for roughly 15 years in various languages from BASIC to C and now mainly Java. I create commercial Android applications in the Pharmaceutical Industry, I’ve always have an interest in game development but never really pursued it.

My goal is to try it out as a hobby learn about the industry and see if it’s something I wish to venture into professionally.

As of now I know very little about how games are created, although I have learned a lot already by reading the wiki and the documentation that comes with jME but assets are one thing I have no clue about. I know the raw basics such as a 3d mesh is made textured, rigged and animated but that is as far as my knowledge goes.

I was wondering as fellow developers did you take it upon yourself to learn how to create your own assets, or do you buy and download them?

What tools are required to creating your own assets, I have read that Blender is a good free open source project and I noticed its referenced a lot in the wiki pages.

I would also be interested to know if you gather assets before starting your project as at the moment I only have primitive shapes like cubes, spheres and a plane.

Thanks.

1 Like

I learned myself to create my own models, but I also took free models online and I try to remake it. One tip is to download the blender2ogre addon on blender.

https://code.google.com/archive/p/blender2ogre/downloads

That addon is what you need to create 100% working models on blender to ogre, then covert it to a j3o or keep it for rigged models (i think)

1 Like

For my game projects I always ran into the asset issue as well. I like doing drawings and what not with a ruler and a well defined scale. This ended up with me basically finding premade human (or whatever) assets, getting frustrated, and stopping the project.

My current project, however, I’m going at it a different way entirely. Looooooooots of procedural generation. I’ve found that writing code that makes assets almost therapeutic. I started here: https://jmonkeyengine.github.io/wiki/jme3/advanced/custom_meshes.html and I’ve been slowly creating the assets for my game using the awesome power of math. By the time I’ll have something playable I should have space ships that cruise the rings around a gas giant planet.

Now that being said I’ll probably be buying some basic human assets at some point, but I’m trying to do as much as possible with procedural generation.

3 Likes

I have just downloaded Blender, I will look at getting this add-on too but I think I am along way away from being able to create something suitable to go into my project.

Interesting idea, this is definitely something I will take a look at. Are you generating a 3d model from a drawing then?

I have been messing around with creating a plane as the floor for my project, I wanted to texture it with a simple grass texture which comes with jME but came across an issue when trying to set the texture to the material used. How do I find out the defined texture names used in a material? I managed to find an example using the same material and the defined texture was called ‘ColorMap’ but how do I know this for future?

The documentation. The wiki has this information but no one sees the buttons up there at the top of every forum page.

There is a page in the wiki where all of the material parameters are mentioned. Leading up to that are also tutorials on how to use them.

I know maybe it feels like cheating, though… so if you don’t like to “cheat” then you can just randomly cast about until you find it next time.

1 Like

@pspeed
I am aware of the wiki as I mentioned it in my original post. I am not really following where you are going regarding the cheating comment but I have found the page you was referring to, so thanks for pointing out that existed.

I was joking.

I’ve been on this forum for around six or seven years. Every day. Answering essentially the same questions, over and over, that are already answered in the wiki (though now I mostly let others pay their dues by answering those same questions)…

So sometimes it’s fun to get creative as to the reasons why folks don’t use the documentation that already exists. I figure some think of it as “cheating”, ie: too easy.

1 Like

Bit more like I’ve read up on techniques for procedural rendering and mucked around with it until I got something vaguely what I wanted. If you do a google for procedural rock generation, for instance, you’ll find a lot of different approaches. Here’s what my progression was for some of my assets: Procedural Asteroids - Album on Imgur

2 Likes

Hello new jME user!

If you want to understand where parameters like “ColorMap” come from, have a look at “Unshaded.j3md”:

You see the first two material parameters which are “ColorMap” and “LightMap”, both are of type “Texture2D”. A 2D texture is an image with width and height (e.g. 1024x1024 pixels, 1024 wide and 1024 high). A light map is used in games to mask areas that have shadows and light. A color map defines … well … colors.

This is already an “advanced” topic:
https://jmonkeyengine.github.io/wiki/jme3/advanced/material_definitions.html

Basically it is so:
A .j3md file defines the available parameters, and connects these to shaders.
Shaders have the endings .vert and .frag (and .glsllib).

Fair enough, I didn’t know the documentation existed or I wouldn’t have asked. However, I do see where you are coming from as some people are too lazy to spend the time looking for the answers themselves. This would have been a lot easier for me if I had noticed the search bar on the wiki (which works exceptionally well) sooner but even rendering the wiki at 100% it’s tiny on my monitor and I overlooked it. I do appreciate you pointing me in the right direction however.

Wow. That’s impressive. I feel I need to understand the concepts and workflow more before attempting something like this.

Hello @Ogli ,

Thanks for the explanation of the difference between the two texture definitions, its starting to make more sense now.

Basically 2 options:

  • make 3D models in a modeling tool like Blender or 3DS Max, then import 3D model into game engine
  • “procedural geometry” (make 3D model at runtime by writing code that generates a 3D model)

You can also mix these two:

  • make 3D models in a modeling tool, then combine them at runtime (e.g. combine a dog’s head with a spider’s body), kind of tricky, but that’s the idea behind games like “Spore” or “No man’s sky”.
2 Likes