Planet Postmoderna Blog

Planet Development

Working on Organization and Recruiting

by Alan "Flapman" Morgan on Jul.07, 2010, under Dev Journal

For anyone out there thinks that creating a game or something bigger, a virtual world like Planet Postmoderna complete with educational historical sub-worlds, is just going to be all fun and “games,” think again. Not to burst anyone’s bubble, by no means, that is not my intent. I just want to paint a preparatory and realistic picture for you.

First off, let me step back to be positive and say yes, it is fun and you do meet a lot of neat people (I have met several great and very talented people from around the world) and meet new ones very regularly.

Yes, you learn a lot and can apply all your creative talents into something that can be really rewarding. Yes, you can build up a very valuable entry in your resume by volunteering or working on an indie project like ours. All true but, setting the fun aside, it is a business and has to be run like one. There are all sorts of details that need tending but let’s start with the fun stuff. Let’s look at the creative processes first.

You need to build your concepts from those very ideas that began in your head. You need to do this and, almost daily if not at least weekly. You need to iron out all the details of how your story and your concept progresses. You need to tie it all together and fill in the holes as they open up and, open up they do. It needs to make sense well, mostly.

You take one of your “many” brilliant-to-you ideas and communicate it properly to your artists (if that person is not you) so they can turn your concept into pictures. Then, these pictures need to be fleshed out and given more detail, color and texture so that your modelers can take those pictures and turn them into a 3D model or creature/character.

At that point, your texture artists work and fine-tune your texture maps and make the models “pop” with realism. If your models need to move, a “rigger” takes them and adds the components that an animator needs in order to create virtual life out of your model concept. After that possibly a compositor or shader specialist will need to add more details or effects to it. Perhaps even sound is added.

Now the model is added to the scene in your virtual world and tested. If it doesn’t look right, fix it. If it still doesn’t after that, start over. This is one model among possibly thousands you will put through this process. This process can have many sub-processes not even mentioned. All of this is made possible by a highly skilled creative team of artists, directors and producers. Without them? Try doing that yourself and see how long you can last in stamina and spirit. :)

It is fun though and visually rewarding, especially when you can experience your team’s creations and the fruits of your combined labors within the virtual world you are all working to build. It is even more exiting and dynamic when you add in the quests and actions that only your creative programming team can make happen.

What about behind the scenes? Managing the budget? What about the money you spend on the maintenance of your servers, software, hosting services, development services, etc.? Who pays for that? Are you paying for all of it? Do you split the expenses with partners or your team. Is your project collaborative? Are you finding partners, sponsors and investors? Surely, these things all add to your project responsibilities and your sleepless nights.

What about recruiting, marketing and community awareness. Well, you have to keep your project out there. You may need to promote it using social networks. Are you using Facebook, Twitter and LinkedIn and the many others out there to promote your project? How are you staying on top of that? Are you promoting on artist and programming sites? Are you doing this all yourself or are you leveraging others? If so, are you paying them to do it for you or are you working through an in-trade or barter arrangement? Both work. Which are you more comfortable with or which works better for you?

You may need to talk about what you need and what your expectations, hopes and dreams are. Who do you need to talk to? Well, you can start by talking to your team. What are their hopes and dreams? How will your project help them achieve those? You need to find out what the community wants. What are their expectations? Are they realistic or far-fetched or too aggressive?

You need to talk to your investors and/or partners and sponsors. What are their expectations of you and your project?

What about these communications and outreaches: emails, blog posts, networking events? Answering team and community questions? What about looking for funding, maintaining your website, forums or the other community and marketing tools you use? Are you making money while you develop your project? Are you working a main job and career while you work your project? Are you a freelancer or are you already part of a large studio that has taken on your project and you are now in charge of managing it on top of all your other duties?

Now here’s the $100 million question….how are you managing the rest of your life (job, family, friends, church, etc) while you manage your project? This is very important and are you doing that successfully. Don’t let your project become an obsession and take you from what really matters.

It’s a plateful. :) An indie game or a virtual world project is a challenge at the least.

However, with every challenge is reward. Working your project and running it like a business all the while doing something you really enjoy is rewarding in more ways than just money. It is a great experience like no other…..even if it goes no where. But, who sets out on a great journey with the intent of going nowhere? Who starts a business intent on it not being successful? I know I don’t. I know you don’t.

Half the time we set out on some endeavor, some business, not really knowing where it will take us or if we will be successful. Admit it. Most of us don’t plan to fail. We just in most cases fail to plan. Hmmm. That reminds me of a financial planning commercial.

This is why we all should surround ourselves with the people that have skills and talents we lack and all the while blessing them with the skills and talents God gave us to share with them. It’s a win-win in this situation. We can’t lose when we help each other.

