Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411421 Posts in 69363 Topics- by 58416 Members - Latest Member: timothy feriandy

April 18, 2024, 03:08:05 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsElement Crush - A match-3 tower defense mashup - Play Online
Pages: [1] 2
Print
Author Topic: Element Crush - A match-3 tower defense mashup - Play Online  (Read 4118 times)
vfqd
Level 0
**


View Profile WWW
« on: May 22, 2018, 11:39:10 AM »



Hi everyone,

I'm vfqd and this is Element Crush - it's a pixel art match-3 tower defense mashup made for Ludum Dare 41 where it won 3rd place overall in the compo.

You can play it online here:
https://vfqd.itch.io/elementcrush

Or see some gameplay here:





Owing to the great feedback and response I received from various members of the LD community, I've decided to turn Element Crush into a full game. Based on that, it's high time I started a devlog.

Since the compo version of the game, there have been several post-compo releases on the same codebase (https://vfqd.itch.io/elementcrush/devlog/33013/element-crush-post-compo for anyone interested).

However, due to the general messiness of the code, I decided to build the game from scratch again with a view to the future. That's where we are now. I'm going to be trying to keep my iteration cycles short and release as often as possible to get feedback.

So, I guess here's the start of my devlog. The next release will be v0.1 of the new codebase and the following will be included in this version:
  • Rewrite of core systems to be far more optimized done
  • Adding smooth animations and transitions to element falling and swapping done
  • Reworking tile matching so that 5-in-a-row, 4-in-a-row etc. gives proper bonuses done
  • Redesign UI done
  • Some new art for the environment
  • Replacing the current purchasable upgrades system with a new one that allows players to pick 3 purchasable upgrades from a pool before the start of a round
  • Integrating with dreamlo for a leaderboard of highscores
  • Some small usability upgrades like doubling speed and undo

Obligatory social media:
 - https://discord.gg/GpE5K3s
 - https://twitter.com/vfqd_
« Last Edit: September 30, 2018, 11:02:05 AM by vfqd » Logged

kurtkz
Level 0
***


View Profile
« Reply #1 on: May 22, 2018, 09:55:50 PM »

Finally! Following...
Logged
vfqd
Level 0
**


View Profile WWW
« Reply #2 on: May 24, 2018, 12:34:29 PM »

Over the past couple of days I've been working on balance and bug squashing. Neither of those things are particularly interesting to talk about but as the trickiest bug to track down (thankfully, it's fixed now) was to do the the new tower targeting system, I thought I'd talk a bit about that design.

In the original jam version of the game, all of the towers used the same physics based projectile system. They would fire at the furthest left (closest to base) enemy in their range but that wouldn't necessarily be the enemy they ended up hitting as another could get in the way. The main problem with this was that overlapping towers would all end up targeting the same enemy and damage wouldn't be evenly spread. There was also an issue where projectiles would disappear in flight if the enemy they were targeting was killed by a different tower.

To improve on this, I separated out tower behaviour into two subclasses of tower - homing towers and directional towers. In the current build, fire towers are directional - they simply fire in the direction of an enemy and then the physics system will handle damage. If their original target dies, no problem, the projectile will just keep going.

More interestingly however, are the water and wood towers. These are both homing towers, and don't make use of the physics system at all. The homing towers pick a target as before and fire a projectile at that target which can and will hit *only* that target. This guarantee allows us to record the amount of damage currently in flight to an enemy as damage that is yet to, but will happen. In this way, when a different homing tower targets the same enemy, it can check whether there is currently enough damage in flight to kill it, if so, it will pick a different target. The paradigm allows for the homing towers to work together in unison and never overkill an enemy.

From a structure point of view, all of this data is stored in a HomingTargetLookup hashmap which allows a nice separation of concerns where the enemy class doesn't have to store how much damage is still going to hit it. 

All in all, it's pretty awesome to see the wood and water towers working optimally Smiley
Logged

kurtkz
Level 0
***


View Profile
« Reply #3 on: May 24, 2018, 11:28:47 PM »

