Dota 2 Workshop Tools Introduce "Hammer 2014"

Omnomnick

Retired Lead Content Creator
Staff member
Joined
May 29, 2007
Messages
6,324
Reaction score
1,136
A seemingly empty Dota 2 update released yesterday evening has revealed a whole load of new features for the game's upcoming Workshop support as well as a brand new "2014" version of Valve's Hammer Editor, which features a brand new interface and a load of new features.

Hammer1.png Hammer2.PNG Hammer3.png

By entering the Steam Client Beta and selecting the "Dota 2 Workshop Tools Alpha" option from within the game's Downloadable Content list, users can access the newest version of Hammer which is currently only used to create maps and mods for Dota 2's upcoming Steam Workshop support.

As you might expect, this 2014 overhaul of Hammer has also introduced some brand new features previously not supported in the older, extremely outdated variants, including Texture Projection for UV Maps, Asset tabs, improved object properties, superior geometry manipulation, and an all-new Tile Editor which uses predefined areas to be quickly linked together to form simple gameplay spaces with next to no effort. Hammer is joined by several additional editors, including built-in model, material, particle creators alongside a soon-to-be-released sound editor, all of which are built straight into the SDK itself. This new version of Hammer, while still in development, features a huge variety of other advanced features that are worth exploring, as shown by the huge list of recent changes on the Valve Development Wiki.

While several features have yet to be added, it's already very likely that this editor, or one very similar to it, is also set to be used for the upcoming Source 2 engine. Since the tools are still classified as being in the "alpha" stage of development, it isn't recommend you start messing around with the new version of Hammer just yet unless you know what you're doing. We've heard problems such as crashes are still quite frequent (in true Hammer tradition), so it might be worth waiting a little longer for Valve to update it before you start diving in head first.

At the time of writing, the tools can only be used to create maps and mods for Dota 2, even if it is currently impossible to play any of them publicly in-game. The update we mentioned at the start of this post introduced live Steam Workshop code which allows users to upload and view mods, but not to actually download or play any of them. This is due to the fact the in-game custom gamemode lobby is currently not ready for primetime, but it will most likely be up and running within a few weeks.

It remains to be seen if this newer, far more advanced version of Hammer will be rolled out into the development kits of other Source titles such as Team Fortress 2, Counter-Strike: Global Offensive, or Left 4 Dead, but it's an exciting new change which should prove extremely helpful for modders tired of having to work around the decade-old problems which continue to exist within the now-ancient versions of Hammer.
 
Last edited:
Damn Finally 2014 Hammer. Just disappointed on the loss of the Graph.
 
Oh, wow, now that's interesting. I wonder if this means that Valve is gearing up to publicly discuss Source 2? It seemed like the new version of Hammer was closely tied to the new engine based on that leaked powerpoint with the Plantation screenshots we got a little while ago.
 
Has it been made any simpler? (as in easy to use and learn) like close to sfm simplicity?
 
Poking through the files hoping to find some new or intersting things.

I think Source 2 will take advantage of PhysX in some way. To what extent, I don't know. But here's a reference to PhysX that I found:

\..\Steam\steamapps\common\dota 2 beta\dota_ugc\game\bin\sdkassettypes.txt

Code:
<!-- schema text {7e125a45-3d83-4043-b292-9e24f8ef27b4} generic {198980d8-3a93-4919-b4c6-dd1fb07a3a4b} -->
CAssetTypeConfig
{
    //////////////////////////////////////////////////////////////////
    // Resource Types
    //////////////////////////////////////////////////////////////////

    CResourceAssetTypeInfo[] m_ResourceTypes =
    [
        ...

        CResourceAssetTypeInfo
        {
            string m_Name             = "physics_collision"
            string m_FriendlyName         = "Physics Collision Mesh"
            string m_IconLg         = "toolimages:assettypes/physics_lg.png"
            string m_IconSm         = "toolimages:assettypes/physics_sm.png"
            string m_Ext             = "vphys"
            string m_ResourceModule     = "vphysics2"
            bool m_bHideTypeByDefault    = true
            bool m_bIgnoreCompiledState     = true
            string[] m_AssetTypeGroups    = ["Physics"]
            string m_CompilerIdentifier    = "CompileVPhysXData"
            bool m_bCanBeAChildCompile    = true
        },
    ]
 
Dang, that's a neat find.

It could be that the new Hammer supports the use of PhysX so that users working on amateur projects don't have to code game physics from scratch, maybe? Download the SDK, transplant some code, boom, you're done. It seems to me like a big part of what Valve would envision for Hammer 2.0 is an editor that even amateur programmers can use with relative ease.
 
This is great, i wonder how Custom games will be implemented. Something similar to GMod in which custom games can be searched for exclusively, and there are lists sorted by gamemode would be excellent :D
 
The editor references source engine 1.0 here:

TceFevd.png


The editor compiles to a new map format, vmap_c

It also uses a new model format, vmdl.
You can import tgas, FBX files, and here's a list from facepunch of the rest:

• Brushes are now meshes and act like models. You can edit by face, edge, and vertex.

• New particle editor / realtime material editor

• Better prefab support, just drag and drop a prefab from the asset browser to place and double click in the viewport to edit it.

• You can blend ANY materials together on displacements in hammer, no more specifying $basetexture and $basetexture2

• Custom Tilesets (Might be Dota specific)

• Realtime Lighting, WYSIWYG

• Hammer has its own model editor and asset browser

• The developer binary of the game as well as hammer run through what's called vconsole, where you can get feedback and run console commands just like the regular ingame console

• There's a new 3D viewport manipulator that lets you transform as well as change lengths of meshes which is quite useful.

• Pivot points

• Compiling doesn't freeze your PC

• The engine now uses a new type of models, vmdl

• They also dropped bsp, they now use a custom format named vmap (vmap_c when compiled)

I'm pretty sure this changes mean a new engine is comming soon.
 
Poking through the files hoping to find some new or intersting things.

I think Source 2 will take advantage of PhysX in some way. To what extent, I don't know. But here's a reference to PhysX that I found:

\..\Steam\steamapps\common\dota 2 beta\dota_ugc\game\bin\sdkassettypes.txt

Code:
<!-- schema text {7e125a45-3d83-4043-b292-9e24f8ef27b4} generic {198980d8-3a93-4919-b4c6-dd1fb07a3a4b} -->
CAssetTypeConfig
{
    //////////////////////////////////////////////////////////////////
    // Resource Types
    //////////////////////////////////////////////////////////////////

    CResourceAssetTypeInfo[] m_ResourceTypes =
    [
        ...

        CResourceAssetTypeInfo
        {
            string m_Name             = "physics_collision"
            string m_FriendlyName         = "Physics Collision Mesh"
            string m_IconLg         = "toolimages:assettypes/physics_lg.png"
            string m_IconSm         = "toolimages:assettypes/physics_sm.png"
            string m_Ext             = "vphys"
            string m_ResourceModule     = "vphysics2"
            bool m_bHideTypeByDefault    = true
            bool m_bIgnoreCompiledState     = true
            string[] m_AssetTypeGroups    = ["Physics"]
            string m_CompilerIdentifier    = "CompileVPhysXData"
            bool m_bCanBeAChildCompile    = true
        },
    ]
Well Valve are now using their own in-house built physics engine on Source 2. Rubikon.
 
YES! I hope someone makes a warcraft 3 mod for Dota 2 hahaha, wouldnt that be funny? :D
It shouldnt be that hard, right?
 
Poking through the files hoping to find some new or intersting things.

I think Source 2 will take advantage of PhysX in some way. To what extent, I don't know. But here's a reference to PhysX that I found:

but thats "physics", not "physX". I dont believe Valve will use nvidia exclusive crap like that. At least I hope they wont.
 
but thats "physics", not "physX". I dont believe Valve will use nvidia exclusive crap like that. At least I hope they wont.
Of course they won't. This isn't some small 3-man studio without a lot of resources. This is Valve we're talking about.
 
In general I am curious which advancements are still hidden from us. There must be a ton of features which they excluded from this SDK purely on the basis that Dota2 doesn't need several of the Source 2 features.
Anyway, exciting times ahead. Was Valve going to Gamescom?
 
I hope valve releases it publicly for mod maker use soon. Hopefully it would speed up production of BMS, OBM, Wilson Chronicles and....well you get the point.
 
I hope valve releases it publicly for mod maker use soon. Hopefully it would speed up production of BMS, OBM, Wilson Chronicles and....well you get the point.

MAYBE THEY HAVE IT ALREADY! THATS THE ENGINE THEY PORTED IT TO! (remember the news)
sry for caps :p
 
MAYBE THEY HAVE IT ALREADY! THATS THE ENGINE THEY PORTED IT TO! (remember the news)
sry for caps :p

I remember. I think they denied that it was being ported to source 2. That being said I find it extremely likely that they will port it from source 2013 to source 2 at some point, since it looks like valve will do that with Dota 2. One can only dream. I just wish these awesome source mod projects would start releasing, i need my Half-life fix!
 
Well, the valve developer wiki just crashed.

also anyone know how to access the tools?
 
also anyone know how to access the tools?
I mentioned it in the post, find "Downloadable Content" for Dota 2, tick the "Workshop Tools Alpha" option then wait for the 5.5GB to download. Once it's done, head to your "Tools" list in the Steam Library and open up the Workshop Tools Alpha and you'll be good to go.
 
I mentioned it in the post, find "Downloadable Content" for Dota 2, tick the "Workshop Tools Alpha" option then wait for the 5.5GB to download. Once it's done, head to your "Tools" list in the Steam Library and open up the Workshop Tools Alpha and you'll be good to go.
Thanks, I didn't know you had to go to tools to access it.
 
Well, the valve developer wiki just crashed.

also anyone know how to access the tools?

Open up Dota 2 and go to the Play window. At the very bottom there is a tab that say "Custom Game" click on it and it will tell you that you need the "Dota 2 workshop tools required" Click on install. (It's about a 5.5 gb install) Once it's finished, go to your "tools" tab on steam and select Workshop Tools Alpha and voila, you have the tools!

Edit: Omnomninja'd
 
I remember. I think they denied that it was being ported to source 2. That being said I find it extremely likely that they will port it from source 2013 to source 2 at some point, since it looks like valve will do that with Dota 2. One can only dream. I just wish these awesome source mod projects would start releasing, i need my Half-life fix!

not ported to Source 2, but they still may have these tools to work with. What else it could be?
 
Well Valve are now using their own in-house built physics engine on Source 2. Rubikon.
We've seen the name but don't really know what it is. Rubikon may be a derivative of PhysX. Creating a whole physics engine from scratch is difficult (but certainly doable). Plus we know that Valve and Nvidia have been working together closely with Nvidia Shield, SteamOS, and Source Linux, so there may be a partnership going on with PhysX in some way, too.
but thats "physics", not "physX". I dont believe Valve will use nvidia exclusive crap like that. At least I hope they wont.
Read it again. It's telling it to compile "VPhysX" (Valve PhysX?) data and it points to the vphysics2 library. It's difficult to decompile vphysics2.dll source code but we can open it raw and read all of the used strings inside. Here is the DLL - it takes a minute to load: http://pastebin.com/ZwrWy3Y1

For what it's worth, these are all the string references to VPhysX in vphysics2.dll:
RESOURCE_TYPE_VPHYSX_PHYSICSDATA
HVPhysXSurfacePropertiesList
RESOURCE_TYPE_VPHYSX_SURFACE_PROPERTIES
VPhysX Interface ResourceMgr v0.1
InfoForResourceTypeCVPhysXSurfacePropertiesList
CVPhysXSurfacePropertiesList
CVPhysXSurfacePhysicsParams
CVPhysXSurfaceAudioParams
CVPhysXSurfaceAudioSounds
CVPhysXSurfaceGameProperties
VPhysXBodyPart_t
VPhysXBodyPart_t::VPhysXFlagEnum_t
VPhysXCollisionAttributes_t
VPhysXRange_t
VPhysXConstraintParams_t
VPhysXConstraintParams_t::EnumFlags0_t
VPhysXConstraint2_t
VPhysXJoint_t
VPhysXAggregateData_t
VPhysXAggregateData_t::VPhysXFlagEnum_t
VPhysXBodyPart_t::FLAG_STATIC
VPhysXBodyPart_t::FLAG_KINEMATIC
VPhysXBodyPart_t::FLAG_JOINT
VPhysXBodyPart_t::FLAG_MASS
VPhysXConstraintParams_t::FLAG0_SHIFT_INTERPENETRATE
VPhysXConstraintParams_t::FLAG0_SHIFT_CONSTRAIN
VPhysXConstraintParams_t::FLAG0_SHIFT_BREAKABLE_FORCE
VPhysXConstraintParams_t::FLAG0_SHIFT_BREAKABLE_TORQUE
VPhysXAggregateData_t::FLAG_IS_POLYSOUP_GEOMETRY
VPhysXAggregateData_t::FLAG_LEVEL_COLLISION
VPhysXAggregateData_t::FLAG_IGNORE_SCALE
CAtomicManipulator<class CResourceArray<struct VPhysXBodyPart_t> >::Allocate
CAtomicManipulator<class CResourceArray<struct VPhysXBodyPart_t> >::AllocateAndCopy
CAtomicManipulator<class CResourceArray<struct VPhysXBodyPart_t> >::Copy
CAtomicManipulator<class CResourceArray<struct VPhysXBodyPart_t> >::Deallocate
CAtomicManipulator<class CResourceArray<struct VPhysXConstraint2_t> >::Allocate
CAtomicManipulator<class CResourceArray<struct VPhysXConstraint2_t> >::AllocateAndCopy
CAtomicManipulator<class CResourceArray<struct VPhysXConstraint2_t> >::Copy
CAtomicManipulator<class CResourceArray<struct VPhysXConstraint2_t> >::Deallocate
CAtomicManipulator<class CResourceArray<struct VPhysXJoint_t> >::Allocate
CAtomicManipulator<class CResourceArray<struct VPhysXJoint_t> >::AllocateAndCopy
CAtomicManipulator<class CResourceArray<struct VPhysXJoint_t> >::Copy
CAtomicManipulator<class CResourceArray<struct VPhysXJoint_t> >::Deallocate
CAtomicManipulator<class CResourceArray<struct VPhysXCollisionAttributes_t> >::Allocate
CAtomicManipulator<class CResourceArray<struct VPhysXCollisionAttributes_t> >::AllocateAndCopy
CAtomicManipulator<class CResourceArray<struct VPhysXCollisionAttributes_t> >::Copy
CAtomicManipulator<class CResourceArray<struct VPhysXCollisionAttributes_t> >::Deallocate
InfoForResourceTypeCVPhysXLevelData
CVPhysXLevelData
CVPhysXMesh
DmeVPhysXMesh
CAtomicManipulator<class CResourceArray<class CVPhysXMesh> >::Allocate
CAtomicManipulator<class CResourceArray<class CVPhysXMesh> >::AllocateAndCopy
CAtomicManipulator<class CResourceArray<class CVPhysXMesh> >::Copy
CAtomicManipulator<class CResourceArray<class CVPhysXMesh> >::Deallocate
VPhysXDiskShapeHeader_t
VPhysXDiskShapeHeader_t::VersinEnum_t
VPhysXDiskMesh2_t
VPhysXShapeCompoundHeader2_t
VPhysXDiskCapsule_t
VPhysXDiskShapeHeader_t::VERSION
.?AV?$CSchemaClassBinding@VCVPhysXSurfacePhysicsParams@@@@
.?AV?$CSchemaClassBinding@VCVPhysXSurfaceAudioParams@@@@
.?AV?$CSchemaClassBinding@VCVPhysXSurfaceAudioSounds@@@@
.?AV?$CSchemaClassBinding@VCVPhysXSurfaceGameProperties@@@@
.?AV?$CSchemaClassBinding@VCVPhysXSurfacePropertiesList@@@@
.?AV?$CSchemaClassBinding@UInfoForResourceTypeCVPhysXSurfacePropertiesList@@@@
.?AV?$CSchemaEnumBinding@W4VPhysXFlagEnum_t@VPhysXBodyPart_t@@@@
.?AV?$CSchemaEnumBinding@W4EnumFlags0_t@VPhysXConstraintParams_t@@@@
.?AV?$CSchemaEnumBinding@W4VPhysXFlagEnum_t@VPhysXAggregateData_t@@@@
.?AV?$CSchemaClassBinding@UVPhysics2ShapeDef_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXBodyPart_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXCollisionAttributes_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXRange_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXConstraintParams_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXConstraint2_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXJoint_t@@@@
.?AV?$CSchemaClassBinding@UVPhysXAggregateData_t@@@@
 
Last edited:
yeah but PhysX is stupid. I have an AMD graphics card, Valve will say "**** you" to me? I dont think so.
 
I said the physics engine may be a derivative. Meaning that, at the engine's core is PhysX, but it's heavily modified and not platform exclusive.

It's not a big deal, really. I just find it interesting that that is the path they've chosen to take (if I'm interpreting this sparse amount of info correctly), as someone who has built and reads about game engines himself..
 
but would Nvidia allow that? Modify physX so its maybe better and AMD users can use it too? Cause last time I checked the news they are doing everything they can to prevent AMD from using any nvidia stuff.
 
They propably just used "Source 1.5" just like Titanfall. I don't think this is the "full" version of the Source 2 engine. But it must mean we're close!
 
but would Nvidia allow that? Modify physX so its maybe better and AMD users can use it too? Cause last time I checked the news they are doing everything they can to prevent AMD from using any nvidia stuff.
It's not a big deal. I'm sure these two behemoths, Valve and Nvidia, could come to a swift agreement.
 
Well, i'm afraid that this might be Source 2. During AMA on reddit, Gabe said that main Source 2 improvement will be content generation.
http://en.reddit.com/r/IAmA/comments/1zkfmv/wearea_videogame_developer_aua/cfuf2jb
I wouldn't be suprised, if content generation was the ONLY improvement.

Even if content generation was the major focus, though, there's no way they'd center that focus around a remake of an engine ten years out of date. Source had a good run, and it put out a lot of games that still look great even to this day, but it's absolutely showing its age visually and from a performance standpoint and it's just no longer up to speed with the current standard. Why on earth would Valve build an entirely new engine from scratch just to use it as a base for a better Hammer that's otherwise identical to Source, and not to make any projects with improved visuals and performance and immersion?

Besides, don't forget that we've actually seen a Source 2 build from 2011 in the form of the leaked Plantation rebuild. Even though it's not big enough to get a close look at, it definitely looks like a big improvement over Source builds - there's a lot more detail to the environment, edges are rounder and softer and look less computer-generated, colors are brighter, the lighting and shading are also more complex and soft-edged, you can see farther without everything turning into mist, etc. And this is from 2011 - we have no idea how many more improvements they might have made over the last three years.

l4d2-highres-jpg.24680


Considering that the general consensus seems to be that we just had our first look at Source 2 code dropped on our heads out of nowhere, I think we're probably no more than a few months away from an official announcement about the engine and our first look at a project built in it. My guess is a Left 4 Dead 3 in Source 2 announcement before the year is out, with a release date sometime in 2015.
 
I am betting that they will make an official announcement at Gamescom about Source 2 and DOTA 2.

Here is why I say that.
1. DOTA 2 is a Major international Game.
2. Strike while the fire is hot so to speak.
4. Valve Cannot count to 3
 
Back
Top