• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Click Boom Win - a development log

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

rebelwarlock

Member
Joined
Dec 13, 2004
I'm developing my first game, Click Boom Win, and G.M.O.D. and I thought it would be a good idea to have a development log on the forum. The game is a bullet hell, influenced by games like Gradius and Touhou. If you're unfamiliar with the genre, TvTropes has a pretty good explanation and list of examples. Yes, I've just cursed you with the trope trap. Run while you can. :D

Some of you probably remember the thread I made regarding my previous attempt at a kickstarter for this game. The kickstarter didn't do so well, mainly because the game was too early in development. Since then, I've picked up some more people and gotten more done. The game looks a lot nicer now, and in no small part thanks to the new 3d modeler I have.

Alan Guyant is doing the models. You can see some of his work on his blog.

Justin Dickens is doing the music and sound. Some of his stuff is up on soundcloud.

I'm doing the programming, and I've been doing a lot. I'll talk about what I've been doing after I reserve this space for the table of contents (I won't be reserving the first reply for another post - I'll just put links to the reply ID here).

Table of Contents

28 September 2013 - Environment editor (no link - scroll down)
5 October 2013 - Shader update, UI preview
13 October 2013 - Effect sequencing - Star fields
30 November 2013 - Big update - Environment editor ready to go!


Environment Editor


I'm creating the first part of a full fledged level builder, which will be released with the game. This part contains the ability to create environmental elements on the fly. Not all of these are scientifically accurate, because they're mainly made to look cool.

- Stars: These are achieved by using a high speed sprite particle system, with particles being generated off screen and flying past. The density can be adjusted.
- Comet (with tail): This is created with a textured quad particle system. The color, speed, angle, and tail length can be adjusted.
- Clouds/gas: These are also created with a sprite particle system, but my handling of the sprites has to be significantly different. The density, color size, and shape can be adjusted. This element probably has the coolest creation method - you draw a shape on screen with your mouse, and the cloud takes that shape.
- Sun with crepuscular rays: This is created with a couple of different shaders. It's taking into account the rays from the sun itself, the occlusion from different objects, and the reflective rays from the sun's light hitting those objects.
- Planets: These are simple 3d models with very good color and normal maps made by James Hastings-Trew. At the moment, I'm just using the default color maps he's provided as proof of concept, but I'm going to allow users to tweak the color schemes of the planets they choose.

Other things I've considered adding but decided against:

- Debris/asteroids: I decided this was more of an enemy than an environmental element, since you should be able to crash into them or shoot them to bits.
- Other ships flying around in the background: I thought this would be too distracting, possibly even confusing.
- Cosmic rays: Possibly confusing, and I'm not sure how I'd make them look.

Screenshots:

Environment test


Planet occlusion


Ship occlusion


Drawing the cloud outline (the white crescent in the top left corner)


After drawing


What's left for the environment editor:

- Adjust the lighting shader on models to be affected by the presence and position of a sun. (Done as of October 5th!)
- Create a user interface anyone can use to easily create and schedule environmental elements and effects
- Create an export specification so that environmental sequences/loops can be loaded into the game from a file

So, now that I can better show what I've been doing and where I want to go with it, I'd like to hear feedback from you guys. Suggestions or requests for features, ways you think things can be improved, anything. I'll make an effort to keep up with any questions asked in the thread as well. I'm most likely going to be updating this thread about once a week as progress goes on.
 
Last edited:
Shader update, UI preview

I've put a lot of work into the lighting shader this past week. Fun fact: the normal mapping, model lighting, and shininess (specular) is all in the same shader. It actually makes it easier overall, but that one shader is kind of a mess. It's now taking account of the position of the sun (if there is one on screen at the time) to modify the lighting direction on the model itself. Here's a preview of that:

shader1.png
shader2.png

I've also been working on the interface to manage the environmental effect sequence. I'm not going to pretend I'm some great interface designer - any feedback is more than welcome. This is a mockup:

effect_list.png

I'm currently using windows forms. It's going to dock next to the XNA preview window when it's complete.
 
Effect sequencing - Star fields

I've finished the class that will handle the effect sequence. The EffectEntry class will hold all of the details of the effect needed (stars, comets, etc), and invoke the correct effect at the correct time. So far, I've finished the UI for creating star fields. Here's what the starting screen of the environment editor looks like now:

start_screen.jpg

Pressing "Add Effect" will give you the default settings, which provides you with plain white stars. In the future, you'll be able to change what type of effect it is with the dropdown menu.

default_stars.jpg

Clicking on the swatch next to "Color:" will bring up the color picker.

color_picker.jpg

Which will change the stars to whatever color you prefer.

blue_stars.jpg

You can also change the density of the star field. And yes, you can have multiple star fields at the same time with different densities and colors:

blue_and_pink.jpg

I'll also be adding end time to the stars, in case you want the star field to run out at some point. The UI looks easy enough to me, but I'm the one who created it, so I have a pretty good idea of how it functions. If there's some way it could be made more intuitive, I'm all ears.
 
Big update - Environment editor ready to go!

It's been a while since I posted, but I figured people would rather see something with more substance than a weekly post, so here it is: one of four major steps required in order to bring everyone a playable demo is complete. The environment editor portion of the level builder is done. There will also be an enemy wave editor, a boss editor, and a general options editor. When those editors are complete, I will be able to release a playable demo, along with the builder tool itself.

Here's what's currently available in the environment editor:
- Stars
- Comets
- Clouds
- Planets
- Suns

Star fields can have different densities and colors, and you can have multiple star fields simultaneously.

Basic stars:
01_basic_stars.jpg

Multiple star fields with different colors:
02_multi_stars.jpg

Comets have many variables: trail length, start and end colors, speed, angle, and start and end sizes.

Straight comet, large:
03_comet.jpg

Angled comet, smaller:
04_comet_angle.jpg

Clouds are drawn with the mouse, and can change the color, density, and volatility.

Drawing the cloud:
05_drawing_cloud.jpg

Basic cloud:
06_basic_cloud.jpg

Low density green cloud:
07_cloud_low_density.jpg

High density green cloud:
08_cloud_high_density.jpg

Planets use the work created by James Hastings-Trew (http://planetpixelemporium.com/planets.html) to give a very lifelike look to them. There are multiple normal and color maps to choose from, and you can also use colorization instead of the provided color maps.

09_planet.jpg

Suns have a number of variables: color, size, density, decay, weight, and exposure.

Basic sun:
10_basic_sun.jpg

Sun with color:
11_sun_color.jpg

Sun occlusion:
12_sun_occlusion.jpg

I may be adding more effects in if there are requests for them, but that's what I have for now.
 
Back