Floramancer - Stardew Valley meets Heroes of Might and Magic

Floramancer
A farming sim where the fruits of your labour can go to war!



Take a dash of Stardew Valley and a pinch of Heroes of Might and Magic, add a few gallons of secret sauce, mix it well in your Cauldron and taste. Oooh, It tastes like Floramancer, a turn-based strategy\farming sim hybrid!

Plant and care for crops in your garden, which grow up to produce units that you can use in battle to drive the corruption from your island of Corlarn!

The game is broken into three sections: Your Garden, where time moves linearly and you are responsible for caring for your plants, building structures and repelling the occasional invading force. As of when I'm writing this, I've got the procedurally generation for the Garden, the entire seed/plant/unit system, as well as the terrain modification system (different seeds need different terrain types to grow) running. I've got a partial system working for building structures and have the invasion system on the to-do list.

When you need more seeds, or simply want to explore, you can leave your Garden to enter the Overworld. This area is much, much larger than your Garden and is procedurally generated as well. It's here that you'll encounter enemies wandering the map, as well as the lairs from which they spawn, random events and the Six Pillars, with the point of the game being to purify said Pillars and return your island back to it's pre-corruption state. Time in the Overworld is turn-based, with you having a certain amount of movement points you can use each turn. I've got the procedural island generation, the enemy generation and placement, event generation and placement and the Five Pillar placement all done. Most of what is left for the Overworld is simply polish and balance, as well as a few miscellaneous things, like the fog of war.

Finally there's the battle area. Combat has been reworked completely since I posted this, so I've deleted this section and I'll write up a proper explanation when I have some time.

Currently Implemented Features
  • Procedurally generated Overworld and Garden ensuring a unique play through each game.
  • Multiple types of crops to plant and care for, each with it's own traits, soil requirements and a corresponding unit to harvest.
  • Unique events and points of interest on the Overworld.
  • Terraforming your soil types in the Garden
Planned Features
  • Many more enemy types.
  • Dozens of seeds and corresponding units.
  • Garden invasion forces. Defend your Garden from external attacks.
  • Multiple structures, both cosmetic and functional, that can be built in your garden.
  • Strategic hex-based combat that has an evolving field of play, with both hazards to be avoided/neutralised and bonuses to be used.
  • Combat involving fortifications around key points.
If you want to see what's been happening with Floramancer, I post fairly regularly on my discord server (https://discord.gg/W7RuCTx). I do post updates here, but they are far less regular (I don't particularly like spamming the GMC with random small updates and thoughts).

A day in the life of a Floramancer.

---

Quick history of Floramancer's development through The Visual Medium:

Early island gen


Later island gen


Working out an A* pathfinding solution


Early work on the Garden


Some more early work on the Overworld, now with Events


Building in the terraforming system


An early prototype of the combat system


Getting traits, stats and a combat display into the game
 
Last edited:
W

willthetarget

Guest
This is a really interesting idea! I'm curious about the gameplay, you mentioned in the title it's like Stardew Valley, would 1 turn = 1 day regarding flower growth and health? That also looks like a very large map! How far can the player travel in one day?
I'm looking forward to seeing a playable build posted here.
 
Hey, thanks for having a read :)

So right now, there's two sections to the day/night cycle. In your village, it's a pretty standard farm sim situation. Do stuff, get tired, sleep, a new day happens. But on the Overworld, I'm thinking of breaking it down into a bit more granularity for each turn. So perhaps something like Turn 1 - Morning > Turn 2 - Midday > Turn 3 - Afternoon > Turn 4 - Night/New Dawn (possibly this is where you'll get a heal maybe?). But it's something I'll have to play around with to balance and I'm not quite there yet. The map can be arbitrarily large (load times notwithstanding), so I'm considering having a Small, Medium, Large, Giant map option or something for when you start a game, which'll basically determine the game length. The player can travel fairly far in one turn right now, probably 6-7 turns to cross the continent, but that's really just for debugging/coding purposes. Gameplay-wise, I really wanted to have a sense of exploration with each new map, so I'd prefer it to be a relatively large map with you having not a lot of AP to increase the exploration time before it becomes all about growing your army to destroy enemy bases, but the amount of AP you have is dependent on your Speed attribute, so you can increase the distance you can move through the leveling mechanic.

