Weekly update time. This week I’ve continued working on level content and generation. I added some more content to the Earth level, and added the remaining features to the level gen that I needed:

Since Gauntlet levels can be played in forward or reverse direction, I added an option to include level content in one direction only (so I can do stuff like have walls that are always behind something no matter whether you’re playing in “forward” or “reverse”).

Added an automatic rotation option to mirror the direction of things in reverse mode. So I can do stuff like have turrets automatically flip to face the other way.

Added a specifier to have things not spawn until a certain level. Since each world (each map) will have 2-3 levels played within it, I can say something like “OK, don’t have drones appear until level 2” and they won’t spawn in World 1-1.

Hopefully that’s now every feature it needs. I’ll really try to stick to that because I know in gamedev it’s all too easy to get stuck working on the “engine” forever and never actually make the game. I also think the level gen is all working correctly now (it’s a pretty serious probability-processing machine at this point), it just needs some adjustments.

I added some giant arrows in the sky for myself in the Unity editor so I actually remember which way is the world’s forward direction…

Unity devs, call this from your OnDrawGizmos to get dumb sky arrows like me:

void DrawGizmoArrow ( float xPos, float zPos ) { Gizmos . color = Color . green ; float arrowHeight = 300 ; Vector3 arrowStart = new Vector3 ( xPos, arrowHeight, zPos - 200 ) ; Vector3 arrowEnd = new Vector3 ( xPos, arrowHeight, zPos + 200 ) ; Gizmos . DrawLine ( arrowStart, arrowEnd ) ; Vector3 crossLineStart = new Vector3 ( xPos - 50 , arrowHeight, zPos + 50 ) ; Vector3 crossLineEnd = new Vector3 ( xPos + 50 , arrowHeight, zPos + 50 ) ; Gizmos . DrawLine ( crossLineStart, crossLineEnd ) ; Gizmos . DrawLine ( crossLineStart, arrowEnd ) ; Gizmos . DrawLine ( crossLineEnd, arrowEnd ) ; } void DrawGizmoArrow(float xPos, float zPos) { Gizmos.color = Color.green; float arrowHeight = 300; Vector3 arrowStart = new Vector3(xPos, arrowHeight, zPos - 200); Vector3 arrowEnd = new Vector3(xPos, arrowHeight, zPos + 200); Gizmos.DrawLine(arrowStart, arrowEnd); Vector3 crossLineStart = new Vector3(xPos - 50, arrowHeight, zPos + 50); Vector3 crossLineEnd = new Vector3(xPos + 50, arrowHeight, zPos + 50); Gizmos.DrawLine(crossLineStart, crossLineEnd); Gizmos.DrawLine(crossLineStart, arrowEnd); Gizmos.DrawLine(crossLineEnd, arrowEnd); }

Oh and I modelled some of those “taller barriers” that I mentioned were needed last time.

Gauntlet mode release TODO status:

Bold = currently working on.