Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 03:22:32 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsShifting Elements - Puzzle / Simulation
Pages: [1]
Print
Author Topic: Shifting Elements - Puzzle / Simulation  (Read 1995 times)
aro
Level 0
**



View Profile WWW
« on: February 12, 2015, 02:58:11 PM »

Me
Hi all. I'm starting a DevLog for a game that I'm creating in my free time. I only have a couple hours after work each day to dedicate to this, so progress will be slow. However, I feel like typing out my thoughts in a journal style will help with development and morale. Also, it's fun to talk about this stuff.

I don't expect to make any money from this game and will probably just host all the code on GitHub when I'm done for everyone to have. I'm mainly using this experience as a way of documenting my learning of Unity, learning the game development process from beginning to end, and learning to keep a good DevLog.

The Game
Shifting Elements is a puzzle and simulation type game built on top of a hexagon grid board. Each tile contains a single element which can affect neighboring tiles after certain timespans pass. I'm honestly not 100% sure where I want to take it at the moment. I'd love to build it into something like SimEarth, but such a project would probably be too ambitious right now. At the moment, it might start out with a survival type mechanic to see how long you can last without the fire taking over the entire board. Or maybe a system in which the player needs to keep the elements in balance so that one doesn't become too dominant and ruin the "world" so to speak.

Some thoughts that I have:
  • Tiles include: Fire, Earth, Trees, Water
  • Board is randomly generated (I'd like to eventually build some smarts so the board is less "random" if you know what I mean)
  • Time will progress when the game starts
  • After certain timespan, Fire will spread to adjacent valid tiles
  • Valid tiles that can catch fire are Trees
  • After certain timespan, Trees will grow and replace the Earth tiles, making them susceptible to Fire
  • After certain timespan, fire will die out and be replaced with an Earth tile
  • Water is immune to Fire, but landslides from Earth tiles can fill in the water with another Earth tile

So here's a screenshot of the current state of things. It's not much, but it feels good being able to show off the hexagon based grid that took a few days to get working.

Click for a bigger image.

« Last Edit: February 17, 2015, 06:53:02 PM by aro » Logged

blekdar
Level 3
***


Decisively Indecisive


View Profile WWW
« Reply #1 on: February 12, 2015, 03:13:41 PM »

The concept sounds neat, and I am interested in how it will play.

But man, the colours hurt my eyes. It could just be because of how tired I am, but I find it hard to focus on, maybe desaturate it a bit?
Logged

aro
Level 0
**



View Profile WWW
« Reply #2 on: February 12, 2015, 04:13:27 PM »

Agreed. The colors are noisy. I'm not too concerned right now because it's all placeholder stuff (I suck with visuals!)
Logged

aro
Level 0
**



View Profile WWW
« Reply #3 on: February 14, 2015, 06:25:31 PM »

Update 1
Trying to alleviate the problems with focusing on such a large board with discordant colors, I'm experimenting with different board sizes, varying saturation levels of the colors, and different hexagon tile sizes.

I also spent some time thinking about how I wanted turn this in to a game, and I think I've settled on the following.

  • The elements must maintain a specific balance per puzzle. For example, one level may state that all four elements must be held at 25% for a specific amount of time. If an imbalance occurs for too long, a loss condition or some other penalty will occur.
  • Levels are randomly generated. For example, a level may be generated with 10% trees, 20% water, 30% earth, and 40% fire.
  • Players can balance the elements on the board by shifting each element to a valid adjacent tile.
  • Fire can spread to trees, trees can grow to earth, earth can fill in water, and water can extinguish fire.
  • Players will be notified of the upcoming weather forecast which can include severe weather events that will throw the elements out of balance.
  • Storms will extinguish fires. Winds will spread fires. Landslides will fill water. Genesis will grow trees rapidly.
  • The player must quickly shift elements around to regain the desired balance.

This leaves me with a decent amount of items to work towards. Once those are completed, maybe I'll think of other fun events the player will need to contend with. Perhaps humans will show up and start ruining the balance, just like on Earth!

You can see a little bit of what I setup here:


Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #4 on: February 15, 2015, 03:35:18 AM »

Looks interesting! Sounds like a cellular automata - don't think I've ever seen a game based on one before.

The colours could probably do with more variation in brightness and saturation between the different elements, rather than just changing the hue and relying on icons. The more variations between each tile, the easier it is to distinguish them. Maybe something like this could work? (I know it's squares but you get the idea Smiley )

Logged

internationalfish
Level 0
***


View Profile
« Reply #5 on: February 15, 2015, 03:37:49 AM »

It seems to me going monochrome (or close) with this, perhaps something like a light blue, dark blue, medium purple, could simultaneously help with the eye strain and make sure the game is accessible to colorblind users. You also open up the possibility of using different pallets for different stages (not that that isn't an option you already have, but using R, G, and B right out of the gate kind of makes it seem limited).
Logged

aro
Level 0
**



View Profile WWW
« Reply #6 on: February 15, 2015, 01:23:29 PM »

Update 2
Still playing with colors and layouts based on some advice in this thread. Thanks much for the suggestions. Let me know how the below images look compared to the earlier images. I want to make it as little "eye-burny" as possible.

I set up a basic UI bar across the top which shows the percentages of the elements on the board. When the player adjusts the pieces, the bars will adjust accordingly with a new percentage. You can see that in the images below. Notice that the valid pieces to replace show as just black right now. When changing the color property of sprites in Unity, the colors are multiplied. This makes it difficult to simply highlight all valid sprites with a green color, because the multiply will cause the resulting color to be much different than what I expect based on the source color.

I've also set up a section for the UI to display the weather events that I discussed in a previous update. The grayed out icons are the non-active events. The highlighted icons are the active events. Currently, the weather system isn't wired up, so the icons are mainly just mockups at the moment. I'd like to have separate sections on the bar to display the current and the forecast events so that the player can prepare for upcoming events.

Logged

aro
Level 0
**



View Profile WWW
« Reply #7 on: February 17, 2015, 06:49:56 PM »

Update 3

I spent some time learning about Unity's new UI framework, its scaling, and how to make it fit properly in varying resolutions. Supporting all different sizes is a bit of a pain, but definitely easier than it was in the pre-Unity days!

As for the game, I've added some helper icons when you pick up a hexagon to indicate where a valid move is and isn't. I image that these won't be necessary as the player progresses, but they're a good tutorial-type feature as you're learning which tiles can replace which tiles.

Also, I added random weather effects which will occur and scramble the board a bit (active and inactive weather events are indicated in the upper right). Hopefully this bit of randomization can cause some hectic fun when trying to maintain board balance. I'm still tweaking how often these should occur, how random they should be, and how long they should last.

Genesis - Causes Trees to rapidly grow from random amount of Earth tiles.
Wind Gusts - Causes Fires to rapidly spread to random amount of Tree tiles.
Landslides - Causes Earth to rapidly slide in to random amount of Water tiles.
Heavy Storms - Causes Water to rapidly extinguish random amount of Fire tiles.

Logged

aro
Level 0
**



View Profile WWW
« Reply #8 on: February 19, 2015, 06:19:36 PM »

Update 4

I changed up the way the player can shift the elements. Instead of replacing single hexagons at a time. A player can now pickup a hexagon and drag it across connected neighbors to form a chain. Later I think I'll add in some form of bonuses for longer chains or some other criteria.

In the following gif, you can see that I got hit with a Genesis weather event which shifted Earth to Tree dramatically. This can change up the board by a lot and throw off the element balance.

Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic