BGMC21 CaveX16 (formerly Crystal Miners)

Well, I’ve been planning this one for a few days now, and while I’m not sure of the name yet, the idea has been pretty fleshed out.

The project files will be accessable through gitlab including a comprensive design document.

What Is It?
A mineshaft has been dug into a cavern. It is your job to take some men and equipment and extract crystal from the mine. You can buy more men/machines, and there are several different types of rock, some which give resources.
Once you have made the required amount of crystal, you have the option to go onto a new level (which are procedurally generated).

Bleeding Download:
Bleeding edge build (from git repo hence the weird filename. High probability of obscure errors)

Stable Downloads: [Unit Demo]( (day 3) [Building Demo]( (day 2)[Mining Demo]( (day 1)

Latest Progress Video:

- Map Generation - Complete

  • Mining - Complete except for crystal
  • User Interface - navigation, minimap and building buttons implemented
  • Units - Not started
  • Models - 4.5 models complete
  • Sounds - Not started
  • Menu - Not started


Hi! Nice idea. I’d love to see this in action. By the way - I don’t see the concepts.

EDIT. Now I see them. The mining machine is cool, but the mining device must be longer than the wheelbase in order for it to be able to reach the front wall. I’d also suggest making another version of it with double mining rods!:slight_smile:

The game sounds interesting - good luck!

PS: Did you spell it Minor instead of Miner on purpose?

Awesome this looks great, will you have path-finding or proper unit placement around minerals they are mining (so they don’t all get stuck)?
My only request would be good UI for an RTS :slight_smile:

Content from original first post:

What skills will this teach me?
While I have a basic idea about how to do everything in this game, I’ve never actually coded up changable terrain. Nor have I made any RTS-like games before. So this will be a fun challenge. Currently I have nothing scheduled for the week of the contest (!!!) so I should get a fair bit of time to work on it.

Some Concept Art:
A lighting tower. Your workers work faster if they can see what they are doing:

A mining machine, very fast at mining:

All of the models for the game have been sketched roughly on some paper, and I plan to re-draw them properly over the next few days.

Sorry, my fault. I had the gitlab repo on private
I suspect I won’t get around to designing more I’m afraid. If someone want to take over the art side of this project though…

Thanks. Fixed

We hope to have pathfinding, but I’m not sure about proper unit placement. The test code for pathfinding (which will be rewritten for the game as it was designed for hex-based maps) has no concept of units. So I suspect within the timeframe allowed, you will either have to micromanage or deal with a max of 2-3 units per crystal.

The UI will look like this:

Inspired by Command and Conquer and other old RTS’s (modern ones have the panel down the bottom for some reason).

WSAD to move the screen.
Left mouse button to select a unit
Right mouse button to give it orders (it it’s a location it will move there. It it’s a wall/crystal, it will mine it)
Middle mouse button to change the view angle.

Ideas for the last unit/building would be appreciated.


It’s interesting you bring up UI placement since there is actually a good reason why modern games switched to bottom of the screen placement.
Because of the angle of view we can see more of the map vertically than horizontally. If we put the UI bar at the side we cut down horizontal viewing space even further. Placement at the bottom or top gives you more screen space to your UI at less expense of main view occlusion.
If your game is viewed from a side on 90 degree angle you don’t have to worry about that. Side or bottom placement will cover the view equally.

The reason it’s off to the side is … technical simplicity. The minimap is going to be done by sticking a camera up above the map looking down, and having symbols for the objects parented to them above the normal height of the view camera. This is then displayed on the interface, not through render to texture, but through the viewports API. The viewports API does not allow you to set the order in which viewports render (Eg which is on top of each other), so I want the two viewports to not overlap.
Why not render-to-texture? In previous experimentation it appeard to be significantly slower than viewports.
Why not use a dynamic texture, or some other manually created representation (eg moving objects)? Because that’s a lot more effort.

Also, modern screens are 16:9. By the time you’ve got a sidebar, it’s still going to be more than 4:3 remaining area, and 4:3 was the aspect ratio for monitors for a very long time. In fact, it astounds me that microsoft office with the ribbon toolbars haven’t relized this. The ribbon takes up several centimeters at the top, making an alreay short-and-wide screen into something pretty much ridiculous to view a portrait A4 page with.

Yeah, I guess the thinking hasn’t caught up with the proliferation of wide screen monitors. I haven’t used a CRT monitor for years but it seems companies still expect people to be viewing on a 4:3 screen.

Some info here about most common displays:

what does tilde 16:9 mean (~16:9)? what does the tilde mean? Trying to see the different as of why more users of steam are 16:9, but more web users are ~16:9

It means the ratio is not exactly 16:9 but some strange number thats almost that. Maybe they have an extra row or something…

It’s a case where one number needs to be a fraction in order for it to be true 16:9.

Thats really interesting smoking_mirror.

FDH (1920x1080) screens add about $100-$200 to the price of a monitor/laptop, so that will be why the people who do ‘web’ (generally on cheap, low powered laptops I would imagine) are dominated by ‘HD’ 1366x768 screens.

For whatever reason, it comes to (using stats from that wikipedia page) 77.2% of steam users (and 55% of web users) have widescreen (16:9) displays. Yeah, I think the day of 4:3 is a little gone for whatever reason.

Some new art:

It’s a resource truck to cart resources from the miners back to the mine shaft so the (slower) miners don’t have to walk there.

And a concrete pad:

Placing a concrete pad enables vehicle to drive faster. They can also be placed over water to enable access to other parts of the cave (if I get around to implementing water). The legs out the bottom are so that when placed over water or rough terrain, it is still somewhat supported.

Sounds like a pretty cool game. Good luck :slight_smile:

Progress day 1:

Map generation, mining, basic user interactions (navigation).
The shader for terrain is a little heavy at the moment, and has issues on my laptop. I’ll lighten it up this evening as well as model some of the vehicles.

Some 3D models:

Concrete/metal pad. 20 triangles

Light Tower. 404 triangles. There appears to be a bug when using vertex paint and ‘add’ type transparency, but it suddenly started working.

Resource Transport. 966 triangles. Still working on this one. I reckon I can get the poly count down without losing any quality. I want it with the driver to be 1000 triangles.

Currently the game weighs in at 2mb

If anyone is interested, here are some timelapses, Essentially screenshots every 4 seconds strung together. I intend to analyse these afterwards to figure out where the development time goes. Unfortunately I only thought of it after about 2 hours of coding.

Wow, it’s looking great already!
I love the tileset, but I think the specular highlight is too white.
I usually set the diffuse color to influence specular color as well as diffuse color.

It provides more detail for highlighting your normal maps, really making them stand out, but it doesn’t overpower the texture or make it look like plastic. Lowering the hardness can also have a good effect.

Great advice smoking_mirror. I was looking for a way to make it look less plastic.

I’m not looking for performance information. Here is the game so far:
Crystal (1.12 MB)
edit: Newer download available. See first post

On my laptop I get about 30FPS, which I consider adequate. So I want to hear what you guys get.
If performance is too low, I’ll drop the camera minimap for the dynamic texture representing the map.

The walls now show how ‘mined’ they are by changing texture:

White is solid rock and takes a while to mine. The shiny stuff is metal, and gives you resources when you mine it. It it’s just brown it mines really fast because it’s dirt.
After a few seconds solid rock turns into metal turns into dirt and then dissapears.

I have an older unit… dualcore 2.7, 3 gigs, geforce 9800gt 1gig. Im getting 40fps with Eve running in the background, so its playable. All load is Ras.

Interestingly thought If i open the file. Play it. Escape out and try to play it again. It gets stuck at 0 percent and I get a error

maybe because the file is not getting closed or something? I’d be curious as to how you fix this problem as I use data from external files as well