[NSFW] Boobstorm (my entry for The Arbitrary Gamejam 13) and Lessons Learned

13
andyman404 #55 33 216

Here is Boobstorm (NSFW)
http://gamejolt.com/games/arcade/boobstorm-nsfw/32074/

Made in a weekend for The Arbitrary Gamejam 13. It's a battle of boobs and butts in a surrealistic setting.

Gamejam Themes: second rate, cement, and storm.
Bonus Rules: Make it rated for 13+, make it funny.



Lessons Learned:

1. The actual process of submitting a game for a gamejam always takes longer than I think, especially if it is Gamejolt, so I submitted my entry using the gamejam's form (a bit easier). Gotta come up with description, instructions, credits (including assets used), and images. I only added the Gamejolt entry many hours afterwards.

2. If using Unity, make sure the DX11 checkbox is not checked when doing a build from Mac OS X. It messes with custom shaders and creates cross-platform issues. Bleh. Didn't discover these until I tested on Windows today. (Didn't have time to do cross-platform test the web-build before submission).

3. The title screen, menu, and GUI take a while to do, even if you're just going for something simple. I left these for the end, and pretty much ran out of time - especially since I was using Unity's built-in GUI elements rather than NGUI. (I keep forgetting how to do NGUI after not doing it for a while). Only had time to do one single combined title/instructions/settings screen. Mock up the title screen/menus first in another app to save time. I didn't even get enough time to make real buttons. Just used labels for everying. Here is some bleh:



Notice the [more][less] "buttons". Ugh.


4. Most people will not read any instructions whatsoever. Either show the instructions on-screen in-game or make the game so simple (or dumb it down enough) that no instructions are needed. Introducing novel gameplay is difficult even if the controls are simple.

5. Unity's PlayerPrefs functionality is somewhat quirky in web builds. Sometimes it would load up as a strange value, even if you get values from it while passing in a default value.

6. Shaders shaders shaders. Learn how to write shaders - it allows for cooler things with less code. Rather than using multiple materials, the boobs all used one single material, despite the continous range of boob/nipple coloration from Caucasian to Asian/Latino to African. I made a shader that takes in 3 textures, and linearly interpolates which texture to use based on the vertex color. With dynamic batching in Unity, having just the one material reduces the number of draw calls tremendously, helping performance when there are hundreds of boobs on the screen (pathfinding and physics is another matter). Then it is just a matter of randomly setting the vertex colors in each boob.

7. Blendshapes/shapekeys in Unity. It is a very powerful way to make infinite variations of a mesh using a single model. The boob model had 4 different factors that could vary on a continous scale - nipple height, nipple radius, base radius, base perkiness. These factors were made in Blender (as "Shape keys"), where you define a base starting point (basis) and then define the extreme variants of each factor (shape keys) by moving vertices around. Then in Unity, these "shape keys" are imported as "Blendshapes" (same thing). Upon initialization, each boob sets these 4 factors randomly, creating a unique boob shape by interpolating the mesh between the basis and the shape keys. Then this is baked to a normal mesh (rather than an animated mesh) and a normal mesh renderer is used for better peformance (rather than a SkinnedMeshRenderer). No skeleton/armature needed!





Multiracial shader + blendshapes = infinite random boob variation, all using one single material and one single model!

18
Tim Ruswick #1 89 2068

"4. Most people will not read any instructions whatsoever."

I think that is one of the most important things newbies need to learn about making games. Its not some instructions, its not a little tiny bit of instructions, they read like nothing, ever, and if they cant figure out how to play they uninstall and play the next game.

Developers are a little more patient when they play your game, but they arent always the target audience.

Game looks awesome dude! Would love to have another Gamejam with gdu once we get this place pumping again.

Keep up the good work!

Showing 1 - 2 of 2