We learn about our craft and polish our skills. We don’t stop doing it too. It was once said that “death is when you stop learning.” I don’t remember who said it and, don’t make me look it up either. We know it’s true. Death in business, death in personal growth, death in relationships…it is all death and you go nowhere fast when you stop learning.

Power is in learning and maintaining a good team. There is always magic and power in numbers. Planet Postmoderna is one such model. We aren’t an “A-team” by any stretch but we have heart and we are sticking to our goal of building a one-of-kind virtual world where everyone wins: the players, the students, the investors, the team, and those we have not met yet.

It is my hope that if you are reading this and through all of our other material out there that you see our dream and vision for this project. I hope you will want to become part of our development team, invest in us or support our project or even if you just want to do so by being a member of the community. In any case, we all win. This is a project about trying and playing to win and if we don’t, we have a lot of fun along the way. Actually, I have to rephrase that. It really is about playing to win and having fun doing so. :) This is why I do all the stuff that is behind the scenes that most people don’t.

1 Comment :, more...

Latest Updates to Base Camp

by Alan "Flapman" Morgan on Jun.18, 2010, under Dev Journal

Yes, I know it has been awhile since I have written in my blog. I have been pretty consumed with my personal life (another story) , RL work and management tasks for this project. Nonetheless, I was able to get a few things done this weekend that I have been needing to do. One of which was the forestation of the Base Camp Eastern Zone.

I spent some time today working on foresting the zone just east of Base Camp. I am using the demo for SpeedTree that is included with Multiverse. Eventually, when we get funding, we can purchase a full license for the project (about $1495 for the initial part of the license…the rest due at launch).

Eastern Base Camp Forest

What I really like about SpeedTree is the ease of creating foliage across the landscape with it. Of course, since it is just the demo, we don’t have the full library to work with and the ability to create custom plants and trees is also missing. When we can get some funding for the project, one of the initial things we will do is get the licensed version for our project. For now, the demo trees will do a good job for filling in the areas we’ll want permanent plants to go down the road.

2 Comments :, , , more...

No new ideas, just new ways to tell them

by Alan "Flapman" Morgan on May.08, 2010, under Dev Journal

You know I just watched Avatar. It was the first time I have seen it since it came out. I wasn’t really shocked when I saw the evening scene where Jake was led into the forest by Neytiri, the female Na’vi, who rescues him from forest predators. The plants lit up the night with their phosphorescent glow.

It was as if I were looking at areas of Planet Postmoderna. On our project world, the crystalline minerals of the planet draw energy by day and project some of it by night in the form of light. Every living thing on the planet has some presence of the mineral within it, especially the plants.

At first, I thought, shoot (I actually used a different adjective but here, I am PG), another great idea for the project used up by someone with deeper pockets and more resources (a lot more resources). Similar hurt was already seething because I also watched Firefly for the first time. I had wanted to watch the original series when team members shared that there were components of Postmoderna’s sci-fi “old west” storyline that resembled Firefly and Serenity. Avatar just drove the emotional knife in deeper.

Then, I stopped and I realized something I have said many times and read many more. In sci-fi and fantasy fiction, there are no new ideas and stories, just new ways to tell them. I may have been bouncing around ideas for Postmoderna ever since I conceived of the story, The Advent, back in 1982, where the story was about advanced beings who came back to Earth in huge ships and machines filled with living crystal to continue the work of Quetzalcoatl whom had promised to return. They came from faraway planets where gateways opened to and from planets like Earth when networks of stars are aligned. Sound familiar? Can someone say “Stargate?” Well, the story has indeed evolved over the years and is now starting to take on a life of its own as we build this project. As much as it resembles other stories, well, other stories resemble others as well to some degree.

I think for an instant and just pray that my mind may catch up to where it needs to be so I can create before anyone else does it before me. I close my eyes and am reassured. I know that I am on my way. But, truth be told, I don’t need to worry much. I am surrounded by a team of creative people and, again, there are no new ideas and stories, just great new ways to tell them.

Comments Off :, , more...

Building the Character Generation Screen

by Alan "Flapman" Morgan on Apr.18, 2010, under Dev Journal

This week I speant time working on the background for the Character Generation Screen. The plan was to create the model that characters would be created in before they later appear in Base Camp.

I started by modifying the pod model. My initial pass at it required that I delete the exterior geometry. I worked with the remaining parts to build the interior. I textured the individual parts, one by one, until I ended up with what you see below.

Initial Pass in 3dsMax

Initial Pass in 3dsMax

I wanted to get the general textures in place so I could test the “Render to Texture” function in 3dsMax and make sure that everything would render properly in the Multiverse Model Viewer (which it did).

I continued by adding more detail so as to get the model closer to what I imagined.

Second Pass in 3dsMax

Second Pass in 3dsMax

