Over the past two days I’ve been working on a video for some master thesis proposals. One of these included adding lots of new assets to show how the Bitsquid pipeline worked. I figured that I could go through the same steps here, to show those who haven’t worked in Bitsquid how it works.
To start out, this is what the Bitsquid toolcenter looks like:
It’s very Windows 8 inspired, and while I first disliked it, with each tool being separated, I soon learned that this is actually a positive when it comes to games engines. In other engines, like Unity which I have the most experience with, everything is available from the main editor tool, and code is handled in a separate part. This means that all your tools are in the same place, and it’s easy to get lost, be flustered by all the possibilities, or accidentally do something you didn’t mean to.
In Bitsquid, this is not the case. Every tool is separated out, so you only ever need to work in one tool at a time, and it’s also easier to spread out your tools on multiple monitors, as most game developers tend to have. The beauty in this is also, that thanks to the data driven design of Bitsquid, by editing an asset or code in one window, it updates it in the level editor or running game, depending on how sensitive the given asset or code is. You can even change the shader code midway through playing a level, which is very cool.
So back to the matter at hand, I needed to integrate art assets from other sources to show how easy it could be. I got some free 3D models of weapons from TurboSquid. I then proceeded to import them into Maya, as that is my preferred 3D modelling tool, and Bitsquid provides exporter tools for most Maya and Max versions. This is necessary, as Bitsquid uses an internal file format for assets called Bitsquid Intermediate, or .bsi for short. This file format is what allows the speed and data driven approach to work. Importing and exporting the models is fairly simple. Once you’ve placed the appropriate exporter tool in the plug-ins folder of your modelling tool, you can export your models.
Once this is done, and you’ve placed your model in your project folder, you need to start up the Unit Editor tool. No select “New Unit From Mesh”. A window will appear will all .bsi files in your project that haven’t been assigned units. Selecting one, you will now be able to create physics actors, occluders, shadow meshes, LOD steps, and so on. Once you’re done with that, save and exit the tool.
Next we need to import your textures. Bitsquid takes the dds format. As I use Photoshop, I found Nvidias texture tools plugin very useful, which can be found here. When saving your textures, make sure they are in a multiple of 4, as Bitsquid only takes this size. Also make sure to use the 18.104.22.168 ARGB unsigned format.
You can generate the mipmaps directly, or let Bitsquid do it for you later. Now that you have your textures ready, start the Texture Manager tool. Much like the Unit Editor, if you select “New Texture from DDS”, you’ll get a list of all the dds files that aren’t assigned as a texture yet. Once you’re done, save and exit the tool.
Next we need to assign all those fancy textures you just created. This is done in the Material Editor tool. Now this is where Bitsquids design comes to the forefront. If you have a window with your asset visible, like the Unit Editor or Level Editor, you can now see the changes your material make to the asset, live! In this way, you can tweak the specularity so it shines perfectly, see that the transparency works as you intended, and so on. In effect, you get something like the image below.
And now you’re done. You’re asset is in the game! I hope this short tutorial helped you!