Some spaceships are enthusiasts' vehicles - sportships, where the fun of flying them outweighs the practicalities or the cost. Modded ships. Ships with cusom paintjobs. Ships that should never have had spaceturbos installed but do. Ships that are loved and adored by their owners.
And similar to future cars, businesses must truck on as well. Space trucks are the evolution into space of ordinary trucks - long distance haulers, flown by truckers and contractors. A big powerful cab owned by a trucker, behind which cargo and trailers can be towed.
There was an awesome game called I-War 2 that had the best space trucks in any game I've ever seen. These freighters were ungainly, ugly ships and you could see the shipping containers attached to the outside of the ship. Deciding on the risk/reward, you could attack the freighters, and after killing any fighter escort they may have, they'd usually surrender and release all their cargo as a last resort to avoid death. You could then radio in for someone to collect the cargo, as the frighter pilot warps away with their life intact, but their cargo lost. 'Popping a freighter' in I-War2 was one of the most rewarding gameplay concepts I've ever come across, and one that I'd love to incorporate into Pegwars.
Thus I've set to work on some new programmer art so I can add an example of the Spacetruck class of ships, to implement gameplay around cargo and 'popping freighters', and also to refresh my knowledge of the modelling and texturing process.
The first step is to model the ship. Firstly, I start by only modelling one half of the ship - later I will mirror + copy + weld. This aids building a symmetrical model, and cuts down on the workload. I start with geometric shapes - boxes, cylinders etc. Then I extrude and bevel the box into different shapes. Once the main shape is blocked out, then the refinement process begins. This involves chamfering edges, applying smoothing groups, tweaking vertices etc. Once the shape is finished, I mirror the mesh along the Z-Axis and weld any co-positional vertices together.
|The Basic Mesh|
After I'm happy with the mesh, comes the painful process of uv mapping. The goal of uv mapping is to create uv coordinates for the entire ship such that it all fits on a single texture map, and the texture map is used in an efficient way. The uv map should have a fairly constant texel - world-size ratio, meaning there are no areas on the ship that are blurrier or more detailed than any other. While there are plugins for Max that you can pay for that unwrap a model for you, in a low-budget (no-budget) game such as this, I have to manually unwrap my models.
The unwrapping process starts by planning which surfaces of the ship should go together on the texture map (sharing edges), and how much texture should be allocated to each area of the ship. Then sets of faces are selected, UVMapped using an appropriate modifier (face, box or cylinder mostly). Then the UnwrapUV modifier is applied. This allows you to manually move the UV coordinates around, overlayed on the texutre map :
|Diffuse (left) Emissive (right)|
|Spacetruck heading for a dock|