I'm also interested in having non-battle interactions with the enemy heroes, so things like them taking items that you could potentially have gotten off the map (with notes or some other communication to let you know who it was), kidnapping villagers, etc, to try to give some depth to the exploration and the enemies.

I've just finished getting the pathfinding system functioning for the battle arena and hopefully I'll have at least some test damage happening by the end of today, which is really the first step to getting a playable demo. Once I've got the arena functioning to the point where it's at least playable, I'll probably upload a little demo version with your party being generated by the computer and just having some exploration of the overworld + battle arena as accessible areas. So, my guess is a week or two before a demo, but in real-dev time, that might mean a month, I'm not too sure.

Oh and before I forget there's only 13 hours left on the competition on my discord to win one of either Dead Island, Hollow Knight or Sniper Elite. There's also only 6 entrants...So whoever wants to join the competition has a good chance of winning the game ;)
 
Last edited:
Previous discord competition has a winner, so the next competition is starting up. Simply join the discord, go to the #competitions channel and emote with the competition bot to enter. Pick between Kerbal Space Program, Darksiders 2 or Duck Game if you win! These are all personal favourites of mine and I'm excited to be giving one of them with whoever wins. Winner is drawn two weeks from now, so make sure to get on it.
 
Got finished with the very barebones of the Battle Arena. All art is still completely placeholder, but the basic idea for combat is that it has three phases:

Planting Phase

During this phase you plant your troops, traps and shelter using the seeds you have in your inventory. Each seed type has it's own growth rate and it will germinate after a number of Growth Phases. Troops that survive combat will be returned to your inventory, anything else will be used up.
> This phase leads into the Growth Phase.

Growth Phase

During this phase the seeds you have planted go through a growth cycle. Each seed has it's own number of growth cycles it needs survive for before it will germinate and become active on the field.
> This phase leads into the Combat Phase.

Combat Phase
During this phase you will move and attack with your troops based on how many Action Points they have. The enemy will also get their turn to attack after yours.
> This phase leads into the Growth Phase if any enemy troops still have HP, otherwise it ends on the Battle End Phase.

There's always going to be revisions and changes, but that's the basic idea that I have so far.

The gif below shows me planting my seeds during the Planting Phase, then one seed growing to full during the Growth Phase, then me attacking a bunch of enemies with that one seed during the Combat Phase, into another Growth Phase when my guy runs out of AP then a final Combat Phase where I get every enemies HP to below or equal to 0. Then it finally ends on the Battle End Phase.

 
Got a few tracks done for the background music, and some pixel work as well:

Floramancer Style 1:


Floramancer Style 2:


Void type enemy:


Right now I'm working on the village area, doing a lot of boring data entry for items and things like that so that the stats are there for when you are planting your seeds. Hoping to get that done by the end of the week and then maybe another week of fixing/connecting everything together, and I should have a rough vertical slice of the game going.
 
