Ships with Cannons (alpha)

After spending an uncountable amount of hours, cola, cookies and curses (especially curses) I think it’s time to announce my first project:

ShipsWithCannons (or: you shouldn’t argue with a 12-pounder)

It’s the age of discovery. Mighty nations are fighting for dominance. So it’s your turn to take command of a powerfull fleet and fight your way to success, money and women.


  • turn-based strategy at the high sea
  • 3d-enviroment
  • hexfield system
  • customizable profiles, configurable fleets
  • alternative moving system. Ships can’t turn without spending move points. So a ship which has to turn by 180° can’t move a great distance.
  • the ships can’t fire in any direction and they will be vulnerable at front and rear side. So it will be important to find and hold a good formation.

    the game is currently an alpha.

    Next goals for reaching 0.1 beta:
  • finishing the rule-system
  • implementation of a nifty cannon fire effect
  • implementation of sound
  • finishing the gui
  • balancing and bugfixing
  • creating ship textures

    I’ve added some ingame-scenes that demonstrates the current game state.

quality-shot from the ship-types.

from left to right:

  1. class flagship
  2. class battleship
  3. class fregate
  4. class brig

Looking good, great work :slight_smile:

So coool!!!

Very nice work!!

Yeah looks great!

nice result of curses, curse master

I wish I could curse as good as you ^^

Fantastic work. I hope to see more!

WOW!!! Impressive!!!

I like the idea and design.

I wish you good luck!

Very nice work!

Hey thank you for your great reply. : )

I’ll try my best to make progress in development. The next things will be textures and graphics. Currently I can’t see codelines any more.

Some additional information:

I’m using terragen 1 and CubeMapGen (from Radeon-Labs) for the sky. The gui is build on niftyGui 1.3. For the codelines I’m using eclipse and for the fonts the Bitmap font generator (from anglecode).



Hey, great piece of work! :slight_smile:

Hi guys,

the rate of cursing around is going down (which means that I’m starting to understand the engine ^^°). Today I want to show you the results of the last week. It was a strange odyssey between graphic-creation, re-mapping of the ship-models, swimming around in an ocean of code and going down to the ground of openGL.

Again I’ve added a little preview video:

"But that's just some color changing! What took you so long?"
Well there's a little bit of openGL-magic behind the scene. I've thought about options to combine the symbols, the color and the ship-texture dynamically without having an huge bunch of textures. I didn't found a solution for this problem (if I have overseen it please tell me) so I decided to write a shader, which can merge all these textures together (I nether thought of doing that...).
`pre type="cpp"`
void main(){

vec4 color = vec4(1.0);

vec4 color2 = vec4(1.0);

vec4 blendC = vec4(1.0);


color *= texture2D(m_ColorMap, texCoord1);



color2 *= texture2D(m_AdditionalMap, texCoord1);



color2 *= m_AdditionalColor;



blendC *= texture2D(m_BlendMap, texCoord1);

color = mix(color, color2, blendC.r);


gl_FragColor = color;

This one is inspired by the lighting-Material from jme3 alpha 4.
After that I had to render the result into an other texture which is now the result on the ship. The advantage is that while playing the game the engine has only to render the result-texture and not every layer in every frame.

I don't know if this is the best way. The idea sounds good but if you have a better idea I would be grateful to know about it.

edit: corrected a bug in the video

The awesomeness is shown :stuck_out_tongue: !!

Very good work man, and about the texture concerning , SHADER is the best choice!!!

I love your game!!! Very impressive gui!

That’s very nice! The UI is gorgeous!

There are maybe other ways to do this, but IMO shaders are the best option.

Thanks for sharing this.

I’m looking forward to the updates on your game


how could I miss this awesomeness for so long.

Your models, textures and GUI looks phantastic! Congrats! I love especially the watermovement in your previews.

Do you plan to add detailed physics stuff like sails moving in the wind and stuff?

Best luck with the progress!

Hi guys,

nothing really new in this week. I’ve cleaned up a bunch of mess from my code and organized a lot of assets like fonts, buttons and so on. So there’s not that much to show you.

I’ve hitted a problem with niftyGui. Is it possible to set up several screens in different xml-files? My menu has seven screens and I don’t want to create all of them in the same file.

I’m looking for something like this:

pre type="xml"

  <includeScreen file=“my/classpath/to/other/screens/screens.xml” />


When I’m importing several files with nifty.fromXml(“path”), nifty overwrites the existing ones.

Thanks to code-folding it’s not such a big issue, but I don’t like xml-files with 500 or more lines.

so long

Have a nice weekend :slight_smile:


I have not found a way but I’m also curious. I’ve organized my screens into different groupings and put those in separate XML that I just load when I need them. I have different screen controllers I pass in for those cases, anyway… so it actually works out better for me in my case.

…but it is kind of a pain.

Back again…

Finally the first ship is fully textured.

The bad thing with this one is: the texturing took round about 10 hours.

The good thing is: sails, cannons,masts and so on doesn’t need to be recreated and can be reused. And that’s why I like cgi more than every other art.

happy easter bunny ^^


edit: oh and the polycount was reduced from round about 9900 to 6000…


WOW that looks nice! Did you create normal maps using a higher poly mesh or paint them by hand?

normen said:
WOW that looks nice! Did you create normal maps using a higher poly mesh or paint them by hand?

I painted everthing by hand. I thought about high poly models but that would cost to much time.