The challenge I was presented next was when I unwrapped the model. Everything changed. Most of the textures stayed put but as I reorganized the UV (resizing and rearranging the individual parts) some of the textures changed their scale and orientation. That was a little frustrating.

What I proceeded to do was re-texture the individual areas in PhotoShop and added further detail. This included, caution stripes, lighting and other features as you see below.

Additional Detailing

Additional Detailing in 3dsMax

What I really like about 3dsMax is the ability to generate the individual maps (diffuse, normal, lighting, shadows, etc). That is something I never quite learned to do in Blender. It is not to say you can’t do the same in that open source application. I just never learned how. :)

I was able to overlay the shadow and lighting maps over the diffuse texture and add an emit map (for the lights) from what I created in PhotoShop.

This is what I imagine the inside of the pods look like. Compartments in the walls provide space for small components and equipment. The version you are looking at is empty but is usually filled with equipment, crates and other components. There are also areas where chairs can be mounted to seat personnel for the ride down to the planet.

After I converted the end model to Collada format, renamed it to match the existing Gazebo file (the model used in the MV Sample World) and imported into the Postmoderna World file, I had to play with the settings in the Character Generation Python Script file. It took some time to figure out where each setting that I needed to modify was but, I did so eventually.

The first settings I altered were those for the camera position. Once I got the camera where I wanted it, I modified the ambient light and the directional light for the environment. The directional light frustrated me because no matter what I did, it was just too bright and created artifacts I did not like. Eventually, I decided to turn if off entirely.

Next, I modified the settings for the point light (similar to an area lamp). I moved it to a more realistic point within the pod and modified the brightness and the color. I tweaked it a bit more after I figured out how to move the avatar to the location I wanted it.

At first, I could not find the settings for that. What seemed to make sense, really didn’t work and the actual settings were in another part of the file. Of course, had I been a programmer, maybe I would have figured it out sooner but trial-and-error got me where I needed and I made the adjustment.

Finally, I copied all the modified files to to my server and tested the new screen.

Character Generation Screen

Character Generation Screen

I am sure there are a few other tweaks I can make to the textures, lighting and UI but for now, I think the Character Generation Screen came out pretty close to what I imagined.

1 Comment :, , , more...

Planet Postmoderna is now Pod-enized

by Alan "Flapman" Morgan on Mar.30, 2010, under Dev Journal

The Pod is a primary object/model at Base Camp, the initial waypoint on Postmoderna. It is originally designed as a container for delivering cargo, supplies and a few personnel to planet surfaces. They are transported by cargo carrier and are attached in rings around the core of the transport vessel.

When the Black Venture Cargo vessel arrived at Postmoderna (purely by chance) and after the disaster of the closed space tear, these pods were the only things small enough to transport through the collapsed space tear.

Now enough background info. :) I have to say that working on Cydknee’s pod model has been quite a 3dsMax learning experience. I really have not used the design app a whole lot but since the model was created in Max, it made sense to me to try to finish it in 3dsMax.

The biggest challenge with this project for me was unwrapping it (UV Textures). This, for you new to the project and new to 3D modeling, is the process of basically stretching and squashing all the textured polygons of a model onto one surface or individual texture that is later applied as the main texture of a model in a game. Now if anyone out there has a better definition, please post it. :)

At first I was doing the unwrapping the hard way—the very hard way. I used the “Flatten Image” function in 3dsMax. It flattened out all of the UV sections but as you can see below, there were quite a few. More than I wanted to deal with.

UV Normal Unwrap in 3dsMax

UV Flatten Unwrap in 3dsMax

The problem I was having was that I went the route of trying to merge or “stitch” the individual pieces together to make larger ones. That process was extremely tedious and I was starting to grow impatient. There had to be an easier way. Now I want to add that I could have just purchased a plug-in for 3dsMax called Unwrella. Based on the specs of the plug-in and the demo movie clips, this could have made the process a little easier. I just was not ready to spend the money on it yet (although it is only about $250). :) I also wanted to see if I could actually do the unwrapping from using what is built into 3dsMax.

I went to the Autodesk Forums, The Area. Ivan (from the forums) directed me to this very helpful tutorial. At first, much of what was discussed on the tutorial went over my head but after watching it a few times, one piece of logic finally hit me. I really needed to get back some basics. Of course, at this point, what is basic to 3d modelers is still complexed to me.

I revisited my favorite guide to 3dsMax, the 3dsMax 2009 Bible, by Kelly L Murdock. I poured over the chapters about UV Unwrapping again. This time, what I was reading, was starting to make a little more sense.