Managed to get around to doing enough data entry that you can plant seeds in your village now, hoorah. Also did a fair bit of work around designing the UI (though it's not in its final form yet).



There's two times when you can plant seeds in the game; during battle and in your village. If you plant seeds in your village, they'll grow into a plant and start producing seeds of that type which you can harvest (these are stored separately in your Seedbank). During battle, you can plant both seeds you have found and seeds you have grown, but the seeds you have grown will have significant stat advantages.
 
The full seed/plant life cycle is now implemented. Each plant type has it's own growth rate, seed production rate and number of seeds that can be produced before the plant dies. I haven't implemented the UI for the Seedbank yet, so right now I'm just placing the harvested seeds back into the normal Inventory, but once I get the display for the Seedbank done, each seed you harvest will have its own unique stats and abilities (seeds in your inventory are all generic with standardised stats according to the plant type). The image has a few jumpcuts just to keep the size of the gif down a bit.

 
J

Jeff Short

Guest
Got a few tracks done for the background music, and some pixel work as well:

Floramancer Style 1:


Floramancer Style 2:


Void type enemy:


Right now I'm working on the village area, doing a lot of boring data entry for items and things like that so that the stats are there for when you are planting your seeds. Hoping to get that done by the end of the week and then maybe another week of fixing/connecting everything together, and I should have a rough vertical slice of the game going.

I really like this pixel work, is this your own work or did you end up finding an artist?
 
It's my own but I'm still very much looking for an artist, hahaha. I'm kinda hit and miss with pixel art plus the amount of time it takes a non-artist like me to make just one piece of art look halfway decent is -way- too much for me to add it on top of my workload with the coding. So hopefully I'll find someone who's intrigued enough by the game concept to give me a hand (rev-share is what I'm aiming for, but if I get to the late stages of the project and still haven't found someone, I'll be looking into ways for me to finance hiring an artist).

And if worse comes to worst, I'll just add whatever it takes onto the dev cycle for me do the art properly. A lot of what is displayed here is literally me rushing a drawing so I can have a sprite to work with in game while I'm developing the systems.
 
So I've been working on a better way to interact with the potential actions you can take in your village. The white dots are placeholders for obstacles like rocks/trees/etc. Right click opens/closes the currently open menu and left clicking interacts. I'm thinking that once I actually get some proper GUI graphics, it'll be a bit easier to condense the info into a digestible form, with colour coding, proper placement of text, etc. Here's a gif anyhow:

 

WarpDogsVG

Member
Interesting idea. Also very intrigued by how UI-focused your early work has been. Is that a passion of yours? For me it's the opposite... I uh, don't work on UI until I absolutely positively have to
 
Hahaha, I dunno. It's more that I can't interact with the mechanics without the UI, so I naturally fiddle with the UI as I'm building the general game and run into annoyances to do with interacting. Also, I've been spending a lot of time recently refactoring the code for everything to get it a bit more production-ready, which has halted progress on nice big changes, so little changes like the UI changes are more 'graphically impactful' to show off. Here's my latest little post on my discord though, talking about the Overworld:

Here's a quick gif of the Overworld map being loaded. It's all procedurally generated. I've marked the Events on the map, but in the final game, most of these will not be visible (basically, any events that are simply item/seed pickups will be visible and any event that is something other than that will be hidden until you happen to wander over them). You can also see the random mobs spawn points, in red (I click on a few of them) alongside the Five Pillars, which you have to clear of Void to save the island and finally the Garden, which is where you grow your stuff. I removed my tiling script while I was working on making it more efficient/in line with what I want. Still haven't found a nice free collection of Overworld tiles to use temporarily. (Note: the size of the map is not to scale, right now each cell is 4x4 to make it easier to see the map as a whole, the final thing will be 32x32 probably).

 
Last edited:
T

Taddio

Guest
The way the "farm deeds" menu pops-up is really cool! It's very smooth and good-looking. The love you put in it shows, that's for sure
 