Nice post Smiley

Just a question on the homing towers - is their fire deterministic? i.e. if I have 2 towers, are they always guaranteed to shoot in the right order at the right targets? Is there not a case where an enemy will be destroyed by tower B, *just* before tower A fires (at the same enemy), thereby wasting a shot?

I feel like some diagrams might help here...
Logged
ravioli
Level 0
*



View Profile WWW
« Reply #4 on: May 25, 2018, 05:30:08 AM »

If I had a dollar every time I messily prototyped a game and then had to restart from scratch after deciding it was worth more investment... I'd have several dollars  Tongue

This looks great tho, I love "mashup" games. This particular combo is intriguing!
Logged
Jesse Ko
Level 1
*


L7 Dev


View Profile WWW
« Reply #5 on: May 25, 2018, 11:37:02 AM »

I'm interested in seeing what the new UI looks like. Do you have any screenshots to share?
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #6 on: May 27, 2018, 01:32:26 PM »

Hey everyone, it's time for another devlog, and with this, the reveal of the new UI!

Here it is:




I've gotten rid of a lot of the UI clutter and made some space for background. I wanted to give our player something to defend and so I created a little town on the left hand side of the screen. By the same token, I wanted to show that the wasps destroy things and so the grass gets browner towards the right. I need to revamp the ground and the element sprites to have a more detailed style like the town, but I'll do this at a future stage.

I want to spend some time talking about design decisions for the new UI and my reasons for changing it at all. A little while ago, I watched an incredibly good GDC talk by Zach Gage on "Subway Legibility" (https://www.gdcvault.com/play/1024925/Building-Games-That-Can-Be) which I can highly recommend. Basically, the idea behind subway legibility is that someone watching someone else play your game over their shoulder can understand, more or less, what is going on, at a glance. One of the ways this subway legibility can manifest itself is in a design principle called "the three reads".

Now, I've never been an interface developer, I've mostly worked on backends, but this got me thinking about the interface of my game in terms of the three reads. The basic idea is that it should take three reads for someone to get all of the information from a visual. The first read should give them the broad strokes and the most important information, drawing them in. The second should give the most pertinent details, and the third, the rest of the detail that someone might need to go looking for. Based on these principles, I evaluated my interface, and it was pretty terrible.





The biggest things on the screen are the elements, and they form the first read, so at least I got that right. But also in the first read are those huuuge arrows on the left of the screen and it's not at all obvious what they're there for. The second read is supposed to contain the most important details, but the second read here contains pretty much just the score, and the information block in the bottom left, neither of which are super important when a wave is happening. The third read contains everything else, and some of the most important information. You need to know what your life and gold scores are when there are enemies on screen so you can tell if you need to spend money.

Based on this, and on the fact that I need a more dynamic UI for the purchasable selection I wanted to build, I recreated it. Here is the new UI in the three reads.

First read:




In the first read we just have the most important stuff, the towers and the enemies, excellent.

Second read:




In the second read we have the most important details. I decided what was most important here based on what a player might need to know about when a wave is happening. So life, yes, gold, yes, and purchasables, yes. Also, I've visually linked the purchasables to the gold as you need to spend gold to buy them.

Third read:




Now we add in all of the rest of the details, that is, all the other things a player might want to know about that aren't that important during a wave. The score, wave count, swap count, options and fast forward button.

The eagle eyed among you may have noticed that I have lost a bit of information here, that the tower information that was in the bottom left is now nowhere on the screen. Not to worry, that will be included in a contextual hover over, what Zach Gage refers to as the "fourth read".

Next up, I'll be working on actually implementing the purchasables I keep talking about Smiley
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #7 on: May 27, 2018, 01:48:40 PM »

The fire is deterministic, and the only way that towers can waste a shot is if a non-homing (fire) tower kills the targetted enemy. The homing towers work pretty well in unison. I included more visuals in my latest post Smiley

Nice post Smiley

Just a question on the homing towers - is their fire deterministic? i.e. if I have 2 towers, are they always guaranteed to shoot in the right order at the right targets? Is there not a case where an enemy will be destroyed by tower B, *just* before tower A fires (at the same enemy), thereby wasting a shot?

I feel like some diagrams might help here...
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #8 on: May 27, 2018, 01:52:23 PM »

Thanks, it was a pretty tough LD theme, but I'm pretty pleased with how this turned out

If I had a dollar every time I messily prototyped a game and then had to restart from scratch after deciding it was worth more investment... I'd have several dollars  Tongue

This looks great tho, I love "mashup" games. This particular combo is intriguing!
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #9 on: June 01, 2018, 10:08:43 PM »

We're nearly there folks.

Over the last week or so, I've been, with some help of my playtesters, adding and balancing the abilities in the game (which I have previously called purchasables, which is a horrible word and they're now called abilities). The idea behind these is to 1) give players something to spend gold on and 2) begin to allow for the customisation of builds each round. Having said that, pictures speak louder than words, so here's a video





