Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Sea sandbox, a procedural sandbox based sailing game  (Read 13491 times)

0 Members and 1 Guest are viewing this topic.

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Sea sandbox, a procedural sandbox based sailing game
« on: January 12, 2013, 01:09:26 pm »
Hi everyone,

Seabox Sea Sandbox(working title) puts you as captain of a vessel and its crew, with which you can use to explore, trade and fight in a procedurally generated world. With the world gen side mostly complete, I'm starting to work on game mechanics.

Update 1:
This weekend I spent a lot of time adding some core functionality. Crew management, sailing physics and most importantly, clouds. Each mast is now a 'work station' where you can assign crew members to work. Each crew member has a skill level in various areas, rigging and using cannons for example. There are various work stations, improper management of your crew will 'hopefully' result in you being dead in the water. Each work station produces an 'efficiency', which is determined by different factors.

A weather system allows me to change wind speed and direction. Clouds are actually rather important as they are a visual indicator for wind direction. Adjusting your sails, both height and direction will be important for sailing as fast as possible. The ideal scenario is all your masts are diagonal to the wind (so no sail is blocking wind to the one in front of it).

Clouds:
http://i.imgur.com/DD7vT.jpg

Here is an early screenshot of the world generation making use of Perlin noise:
http://i.imgur.com/KZkKW.png

World zoomed out 100%:
http://i.imgur.com/d6Gpd.png

Early vessel design:
http://i.imgur.com/vic6S.png

That's all for now.

Update 2: http://en.sfml-dev.org/forums/index.php?topic=10273.msg93705#msg93705
« Last Edit: December 04, 2013, 06:08:42 pm by jabza »

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Seabox, a procedural sandbox based sailing game
« Reply #1 on: January 12, 2013, 01:51:23 pm »
Looks cool so far! I especially like the color gradient of the water :)
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Seabox, a procedural sandbox based sailing game
« Reply #2 on: January 12, 2013, 01:56:01 pm »
Thanks, yeah the gradient is set by the depth of that tile, making use of SFML's colour tinting.

cooldog99

  • Jr. Member
  • **
  • Posts: 95
    • View Profile
    • Perilous Game Studios
Re: Seabox, a procedural sandbox based sailing game
« Reply #3 on: January 12, 2013, 02:06:20 pm »
The concept of procedural games excite me :)
We need more!

Is this gonna be an RTS by chance? or just an exploration style game.

Only ask because you mention having a crew and trading/fighting.

Could be awesome to have an Age of Empires game, with a huge procedural open world(sea? xD)

Anyways, great work! I played with perlin noise myself and got similar results for oceans, may I ask what method you used to dark the blue pixels based on height?

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Seabox, a procedural sandbox based sailing game
« Reply #4 on: January 12, 2013, 02:16:19 pm »
Thanks for the feedback! Yeah as mentioned before the gradient is set by using the depth of each tile as a modifier on the colour, using the setColor() function.

The basic idea is you sail your vessel in real time exploring the world, but with the ability to dock buy/sell goods. I'm not 100% how crew management will work yet, but it's going to play an important role for maximum efficiency.


AFS

  • Full Member
  • ***
  • Posts: 115
    • View Profile
Re: Seabox, a procedural sandbox based sailing game
« Reply #5 on: January 12, 2013, 04:35:18 pm »
Were you inspired by the game "FTL: Faster than light" by any chance? I don't know, this makes me remember that game, but instead of space is set on the ocean.

Looks pretty interesting. I love the idea that the world is generated automatically (I don't even want to imagine how you archieved that, must have been complicated).

Exploring the seas sounds fun. I guess you could make money for your ship by doing quests for the people on the islands, like delivering stuff around the world, with your reward depending of the risk of the route (weather and/or PIRATES!). I wonder how are you planing to create the combat system: will it be real time or turn based?

Either way, good job.  :)

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Seabox, a procedural sandbox based sailing game
« Reply #6 on: January 12, 2013, 05:50:15 pm »
Cheers! Yeah the crew aspect was inspired by the likes of FTL and Guns of Icarus. The game will be fully real time and I'm implementing the vessel physics currently, I'm hoping that weather, tides and damage will affect this. My idea for combat is that you can assign some crew mates to be 'gunners' (but when they're gunning they're not rigging, so the vessel will slow down!) There will be buttons to issue a fire command, port and starboard. I'd like to add boarding too, but maybe I'm thinking to far ahead.
« Last Edit: January 12, 2013, 06:13:56 pm by jabza »

