Thanks for sharing.I found a lot of interesting information here. A really good post, very thankful and hopeful that you will write many more posts like this one. - earn to die
Very impressive work dude!
One of the creators of the impressive giants-fighting game Prey for the Gods Tim Weise talked a little bit about his side project – SceneMate. This is an impressive tool, which lets you build 3d-environments in Unity 5 much faster. Let’s have a look at this tool and figure out who can really benefit from SceneMate’s features.
Tim Wiese Introduction
I’m a avid game player, majority of the time on PC. I’ve been working on games in some form since I was very young. Before I discovered how to make levels for video games I would design board games for my family to play. First game I could remember working on (modding) was Interstate 76 using their level editor.
In 2009 I began my professional career in the Games Industry at High Voltage Software in Illinois. I started as an Environment Artist, but I had always been drawn most to the tech and tools of making games. While working at Tencent Boston/Stomp Games I had my first professional experience with Unity.
At the same time I joined a few friends on a fun side project but we didn’t have an engineer, so having a little experience from college courses and high school in C++, I took on the role of Engineer. I learned a ton very quickly in doing this and it started to carry over into my day job.
I began making tools for people at work in Unity to make their job easier and take some of the workload from the Engineers. After making a bunch of world building tools for the team at work I began to understand what were the common pitfalls with world building in Unity. That’s when I started to develop SceneMate in my spare time.
Right now I am completely focused on Prey for the Gods. I have been thinking of updating SceneMate with better Object Painter tools and fixing some warnings that come up, but I have had almost zero time to work on it.
The Attitude Towards Unity
I’m pretty biased for Unity, probably because it is the first engine I felt really comfortable jumping in and making scripts. It felt like so much could be made in so little time when I was developing. I had worked with Torque, Unreal, C4, Infernal and a few other engines before Unity, but all of them I felt like I had to start by hacking around what the engine was built for (for example Unreal at the time I could make a FPS game prototype quickly but anything else was a pain). Unity felt barebones in a good way, it didn’t seem like it has a predisposed game type it’s made for, so you could take your game in any direction and fast.
In my experience Unity can sometimes break down on very large teams, things like Scenes and Prefabs don’t merge well. It’s also not a engine built from the ground up for huge open worlds although some plugins are doing this relatively well. I think the biggest benefit of Unity is the asset store. There is so much good stuff on the Asset Store, it is really hard for me to think about developing without it anymore, it’s just such a major time saver.
The great thing about Unity is the flexibility of the editor scripting to extend the editor. Unfortunately this also means you will find many one off scripts that do a very specific tasks.
SceneMate is a tool attempting to combine many common world building tools into one small and powerful UI, so you don’t have to fumble through many menus. SceneMate is based around world building, and so most of the features cater to that. Since there are so many features I won’t go into detail on any one specific one, but I’ll list them out, with short summaries:
- Match Tools: Make a GameObject(s) match the rotation, position or scale of another GameObject
- Flip Tools: Flip an object on the X, Y or Z axis.
- Reset Tools: Zero out the Position/Rotation/Scale of a GameObject
- Enhanced Debug: Contains many useful statistics about the selected GameObjects.
- Randomization Tools: Randomize Position/Rotation/Scale of one or many GameObjects
- Fit Collider: Fits a collider to another GameObject.
- Prefab Replace: Replace prefabs in the scene.
- Offseting Tool: Offset one of multiple GameObjects by an amount using multiple parameters.
- Snap Tools: Many Tools for snapping GameObjects to other GameObjects.
- Rotation Tools: Multiple Options for rotating making objects at once.
- Distrubute/Alignment Tools: Aligning GameObjects to Other GameObjects in various ways.
- Object Painter: A GameObject painter, for place GameObjects in a scene quickly
- Color Swatches: Saves colors so you can reuse them.
- Hotkeys: assign a Hotkey to anything in SceneMate.
When I was creating SceneMate I looked to other engines and 3ds Max for how they handle various tasks with world building. I modeled the UI after some of the UI I was used to in 3ds Max. For me SceneMate lets me build scenes faster by having many commonly used tools in a compact and convenient UI. I think the challenges developers face while building a scene are going to be different depending on the game, with SceneMate I tried to address the most generic of those problems without cluttering the UI with tools for very specific tasks.
The Most Important Tools for an Environment Artist
I think having the right tools for the job is great and will speed up the process, but most importantly a solid block out and planning process is by for the most important thing a Environment/Level Designer can do. Spending the time to block everything in, play test it like crazy, do paint overs of it, then finally get in and make it pretty.