Over and above this, I've been adding and finishing off a bunch of stuff that I'd been putting off. Enemy attack animations, wall rebalancing and healing, tower rebalancing and so forth.

The last major pieces of functionality I need to do before our first release on the new codebase are the dreamlo integration and creating a bunch of leaderboard interfaces and adding audio back to the game, it got lost somewhere down the line. Stay tuned Smiley
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #10 on: June 08, 2018, 08:27:45 AM »



Element Crush v0.1 is live! Play now at https://vfqd.itch.io/elementcrush

There's been a major overhaul of all of the elements of the game, bugs have been fixed, code has been optimised, and new features have been added. Rather than showing that (very) long list, here are some of the most pertinent gameplay changes:

- Reworked the tower level / damage algorithm - A higher level tower now always deals 2 time more DPS than three towers of the level below.
- Added abilities, you may pick 3 each round and they are activated by spending gold
- Better than 3 matches will now always give gold:
    - 4 in a row gives gold and a level 1 tower
    - L or T shaped match gives some gold and a level 2 tower
    - 5 in a row gives a lot of gold and a level 2 tower
- Added a peristent leaderboard, this will store each player's highest score to date and the abilities they used during that round.
- Hovering over a tile or ability will give you more info about it.

Expect bugs and imbalances, as this is still a very early build, but I'm keen to hear what you think!
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #11 on: June 08, 2018, 05:52:33 PM »

This looks awesome.
Being the huge fan of tower defenses (especially tower defense hybrids) that I am, I'm eager to see where this project goes.
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #12 on: June 19, 2018, 06:08:29 AM »

Hi all,

After a brief hiatus, work can begin again on Element Crush. This post will be less of a devlog and more of a roadmap to let you know where things are going from here. Broadly speaking, these are the next steps:

  • Release a new version with balance changes to enemy scaling and fireball cost
  • Start work on next major version, which will include new elements. The general plan is to (at least for now) allow players to pick elements (and towers) before they start a round - in the same way as is currently being done with abilities.
  • Give the game a facelift - most of the art is still leftover from the jam version, it needs a bit of love
  • Perhaps add new abilities, I've gotten some great suggestions

As always, I welcome feedback and thanks for your continued support Smiley
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #13 on: June 24, 2018, 04:09:52 AM »

Hey everyone,

I've just released a new version with some balance changes, some bugfixes, and some small feature requests. Keen to hear your thoughts! Full changelog below:

  • The leaderboard has been archived and reset, link to old leaderboard below
  • Fireball cost changed from 5 to 10
  • 5 second cooldown added to fireball
  • Reworked enemy health scaling - should be more manageable now
  • Gold from matches gives 2/3 of what it used to
  • Added combos - getting multiple matches will cause a combo to start. All gold generated by subsequent matches will be multiplied by the current combo multiplier.
  • Matching 5-in-a-row or an L/T shape of upgraded towers will now merge and skip a level (e.g. 5 levels 1s = level 3)
  • Water tower base reload time increased from 0.5s to 0.67s
  • Water tower base damage increased from 1 to 2
  • Fire tower base damage increased to from 4 to 6

