Overgrowth Alpha 17
Here is what is new in Overgrowth this week...
If you are confused, please read our fancy FAQ.
There are a few things I am excited to tell you guys about this week.
1) Continuing in the theme of moving towards combat, Rabbot can now be controlled smoothly with the mouse, Lugaru style.
2) We have hooked up a main menu, so you can load levels easier, and do things like that (it is a very early first draft).
3) We have started some early scripting work. I want to talk about this in depth later, but basically, we have hooked up Google's V8 Javascript engine. Any command you type in the console is executed as Javascript, and we have exposed various parts of the engine to it.
I did not have time to include more user created maps, but recently there has been an awesome surge in community maps in the secret preorder forum. I am really excited about that and we will definitely be highlighting some of them soon.
We are continuing work on the animation editor and various other parts of the engine relating to combat, in addition to some bug fixes.
Thanks as always for all the support! See you guys in IRC and the forums.
Greenhouse in the House
We like to keep you guys informed about all aspects of Overgrowth, from software development to business development. You may have seen our previous post about indie friendly distributors and seen that Greenhouse was the last straggler for a long time and we were starting to wonder if they had gone the way of Manifesto Games. Luckily, I wanted to let you and other indie developers who may have gotten the wrong idea that they are more than alive. We have now gotten acknowledgement (and in some cases full fledged deals) from everyone on the list.
We actually first heard about Greenhouse through you guys in response to our Steam announcement. They seemed like a perfect fit for us because not only do they like indie games, but they also distribute games for Mac, Linux, and Windows. We figured that they might be the first to respond to our distribution inquiries. However, after sending quite a few emails we heard nothing for months. We weren't sure what to think. Was their business on hold? Were they not accepting new titles? Were we being ignored, or worse, being snubbed?
Nope. Here's what happened: When I send emails to distributors describing Overgrowth I prefer to show them what we're doing rather than attack them with a blabbering bombardment. As a result, I usually cram my text full of links to our best videos, pictures and web sites. Unfortunately, this approach consistently triggered Greenhouse's spam filter and kept my online distribution inquiries from reaching them. Thanks to our blog, they eventually noticed us anyway and called me personally to explain the situation. It turns out that their spam filter was configured too aggressively and we were not the only ones who were unable to get through!
We still have a way to go though. While some distributors are willing to set things up early, Greenhouse has a principal of only agreeing to distribute games that they have thoroughly play-tested and approved. We totally respect this and look forward to showing them Overgrowth further down the road. Greenhouse was created by the same people running Penny Arcade. I like the nature theme shared by Greenhouse and Overgrowth. Doesn't it seem like a Greenhouse would be a great place for some overgrowth to flourish?
Can you guys think of any other major distribution sites that we should pursue?
Map Editor Controls
As we highlighted yesterday, there's been a recent explosion in Overgrowth level bulding in the Secret Preorder Forum. I've been really blown away by all this. One of the things that amazes me is that the modders have been managing to do so much with so little formal instruction from us; we haven't had a readme since around Alpha 1. But now, to encourage even more level building activity, and to encourage more powerful use of the tools, I've finally updated the instructions. In addition, some time ago we made a crash course video tutorial on the map editor. I'd suggest watching the video first, as it gives a good visual overview. After that, you can use this post to learn about our editor's precise details, specific controls, and latest features.
Note: I'll sometimes refer to 'cmd' in the following. PC users should use 'ctrl' in place of 'cmd'. Also, please keep in mind that the editor is a work in progress and the specific controls are still very much subject to change.
Camera Movement
Control | Behavior | |
---|---|---|
Forward | 'w' | Moves camera forward. |
Backward | 's' | Moves camera backward. |
Left | 'a' | Pans camera left. |
Right | 'd' | Pans camera right. |
Up | shift + 'w' | Moves camera up. |
Down | shift + 's' | Moves camera down. |
Tool/Mode Selection
Translate |
Click 'translate' button or press '4' | Sets tool to translate tool. When hovering over a selected object, cursor will indicate the currently chosen tool. |
Scale |
Click 'scale' button or press '5' | Sets tool to scale tool. |
Rotate |
Click 'rotate' button or press '6' | Sets tool to rotate tool. |
Paintbrush |
Click 'paintbrush' button or press '3' | Sets tool to paintbrush tool. |
Omni | press '7' | Sets tool to omni tool. The omni tool combines the translation, scale, and rotate tools. See 'Transformation' section for details on how the omni tool decides which of its states to act in. |
Game mode | press '8' | Sends in Rabbot! |
Editor mode | press '9' | Back to editor mode. |
Object Creation
Load objects |
cmd-l (or click 'load' button) + left-mouse-click | Opens up a dialogue box in which the user may specify an xml file containing object data (anything in "./Data/Objects" or "./Data/Levels"). Places selected objects in scene, centered at mouse click. |
Copy objects | cmd-c | Copies all selected objects (and their relative placement) into a copy buffer. |
Paste objects | cmd-v | Adds to scene all objects in the copy buffer. Centers objects at mouse location. |
Paintbrush |
Set tool to 'paintbrush' + hold 'p' + left-click-and-drag | Quickly adds semi-randomized objects to the scene, centered about mouse location. Let go of 'b' to move camera. Control paintbrush properties with sliders and checkboxes in the 'Misc' UI panel. More info here. |
Object Selection
Select single object | double-left-click on object | Selects clicked on object and deselects all other objects. If the object is part of a group, the whole group is selected. Bounding box and slight glow indicate object is selected. |
Toggle-select objects | shift + double-left-click on objects | Toggles whether or not clicked on object is selected. Preserves other existing selections. |
Box select objects | left-click + right-click + drag, or left-click + 'b' + drag | Selects all objects whose centers lie within box drawn on screen. Deselects all other objects. |
Box toggle-select objects | shift + left-click + right-click + drag, or shift + left-click + 'b' + drag | Toggles selection state for all objects whose centers lie within box drawn on screen. Preserves other existing selections. |
Select all | cmd-a | Selects all objects. |
Deselect all | double-left-click away from all objects | Deselects all objects. |
Transformations
For all transformations:
- In order to transform an object you must first select it.
- Hold ctrl to make movements snap by discrete increments.
- Hold alt to transform a clone of an object (or multiple objects), leaving the original object behind
- Left-click controls a 'generic' version of the transformation; right-click controls a version of the transformation contextually specific to the clicked on face. Holding shift locks the transformation to a single axis.
- Groups are transformed about the group center. Ungrouped objects, even if multiple are selected and transformed at once, are transformed about their own individual centers.
Translation
Set tool to 'translation', or set tool to 'omni tool' and hover mouse over central region of a bounding box face, or set tool to 'omni tool' and hold 't'.
Camera relative | left-click + drag | Translates clicked on object along plane parallel to the screen. |
Locked to plane | right-click + drag | Translates clicked on object along plane of clicked on face. |
Locked to line | shift + right-click + drag | Translates clicked on object along normal of clicked on face. |
Scale
Set tool to 'scale', or set tool to 'omni tool' and hover mouse near bounding box vertices, or set tool to 'omni tool' and hold 'e'.
All dimensions | left-click + drag | Scales clicked on object in all dimensions (x, y, and z) at once. |
Locked to plane | right-click + drag | Extends clicked on object along plane of clicked on face. |
Locked to line | shift + right-click + drag | Extrudes clicked on object along normal of clicked on face. |
Mirror
Just use the right-click scale tool, and scale down the object until it flips and its mirror image begins scaling up!
Rotation
Set tool to 'rotation', or set tool to 'omni tool' and hover mouse near bounding box edges, or set tool to 'omni tool' and hold 'r'.
Free | left-click + drag | Rotates clicked on object as if you are pushing the surface of a ball. |
Locked to axis | right-click + drag | Rotates clicked on object about normal of clicked on face. |
Grouping
Group objects | cmd-g | All selected objects and groups are joined into a new group. Groups are hierarchical, so grouped groups are treated as subgroups. Objects in a group are selected as a unit and transform as a unit. |
Ungroup objects | cmd-shift-g | All selected groups are disbanded at their outermost level. |
Undo/Redo
Undo action | cmd-z | Undoes the last completed action. |
Redo action | cmd-shift-z | Redoes the last undone action. Redo-able actions are cleared whenever the user completes a new action. |
Object Removal
Delete objects | delete or backspace | Deletes all selected objects. |
Saving
Auto-save | Automatic | Every 30 seconds or so the program automatically saves the entire level to the file "./Data/Levels/autosave.xml" |
Save level | cmd-s | Saves entire level to the same path as the level was opened from, overwriting the old level file. |
Save selected objects | cmd-shift-s | Saves-as all selected objects to a path specified by the user in a dialogue box. |
I hope I did not miss anything major, but if I did, please let me know in the comments. As always, thoughts and suggestions will be appreciated!
Applauding Recent Modding
After mentioning Nimai's great works in our Alpha 16 post there has been a continuing flurry of Lugaru and Overgrowth modding activity.
Overgrowth Modding:
Jo-Shadow recently posted a dissertation on creating, skinning, and loading custom models into Overgrowth. He carefully describes everything from setting up UV maps to creating a clean *.obj file that can be used by our map editor's model loader. Preorderers can access his marvelous post here.
Hale has given Nimai some friendly competition by crafting an intricate mountain outpost. Here's a brief glimpse:
More photos can be found in his SPF post.
Also Nimai wanted us to mention that his town is now finished. He made houses for each of the 5 of us. He even posted the XML file so others can load his level into their alphas. Here's the house that Nimai made for me:
I wanted to return the favor so here's a house I made for Nimai:
Lugaru Modding:
Smok came to visit me on Meebo looking for advice on how to solve a Lugaru dialogue creation error he was encountering on Windows. I directed him to the forums and the Lugaru Wiki page but he had already thoroughly scanned them for information. A quick discussion on IRC confirmed that other people were having the same dialogue modding trouble on Windows. So Smok decided he should just make his own dialogue editor. It is quite impressive and everyone can check it out here.
Lotus Wolf forged 2 more weapons this week. He released both the Archaic Knife and the Master Sword.
It always brings us great joy to see how you guys can grab our basic tools and use your talent and creativity to take them to the next level. Great work!
How I Make Overgrowth Assets: Part III, The Base Model
Here is the third part of how to make an Overgrowth asset. This time I will talk about making a base model to sculpt from. This is the first of the 3 models I will make to create the final asset. I built this using 3D Studio Max 9 with the intention of importing it into Mudbox 2009.
I only want to touch on the basic techniques I am using a little bit. There are lots of tutorials out there already for the techniques I use. To build the basic shapes I use a technique called "box-modeling" where you start from a box and extrude or cut faces and move vertices around until you have the desired results.
Once I am done with that, I use some subdivision (AKA sub-D) modeling techniques to help with some of the more linear details. What this does is that it smooths out your original model, but the main reason to do it at this step is so that you can refine the shapes more and eventually use this model for making normal maps. One technique I like a lot is to use smoothing groups to define sharp corners and lines. Although it is usually better to let your sculpting software subdivide your mesh, there is often no easy way to get nice hard edges once you start sculpting.
One of the main things that differentiates a really good base model from a bad one is how consistent the mesh density is. My finished one is not perfect, but it could be worse :)
One more critical thing to remember for a base mesh is to keep everything as quads! Triangles will not smooth correctly once they are imported into Mudbox. I use .obj format for my exported files. Next week I will start detailing this in Mudbox.
Any tips from other modelers out there? What software do you like?