I went back into 3dsMax and reopened the Pod model. I re-assigned the UVW Unwrap modifier (a modifier that automatically–in most cases–creates the seams that separate the polygons of the model) to the model within the modifier stack. I started selecting some of the specific polys I wanted to work with. I opened the “edit” panel for my UVW (the UV term for the coordinates of a UV map) and selected the “planar” unwrap button. Presto, I had an unwrapped part of the model to rescale and put in the area I wanted to texture. From that point on and one face and one section at a time, I was effectively unwrapping the model. Ooh, I felt like I found the Holy Grail of unwrapping. I was that excited.

I began organizing the individual pieces in the map area. As I pulled all the sections in an arranged them, I rendered a temporary UV Map image I could further texture.

UV Temp Map

Temporary UV Map

I next transferred the existing textures on the model to the UV base texture using something called “Render to Texture” method. This gave me an initial diffuse (color) texture for me to tweak and add details to. The process did what is called in the industry, “baking.” Now for those of you who know me, you know I love to cook, and this is in no way what I think of when I hear the word “baking.” Nevertheless, in technical terms, the process bakes the textures to another and in layers too (if you so desire) that can include (but is not limited to) shadows, lighting and other special texture effects.

Of course as I started working on the textures, I found it necessary to go back and forth between 3dsMax and Photoshop. I kept wanting to check my work in a more “live” mode so I made sure that the texture I was working on was also the active diffuse texture I had on the model. This actually proved to be a pretty good idea. Although, I am sure 3dsMax professional modelers out there would likely think my methods backwards but it worked for me and I was able to get the final texture the way I wanted it (details and all).

Checking the textures in Max

Checking the texture in Max

Back and forth I went until I finished all the details and shading as I needed it. Occasionally, I had to move another poly or two to get something to look right that wasn’t. Believe it or not, even the final still had areas I needed to fix but, hey I am still learning and will get this down as some point. I don’t need to be a master, I just need to provide direction with a little background behind me.

Pod Finished Diffuse Texture

Pod Finished Diffuse Texture

The next thing I did was export the model as it was currently, into Collada format (used by Multiverse) and test it. One challenge I found right off the bat was a few polygons in one of the upper areas that had their “normals” (the direction that a texture image appears or is facing) reversed.

Wrong Normals

Normals that weren't working

This was very frustrating for me. I tried everything I could read about to fix the problem. I just could not get them to show in the right direction. Within 3dsMax, this area rendered fine but when I rendered it within the Multiverse Model viewer, it looked wrong. I reached out to the Multiverse community and was able to get some really good counsel from members on the Multiverse Forums. I was given a solution that by itself worked great. The tweak was 2 lines added to my Multiverse object material file.

cull_hardware none
cull_software none

Now this may seem another language to some of you (it is to me) but this little fix, renders textures 2-sided in the Multiverse Client Browser. I thought, COOL! No, it still did not work. Hmmmm.

Temp Fix for the Pod

Temporary fix for the normal

The problem I was having was that I was using a master material file that didn’t seem to like that little fix. If I used it in the basic material file the the Mutliverse importer created, it worked fine. In 3dsMax, everything rendered great. I loved the way it looked. I just wanted it to work well in the final world. I was frustrated, but I swallowed my pride and my desire to find perfection and, decided to go with the fix.

Pod Model in Max

Pod Model in Max

With the polygon normal issue behind me, I went on to my next step which was to add in the primary collision volume. This would make it so that in the world, an avatar can’t walk through the model. Collision volumes…get it? I followed the instruction on the Multiverse Wiki for creating collision volumes. I created the box that would be the primary collision volume.

Pod Collision Volume

Pod Collision Volume

After that was all done, I imported my final model into Multiverse and put it into the Planet Postmoderna World file. I also tested the original materials I had worked hard to create (diffuse–color, normals for how light bounces off the model and the specular for the reflective properties). And guess what? Miraculously, no more problems with the polys. Okay, that was odd but, hey it was working. Why should I question the results? :)

The Pod inworld

The initial pod render

Here is also an alternate view I tested out. There is a feature of the Multiverse World Editor that allows me to disable certain parts of the mesh. The settings allowed me to make the pod look like it is starting to get stripped down (per the background story). Nice effect.

Pod on its side

Pod on its side

The above version is missing the normal and specular texture maps of the original but funny thing is, it actually has more the appearance I want. I need to figure out how to tweak the other one. I also still need to work on a few areas in which the textures look stretched. Always something to do but boy does working on this project teach a lot? I just have to be careful not to want to do too much.

Comments Off :, , , more...

Spam

Creative Commons Copywright License

Planet Postmoderna © 2008-2010:

Creative Commons License
Content of The Project Planet Postmoderna Blog is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

Based on works at devforum.planet-postmoderna.com.

Permissions beyond the scope of this license may be available at http://www.planet-postmoderna.com.



Sponsor 1

Autodesk 3dsMaxAutodesk 3dsMax

Sponsor 2

Entropia Planets