Here's the link to the archived leaderboard - https://docs.google.com/spreadsheets/d/19GdaYPmaMtQ9t-HtSmLcWSO7jklYijzqB1ZR2yfPNRw/edit?usp=sharing
Logged

Le Slo
Level 0
**


View Profile
« Reply #14 on: June 24, 2018, 08:25:53 AM »

I really like the mechanic of matching 5 elements skipping a power level. Now the game has more strategy to play with. Really enjoying this game!
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #15 on: July 02, 2018, 12:47:20 PM »

It's me again, back with another update.

This time, it's all about art - I've been needing to give the art some love for a while now and so I'm going to be redoing the old elements and adding some new ones. Also, for those who are interested in these things, I've finally settled on a palette for the game. All of this new art is being done with the endesga-32 palette https://lospec.com/palette-list/endesga-32 which I think covers my needs very well. The background will probably use a different palette for readability but all of the towers/elements will be redone with this palette.



Here is a bunch of the new art, from left to right
  • New fire tower / fire - replaces the original fire tower, the other original elements will be touched up as well
  • New tower - Fulcrum tower / boulders - utility tower, more on this below
  • New tower - Dark tower / swamp - new element tower, behaves like the wood tower except attacks in four diagonal directions
  • New tower - Light tower / desert - utility tower, more on this below
  • Bonus - Tower building animation which will be shown when towers combine

The fulcrum tower and the light tower are being added because I want more towers/elements to rely on specific positioning on the grid. This allows for a high skill ceiling to the game and interesting strategies for players.

The fulcrum tower has synergy with any towers which shoot horizontally (currently only the fire tower but more will be added). If any of these towers fire from behind the fulcrum tower, their shots will be caught and tripled, sending one shot up, one shot down, and one shot to the right.

   

This mechanic will allow for interesting strategies using towers that could previously only hit targets in their row. An upgraded fulcrum tower will make the projectiles it duplicates more powerful.

The light tower, on the other hand, has a passive effect which buffs the attack speed of adjacent towers. Towers above, below, to the left of, and to the right of the light tower will get this buff. An upgraded light tower will increase the percentage.




As always, thank you all for your support and I welcome feedback. In particular, if there are any critiques of my pixel art, I'd love to hear them. I only started doing pixel art late last year and I'm looking to improve.
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #16 on: July 02, 2018, 12:49:51 PM »

This looks awesome.
Being the huge fan of tower defenses (especially tower defense hybrids) that I am, I'm eager to see where this project goes.

I really like the mechanic of matching 5 elements skipping a power level. Now the game has more strategy to play with. Really enjoying this game!

Thanks for your kind words Smiley it's very encouraging to hear that you enjoy the game and think it has potential
Logged

vfqd
Level 0
**


View Profile WWW
« Reply #17 on: July 03, 2018, 02:11:20 AM »

I'd like to make a little addendum to yesterday's post. I forgot to talk about the actual tower designs. I've deliberately tried with each of the designs to imply the function of the tower from the art.

To start with the most basic one, the fire tower now looks like it's going to shoot to the right, the cannon facing that direction is a strong suggestion of function. The fulcrum tower has a lion head facing both to the right and down (and an implied one facing upwards). The projectiles will enter from the back of the tower and then be split according to where the heads are facing. The dark tower has four spikes on top of it, each of these dictate a direction that it can shoot. And finally the light tower, whose function is not all that easy to convey, will probably have visual lighting effect across the towers it affects.

Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #18 on: July 06, 2018, 06:58:16 AM »

The new art looks great (it's certainly a lot better than what I can do Tongue) and the idea of the fulcrum tower is very intriguing.
Logged

Kyuugatsu
Level 1
*



View Profile
« Reply #19 on: July 06, 2018, 07:13:45 AM »

I tried out your game and had some fun. I was a bit surprised when the enemies showed up though. Was there some kind of indicator I was supposed to be watching?  Blink
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic