Tag: 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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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?
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.
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.
Working on the monster of all models
by Alan "Flapman" Morgan on Mar.16, 2010, under Dev Journal
Well, it really isn’t a monster but that statement got your attention didn’t it?
I have been trying clean-up and ready a model that a very skilled but very part-time (I say that with a smile on my face in case he is reading this) team member created. The model, our infamous “pod” looks great — and it should. It was made by a guy that is incredibly talented with the 3dsMax design tool. I met him through Craig’s List when I was trying to find someone to tutor me in the art of 3dsMax.
Of course, learning the “art of” is the last thing I would think of when I imagine my learning curve with 3dsMax. It is an awesome and very powerful design program and I am forever indebted to Autodesk for helping our project out but, I am just an impatient person in my mid-life.
I want results fast. Who am I kidding though? It took me 2 years to learn even the basics of Blender. This was because of limited time and lack of focus.
Now, not only do I still have limited time, but focus? I am focussed on making this project a success. Running this project is more than just learning how to make, texture and put the models into the world. It is learning the Multiverse Platform and tools, understanding the design tools and being able to relay info and instructions to team members so they understand. Add onto that, promoting it, recruiting team members, staying in front of the community…the list goes on and on. My understanding in each part is key. I don’t need to be an expert but I need a basic understanding or at least surround myself with those that do. I have to admit though there is a sense of empowerment and the thrill you feel when you have learned something new.
As I have said before, I could not have told you what a poly or a normal was 2 years ago.
Well, anyways, back to the pod model. As you can see from the image below, it is a pretty neat model. I am glad it looks the way it does and it really portrays the effect of its persona: sci-fi/ruffian and very functional. Hmmm. I am not sure I used quite the right words there. I love it though. That’s all that matters.
Story Background: These pods carry cargo and personnel to the planet of Postmoderna. They are the only thing small yet packed enough to get through the space tear. The descend to the planet like steel meteorites even though their huge parachutes do the best they can to slow the fall. Actually the landing is a lot softer than I make it sound. Afterall, there are people in there too.
After the pods are unloaded the metal shells are later converted into parts and materials for further make-shift as well as organized construction on the planet. Think big western “outback” in space. Nothing is wasted.
Now, to the part that is frustrating me. Since I am new to 3dsMax and am desperately trying to hurry to the point I can consider myself at least 10% proficient, I am having trouble taking this model and getting it to the point of importing it into the world.
Yes, I am getting some great counsel from a very good book, The 3dsMax 2009 Bible, by: Kelly L Murdock (awesome reference) and I am also getting help online at The Area, a Autodesk Creative and Knowledge resource for the Design Community, but I feel I am still not getting the answer I am looking for. I just want to UV-Unwrap this model without a ton of tiny little steps to get there.
Now knowledge is power and I will definitely relax and give myself a “V8-kind of smack in the noggin” (V8 is a brand of vegetable juice in case you did not know) when I learn what I need to learn. For now, I just sit there and look at all those tiny pieces that I need to organize so I can texture this beast a little better and have it all nicely packaged when I need to export it to Collada format for Multiverse.
I do know that I will get the answer soon from someone out there and will be able to make this point of frustration a little not-so-recognizable bump in the road I am on. I just need to be patient.
Hmmm. Easy to say though if you are the one with all that knowledge and has been down this path already (or a similar one).
Now what about my friend from Craig’s List?, you might ask. Well, he has his own media business and is hard to reach. He also really specializes in websites and animations. This is why most of his models are high-poly. Up until now he has never had to worry about game-quality models, poly counts or UV Mapping. Come to think of it, neither did I two years ago. I am sure we will reconnect soon. I have to. He has made a few other models I need to figure out too.
I am really glad to have met him and to have been able to work with someone local for a change. Most of the people on this project don’t live in my town many not even in my country. That’s not a bad thing either (I love that it’s a global project) but it’s just nice to have someone local too.
What a few trees will do for your scene
by Alan "Flapman" Morgan on Mar.09, 2010, under Dev Journal
I did not get to do too much project work this weekend as I was at a church retreat with my daughter. It was a really great break. I volunteered along with many others from church to work the camp’s kitchen and serve the 200 or so Jr HS and Sr HS Students. It was exhausting but fun at the same time and I know the students had a blast. It was a really nice break from the stresses of life and a nice distraction from this project. I also made some new friends and that in itself is a reward on top of the reward of just being able to serve these kids and help make their retreat memorable.
Now, let’s recap on some of the work that we did the previous week.
Ion created some new textures for the toolshed, a structure in-world created from pod parts and resources gathered from the surrounding area. We modified some of the shaded texture areas which created a little more realism. Notice the brightness under the roof of the first image below. We both agreed; that needed to be fixed.
Now look at the following image and take note of the differences. Notice the interior roof and some of the other shaded areas.
We updated the textures for the grain and fertilizer bags. Ion created an alternate texture for the grain and a lighter version of the fertilizer sack. The original was a darker green. The newer version was a tad bright so I toned it down with a trick Ion taught me. In Photoshop, I made a copy of the image and used a special blend option called satin. I played around a little with the transparency settings to get the texture to just the right tone. The final image is what your see below. I also kept the original texture for use in shaded areas.
Last but not least, we put in some foliage using the built-in SpeedTree demo that comes with the Mutiverse World Editor. To use it, I created a zone for a forest within the Multiverse World Editor and populated it with trees, grass and roses (those came with the demo). If we want to create more custom foilage (which we will someday), we will need to get a license from SpeedTree. That initially will be around $1600. After the project goes live, we pay the additional $7-10,000. I know it is steep but for it does, I think it is worth it. Right now, the demo objects will work just fine for the purposes of the Planet Postmoderna demo.
What excites me about this is the difference the trees and grass make to the scene. It adds a new dimension to what was a seemly flat landscape. Oh, okay, I lied. It is more than a few trees.