pogrady

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #7 on: January 24, 2013, 07:26:40 am »
Thats looks fun.  You used perlin noise to create the height map then tinted the color of each tile by the value of the height map?

datMoka

  • Newbie
  • *
  • Posts: 48
  • Wooo!
    • View Profile
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #8 on: March 30, 2013, 11:49:57 am »
Any updates on development? :)

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #9 on: April 03, 2013, 05:12:46 am »
Sadly not yet... I kind of decided to re-write the entire engine. Basically, I was stretching the limit of my pure inheritance based entity design. I was fighting against the engine even in the early stages...

The new engine should serve as a flexible base for all my 2D game endeavors (I hope!).

Features include:
Stack based game states.
Entity-Component design, with self-attaching components.
'Blackboard pattern' for intra-component communication.
Messaging system for inter-component communication.
Less use of singletons. (I had a singleton for every single manager class... it was a nightmare to debug.) Now I only have one - the Logger service.
Everything else I should be able to re-factor into the new design. (Which isn't much) :]
« Last Edit: April 03, 2013, 05:15:03 am by jabza »

cpolymeris

  • Jr. Member
  • **
  • Posts: 65
    • View Profile
    • Email
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #10 on: July 01, 2013, 08:19:35 pm »
I remember, a long time, ago I played with the idea of making something similar to what you are planning. My prototype map, looked, in fact even quite similar to yours. The overview map, that is, for the long-range sailing and trading part of the game.

I, of course, also wanted a fighting part, and for that I took inspiration from the BSD game sail, a very simple (ASCII graphics), but addictive game based on the "Wooden Ships & Iron Men" board game.
If you are still working on this, I would look at the game, if you can:
http://manpages.ubuntu.com/manpages/hardy/man6/sail.6.html

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #11 on: October 25, 2013, 01:24:33 am »
Update 2: A long time coming...
Finally had the time to make some progress and do some well overdue reading. I've re-factored parts of the engine, using some great concepts discussed in 'SFML Game Development' and general code design improvements thanks to 'Effective C++'. Replacing my half-baked scene graph with a fully integrated one. The old world generation has been altered with use of a much more efficient shader that looks far better I feel.

The ocean is now one giant vertex array of quads.

Main menu, complete with tooltips:
http://i.imgur.com/bbgymeV.png

Other things added:

GUI builder example:
GUIBuilder frame(this); //Setup GUI builder with a State reference.
       
sf::Text generateText(mContext.strings.get("GenerateBtn"), mContext.fonts.get("Default"), 32);
       
sf::Vector2f pos((mContext.windowValues.at(WindowProperties::Width)/2)-generateText.getGlobalBounds().width/2,
                                                        mContext.windowValues.at(WindowProperties::Height)/1.5);

//Create a Button that sends message containing an intent to change to the main game state.    
frame.Button(generateText, mContext.strings.get("GenerateBtnTip"), pos,
                                        Message::Ptr(new Message(-1, Message::Type::ChangeState, new Attribute<State::Intent>(Attr::StateIntent, State::Intent(State::ID::Game, true)))));

//Frame returns a constructed entity which is then attached to the GUI layer.
mRootNode.getNode(mGuiID)->attachChild(frame.build());

More to come shortly. Hopefully gameplay.
Thanks for reading.
« Last Edit: October 25, 2013, 01:32:16 am by jabza »

HeftySpoon

  • Newbie
  • *
  • Posts: 1
    • View Profile
    • Email
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #12 on: October 25, 2013, 04:10:29 am »
Looks interesting. Any more screenshots?

jabza

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Sea sandbox, a procedural sandbox based sailing game
« Reply #13 on: December 03, 2013, 10:41:02 pm »
Looks interesting. Any more screenshots?

Sure. Work has been pretty demanding over the last week or two, so I haven't been as active as I'd like.

Here's a screenshot showing off the new water shader, crew path finding and a GUI helm:


Planning on posting a proper update soonish.  :)