Got some terraforming going on. The plan, as of now, is to have each seed need a certain type of soil, so you'll have to terraform your garden in order to be able to take full advantage of all the seeds you find:

 
I've done a big rejigger of the behind the scenes code to make handling a bunch of stuff easier over the last few weeks. Enemies move around the Overworld now and can attack you. The combat screen is still WIP, but it's what I'm working on right now, so there should be a bit of progress to show on it soon (the battle inventory works, planting seeds in battle works, the party data of the enemy that attacks you is read properly and the enemies -exist- in the combat room but don't do anything yet). But while that's happening, here's a gif of the garden with some actual sprites in it (though I haven't worked on the depth system yet, so the wizard walks on top of bits of the sprites):
 
In the middle of prototyping out the combat system. There's three unit types: Melee, ranged and spellcasters. Melee and ranged units attack as you would expect, but spellcasters simply modify attacks that go through them. In the example below, you can see a melee unit and then a ranged unit attack through a wind class spellcaster. Wind class spellcasters add piercing damage to an attack, vertical for melee and horizontal for ranged. There's six spellcaster classes so far: Wind, water, fire, earth, charm and spore. I'm also considering ways that I can diversify the basic ranged and melee units, but I haven't attempted to implement that at all yet.


 
T

Taddio

Guest
Do your units have some kind of speed stats? If the turn order is set in stone , it would seem counter-intuitive to have the melee turn before the ranged turn, doesn't it? Well, if I was a medieval/fantasy army commander, I would try to shoot the volley of arrows BEFORE my melee guys get in there, haha!
Looks pretty solid otherwise, bro! Keep it up!

Oh, and how did you do that loading screen? Is it just a cool-looking prop, or it actually refers to what's being loaded? Anyway, very cool!!
 
Last edited by a moderator:
Good point, the melee attacks first because of the simple reason that I coded them first, hahaha, but it makes more sense for ranged attacks to happen first (I'll switch it over now). There is a speed stat (it's part of the determination for whether you hit the opponent with your attack) but I haven't coded an actual turn order yet, it's first come first serve right now based on instance placement (though I will probably end up using the speed stat as the determining factor for who goes first).

The load screen is necessary (if I ever code in a fake load screen, I give permission for anyone I meet from this board to give me a big ol' facepunch, fake loading screens are a cancerous waste of the players time).

I'm procedurally generating the world during it, which causes a freeze (the freeze lasts as long as the load screen), so it seems buggy and weird if I don't show a load screen during it. To do it, I just have two variables: load_step and loading. Loading is set to true when the room boots up and load_step is set to 0, I set an alarm for 1 step, have a switch (load_step) statement that holds each piece of the generation and then increment load_step in the alarm for each new piece of generation I do, setting the alarm to 1 again each time, until I've finished generating everything, at which point loading is set to false.

While loading is true, I simply draw a black box over the screen and draw the text of what's being loaded. If you wanna see the steps the proc gen actually takes (it's a bit fast to actually read during the load screen) it's this:

Picking island coastal points
Smoothing island coastal points
Connecting island coastal points
Flood filling island interior with grass
Creating height map for mountains
Smoothing mountain height map
Normalising mountain height map values
Creating rivers
Creating forest grid
Running cellular automata on forest grid
Placing enemy bases
Placing player base
Creating events
Spawning random overworld enemies
Load finished

I'll probably come up with something more thematic to show before I actually release the game though.
 
T

Taddio

Guest
Clever.
In the final build, you could do something like in World of Goo, where they would put funny/unique loading messages, that can make a boring/necessary part like this interesting quite easily.
 
I've currently go 5/22 Special abilities and 2/6 Empower abilities programmed in, with basic combat functioning. The enemies have no AI, besides "Attack what is in front of me" (I'll work on the AI once I've got the abilities programmed in). But the skeleton of the combat system is in place and it's starting to feel good, with strategy behind your placement and movement choices. Here's a full combat round played out:
 
I'm really starting to look for an artist now to prettify this all up (just made a post in the collab section, as well as a few other areas around the internet) so hopefully I'll find someone soon-ish and the screenshots will start looking a lot better. With that said, here's some screenshots:

A brief little look at the stats display in combat:

And a quick look at the garden and overworld in their current state:
 
So it's been awhile. A quick rundown of what's happened since I last posted:

I found an artist to team up with, which I'm super excited about. A lot of what has been going on with the game over the last few weeks has been getting her up to speed, which didn't really involve much "forward" progress, more "sideways" progress. I also went on holiday for a few weeks, which was fun, but took a lot of time away from dev'ing. Apart from that, I rewrote the entire engine. This is something that was in the back of my mind for awhile, but I was focused too much on just "getting things done". The holiday and finding the artist gave me a good period of time to step back and consider things. So, the engine is brand spanking new and comes with a bunch of bells and whistles that I've been able to build deep into it's bones and it feels damn good. Something that had been happening with the old engine was random memory leaks, which was just due to "fast and dirty" data structure management, but they are no more with the new engine! Banished to the void one might say. It also let me really focus on building the game from the ground up with saving/loading in mind and has vastly reduced the amount of pain I was experiencing trying to get everything to save/load correctly.

Anyway, enough about the boring technical details, here's some pretty pictures to look at!

Concept art for the main man himself, the Floramancer:


Concept art for some unit designs, these are what you are growing in your garden to fight folks with (these were done very rough and dirty as most of them will probably not end up in the final game):


And here's a quick vid showing some gardening+terraforming and a quick visit to the Overworld:

 
Did a huge amount of work behind the scenes with terraforming involving the placement, collisions, etc. It now recognises instances that should prevent it from being able to be placed and a bunch of other things. Also working on the bitwise tiling of the borders, though I don't have a complete tileset yet, so square/rectangle ponds are the only things that work. The bitwise tiling for tilling (tongue twister version: till tilling tiled, tiling took time) also works, but I -do- have a complete tileset for that, so any shape works. I also did a lot of work optimising and recoding the procedural placement of grass/trees/rocks/etc in your garden. It now uses a double cellular automata system to decide where stuff should go, and picks a little area of the garden to be more 'foresty'. On top of all that there's a bunch of little tweaks to things, like the ability to sleep by visiting your house, a bit of UI work, just general things like that. The garden is nearing completion apart from graphics, which is sweet as. In any case, here's a long form gif of a day in the life of a Floramancer:

 

WarpDogsVG

Member
I really love your character and creature design, so I almost wish the camera was more zoomed in than it is. It's also tough to see it vs. the temporary environment graphics, haha, I'm looking forward to seeing a more final version
 
I've been working on the island generation for the past few days. Before I was using some smoothed value noise with cellular automata, but I haven't really been happy with it, so I converted it to perlin noise and removed the cellular automata. You can read a big breakdown of it in Progress Report on the discord server. But I also built a map generator which allows me to easily tweak the values and see the outcome in real time, so I thought it'd be interesting to share here:

 
Getting some work done on the combat system movement. I'm showing a lot of "behind the scenes" stuff here, to see if calculations are being done correctly (I'm going to condense as much as the information down as possible later on), but you can see that different tiles have different movement costs associated with them. For instance, the shaking tiles have the "Quake" status applied to them and they have the highest cost of movement at 4 points. The board won't look anywhere near as cluttered during an actual game though (or if it does, it will have gotten there organically and so would make more sense to the player). I've just randomly applied a status to each hex so I can easily test different hexes. (you can see the icon for my combat master object in the top left corner, I'm choosing to call it an easter egg rather than "forgetting to add a draw event to it so it doesn't show itself when recording the gif").

 
Some updated concept art for one of the (potential) units your plants can grow:



This little florauna is still waiting on a name, but they pack a punch in combat. Their special attack is a devastating fiery charge which damages enemy units and sets the hexes it moves over on fire.
 
Well, after spending a long time thinking about the best way to reference/implement the special abilities, I've finally settled on a method, so here's a gif of the first in-game special ability Blazing Tumble:

Art is still all WIP and I still need to update the UI system so that it shows where you can charge to, the AP cost, etc (it shows that stuff for your normal movement/attack, but not the specials yet), but damn does it feel good to finally have the behind the scenes system for specials in place.
 
New unit reveals!

The Stompkin
Magic Type: Earth
This florauna weighs as much as a fully grown oak tree. With a single bounce, he can dislodge enemies from tiles near him, making him invaluable to keeping your units free from danger.

Seed

Unit


The Mindblossom
Magic Type: Wind
This special florauna grows a flower from it's head. Using it's command of the wind, it can throw and then direct this flower to land on enemies heads. The flower then grows its roots into the enemies mind and lets you control them for a limited period of time.

Seed

Unit
 
Top