Post news Report RSS Announced!

A one man total conversion for Half-Life 2 where every single step in the process will be documented for the public from beginning to end.

Posted by on

Announced!

Who: I am Matthew Webb or better known as "korge." I currently direct and work on the MOTY 2009 Top 100 nominee and racing total conversion, SHIFT.

What:
This is a simple multiplayer first person shooter total conversion for Half-Life 2 (Source SDK Base 2009) that includes 100% custom content as well as a code base that implements new gameplay features.

When: I hope to complete this project mid to late 2011.

To Do:

  1. Game Design/Programming
  2. Story/Level Script
  3. Weapon Modeling/Textures
  4. Weapon Rigging/Animation
  5. Level Design/Mapping
  6. Environment Lighting
  7. Prop Modeling/Textures
  8. Environment Textures
  9. Character Modeling
  10. Character Rigging/Animation
  11. Voice Overs
  12. Sound Effects
  13. Music
  14. Menu Design
  15. Web Design/Hosting
  16. Release

Why: I am creating all of the content on my own as a chance to document and detail my modding experience from beginning to end from the view point of the "learning experience." Many times, someone will decide that their idea is great and would make an excellent mod. They assume because it is great, this allows them to be the "manager" and ask for a full team of talent when in reality, the person is doing very little except telling people what to do. This is my chance to experience the other side of that coin: What if, instead of waiting on a team to complete your mod for you, you took it upon yourself to do it all? It sounds like a lot of work but I believe it is not as far fetched as it sounds. Several modders do this including MOTY 2009 winner Dec1234. Hopefully this will be insightful for myself as well as any would-be or new modders in the community.


The Very First Model


Introduction
Hello! Thank you for taking the time to read this article. It will be the first of many. This post talks about my experience modeling what will be the first weapon in Cure. I will tell you up front that I am NOT a modeler. I am not very artistic and have very little to no knowledge in the realm of 3D modeling so I am learning this as I go. A good way to put it would be learning by trial and error and so far, I can tell you I have done many errors but I am learning through my mistakes.

I am using 3ds Max 2010 for this model. I use Xoliul's viewport shader and Texporter for my UVs.

Concept
I will start with the concept of the knife I chose. While doing my business on the toilet, I was reading a military catalog filled with gear for sale. While flipping through the pages, I spotted a knife that I loved and knew it had to be the one to put into the game. It is a curved knife with a loop on the end for inserting your index (blade down) or pinky finger (blade up) into.

Setup
I looked up reference images on the weapon and unfortunately came up with very few good pictures. After searching, I gave up and used the best one I could find; A side shot at a mere resolution of 500 x 400. This small resolution later proved problematic as I could not distinguish the details.

Either way, I loaded up 3ds Max and set up my viewport background. Another issue I faced was how the quality of the viewport background image was far worse than in the real image! To no surprise, in only a mere hour of starting my modding endeavor, I have hit my first roadbump. I was determined to not let this stop me so I googled the problem and discovered that the default texture quality in 3ds Max is rather low. Great! First roadbump turned out to be a painless learning experience.

Trial and Error
Once I opened my setting and fixed the first problem, I was finally on to modeling. This is where things got tough. I will say that all in all, I had to model this knife 3 times! (not including the low poly).

The first time I modeled my knife, I did not know of a proper workflow so in a way, I was "just winging it." I will tell you of some of the problems I inflicted on myself and what caused me to have to model this knife multiple times.

First, it was silly of me to model my low poly first. Not only did this version lack the detail I wanted, but I could not subdivide my triangles properly. This meant I would not be able to have a normal map later on. I soon found this out because I was very fixed on the idea of making sure all my models had at least a Diffuse, Normal, and Specular map. So once I figured out I should ALWAYS model the high poly model first, I had to scrap my model and start over.

The second time, I tried to model starting with a box. Some people may be talented when it comes to rearranging geometry, but I like to make sure I know that every polygon has its place. I started with a box that had 4x4 polygons on each face. I then proceeded to move the verts where I assumed they should go.

Problem: I noticed I was always forced to have 8 corners. Each of these corners posed a problem for me when it came to trying to create "flow" in my mesh. A regular vertex connects four edges, but a corner vertex on the box only had 3 edges. The fact that I would have to go out of my way to delete them and redo the topology anyways made little sense.

Solution: I decided that poly modeling would work better. I tried both and it seems with poly modeling, I can place my first plane and begin "mapping" out the perceived topology how I wanted.

Also, because my knife was symmetrical, it did not make sense to have polygons along the inner side; after all, that area would be out of view when it came time to bake.

It was not until after all of my trial and error with the Turbo Smooth modifier and the Symmetry modifier that I realized that poly modeling was definitely the way to go with this model.

High Poly Modeling
On the final and third try, I finally had a good knife that was decently shaped and in all quads. I applied the Turbo Smooth modifier and began tweaking the edges how I wanted them. I quickly learned the importance of edge loops and why flow in your topology is so important. Edge loops are pretty powerful because they control the the flow of geometry when the subdivision was applied. Also, because the they model was in all quads, I could quickly grab an edge, click ring or loop (this grabs all other edges in the ring or loop, go figure) and use the connect tool to quickly add edge loops. This allowed me to make certain edges on the model harder or softer when Turbo smooth was on.

This part also took several tries and do-overs but after the grip and blade were in decent shape, I moved on to the knife's bolts. These were the screw holes on the side of the grip. I looked at my model and wondered how I would be able to insert the holes and still keep proper topology. After doing some research, I chose to make the holes as floating geometry. I did this because the holes were not to be modeled on the low poly. They were only there for when I planned to bake the high poly onto my low poly.

Knife Model [High Poly]


Low Poly Modeling
The entire process of creating the high poly model took roughly 2 - 3 days altogether. I did a lot of undo-redo work but as a part of this, but learned how the program works.

Now, on my low poly model, you can guess that this one took more than one try to get right. The first time I had to scrap my model was because I had made it Too low poly! I had stripped it too far and the final result looked extremely blocky.

The second time I redid the model, I had it down to 646 Polys and 1050 Tris. This looked much more acceptable. I made sure to spend all of my triangles around curved surfaces like the finger grips and the end loop.

Knife Model [Low Poly]

Symmetry and Welding Verts
Before I get to UV Unwrapping, I want to touch base with an issue I faced. I do not know the exact cause of this, but I think any modder looking to become a modeler should be aware of this possible issue.

Before I moved on to my UV Unwrap process, I needed to merge my two symmetrical halves on the knife blade as well as the grip. To do this, I needed to first collapse the modifier (make the symmetry permanent) and then weld the seam. To do the weld, I selected the verts that ran along the inner side of the blade and hit the weld tool. This worked like a charm.

My problem came when I decided to target weld verts to downsize my polycount. This caused verts to sit on top of each other where I could not see them. This proved VERY problematic and actually caused me to have to redo my UV map 3 times (3 times a charm?). I will explain why up next.

UV Unwrapping
I hear people say that they don't mind modeling, but they cannot and do not want to UV Unwrap. This caused me to enter this territory with hesitation. I assumed it would be difficult but actually, it wasn't! What it is though was this. Tedious.

When it came time for me to set up my projection cage (high poly to low poly normal map bake) I noticed that when I used the Push modifier on my cage, it would expand the low poly body around the high poly model just fine BUT a single vert would stay in place like an anchor and not expand like the rest of the cage. This caused my normal map to have a big chunk missing.

To fix this, I went back to my original model, found the culprit vert, and target welded it to the proper one. This change in geometry required me to redo my UV Unwrap. Which I was okay with, but it was in fact getting tiresome.

Knife Model [UV Unwrap]

After the next UV was fixed, I did my cage again expecting a perfectly clean bake. No! Again, another chunk was missing from my map. I looked again and found more "loose" verts.

Solution I should have done the first time: What I did not think to do was to select ALL of the verts on my entire model and weld those like I did my symmetry seam! By doing this, I learned, it automatically deletes weird single verts or verts floating on top of each other.

To my surprise, the before and after vert count measured up to be about 8. This is a big difference and I am glad I did not have to redo my UV Unwrap 4 more times.

After doing the final test bake, the normals came out normal (pun).

Normal Maps and Smoothing Groups
When I started modeling, I knew of smoothing groups but it was not until AFTER my normal map was baked that I realized how much of a difference it made. While my bake was clean, I noticed that not all of the model was smooth looking on the normal. In fact, around the grip, I could see each polygon face! This was confusing because I was expecting the model to capture the high poly geometry.

To quickly fix this, I applied separate smoothing groups to the left side and right side, entire grip, blade rim, and loop rim of the knife. Now, my model no longer had a faceted or blocky looking render. I once again rendered my normal map and now my edges were smooth looking on the model.

Wonderful! Another issue fixed. Smooth sailing now, right? Nope. I loaded my material with the normal map and did a test render. While the normal map showed up in the render, something did not look right. The side of the grip looked inside out! After doing some research, apparently I needed to flip the green channel on the normal. I quickly opened up Photoshop and did this, eager to see my final result.

I reloaded my map and did another render. It worked! Finally. :)

Knife Model [Normal Map]

Knife Model [Low Poly w/ Normal Map]

That is as far as I managed to take this model this week, but I do intend to finish it and get it working in game. The next thing to do for this model is to make the texture and specular map as well as animate it and then compile it for Source. Stay tuned and thanks for reading!

-korge

Post comment Comments
Elementalist
Elementalist - - 732 comments

Hopefully won't take too much time away from SHIFT, sounds like an interesting storyline, obviously you're giving that line to try and hook more people in. :P

For box modeling, extrusions are the way to go, not just starting with roughly what you think are the amount of lines/vertices you want. Not sure if that's the way you were going about it, but it sounded like not.

Good luck with the project, *tracked.

Reply Good karma Bad karma+3 votes
Neoplayer2
Neoplayer2 - - 22 comments

Sounds awesome.
Tracked.

Reply Good karma Bad karma+1 vote
sgtteris
sgtteris - - 304 comments

I don't have the game but the detail of the news is awesome.
Definitely tracked.

Reply Good karma Bad karma+1 vote
Maxwell_EG
Maxwell_EG - - 32 comments

Good luck with this. It's hard enough for the three of my friends and I to work around school.

Keep us updated. If you wanted, track us as well. We're also trying to keep as up to date with production documentation.

Game title is ECHO

Reply Good karma Bad karma+1 vote
Ryswick17
Ryswick17 - - 416 comments

T-t-t-tracking

Reply Good karma Bad karma+2 votes
M@ty
M@ty - - 508 comments

Good look - its not as easy job! If you need any modelling assistance, hope on over to the 3D Artists moddb group and we can have a go at helping you out :).

Video diaries would be epic, too!

Reply Good karma Bad karma+1 vote
jjawinte
jjawinte - - 5,067 comments

Sounds like a admirably worthy endeavor ( and challenging as well ). I'll be tracking your progress. All the best !

Reply Good karma Bad karma+1 vote
newbie2356
newbie2356 - - 140 comments

I support you with this, and respect you wanting to do it on your own. Keep going!

Reply Good karma Bad karma+1 vote
Jokerme
Jokerme - - 1,170 comments

Sounds great. I'll be following all the way.

Reply Good karma Bad karma+1 vote
Killi101
Killi101 - - 1,132 comments

I Completely agree that no-one likes to uv-unwrap good luck, nice blade!

Reply Good karma Bad karma+1 vote
OriginalPerry
OriginalPerry - - 107 comments

Definitly going to be an interesting mod, with all the detail and time I think it will be hard to release periodic updates, but tracking ;)

Reply Good karma Bad karma+1 vote
izzysinz
izzysinz - - 316 comments

Very detailed write up and for that alone i will be tracking the mod.

Reply Good karma Bad karma+1 vote
xXMaNiAcXx
xXMaNiAcXx - - 4,807 comments

Maniac wish you luck with this mod, I hope that you can make it as you wish, and if needing help with ideas, i'm always here.

Reply Good karma Bad karma+1 vote
SpacemanBoots
SpacemanBoots - - 3 comments

I love these things where you get to see all the process of making a game, even when it's a game that is not of my interest.

I see that you have both sides of your knife separately mapped. I believe you can just put the left side of your knife over the right side of your knife if you want them to be identically textured.

GL

Reply Good karma Bad karma+4 votes
Cryrid
Cryrid - - 197 comments

I'll just toss in a couple of my cents, coming from a modeler:

I wouldn't say it is silly to model the low-poly first; it all depends on the type of model and your workflow. In some cases low-res first can make the process much faster (especially with floating geo). It seems the bolts are the only things that benefit from having a normal map in the first place, so I would have started with the low for this particular model. This would have also prevented a few errors such as on the tip of your blade; the highpoly's blade is a bit shorter and rounder due to being turbosmoothed, so you can see where it ends on the normalmapped version. There are a few other errors on the normal map as well, mainly some weird smoothing along the top of the grip and on the ring. The normal map has gradients where these errors are present which are not present on the high-poly. Did you place your smoothing groups exactly along the UV seams?

Also, as SpacemanBoots has said, you could have stacked the UVs since both sides are exactly symmetrical.

Reply Good karma Bad karma+3 votes
Noodlemonk
Noodlemonk - - 21 comments

A very nice and interesting read! Keep 'em coming and I'll be sure to follow this one closely.

Reply Good karma Bad karma+1 vote
DOLBYdigital
DOLBYdigital - - 623 comments

Good luck and look forward to future updates. I really like the idea of this mod as a teaching model and community learning experience. I can already see the comments coming back are insightful and filled with knowledgeable opinions and ideas. Its great to see open development projects like this so keep up the work!

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: