1. Hey! Guest! The 33rd GMC Jam will take place between May 23rd, 12:00 UTC (Friday noon) and May 27th, 12:00 UTC (Monday noon). Why not join in! Click here to find out more!
    Dismiss Notice

Floramancer - Stardew Valley meets Heroes of Might and Magic

Discussion in 'Work in Progress' started by RefresherTowel, Dec 2, 2018.

  1. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    Floramancer
    A farming sim where the fruits of your labours can go to war!


    [​IMG]
    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 Five 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. When you encounter an enemy on the Overworld, or an invasion force comes for your Garden, you enter the Field of War. In this area, both you and your enemy have separate playfields that you can place your units. Once placement is done, you enter the actual battle rounds. At the start of each battle round, you can move your units, allowing you to better position for combos and targeted attacks as the rounds progress. Once movement is done, the round proceeds automatically through the various combat phases, starting with your ranged, then your melee, then the enemy ranged and finally the enemy melee. Your units attack automatically, based on their specific range and abilities, with you controlling the flow by initial positioning, careful movement and combo setup based around your mages. Right now, I've got a lot of the grunt work to do with the rounds, the movement system, grid positioning, etc all working, as well as a number of different unit types functioning correctly. I still have a fair few unit types to finish up with and also have to add in fortifications for when you lay siege to one of the Five Pillars in order to clear the corruption from it.

    I'm currently seeking an artist to team up with. All the art in the game is a combination of free online assets and random things that I've drawn and it very much lacks cohesion and impact. Message me here on the forums or on discord if you're an artist who thinks this project seems interesting and you feel like you could make it come alive.

    Currently Implemented Features
    • Procedurally generated Overworld and Garden ensuring a unique play through each game.
    • 5 enemy types currently implemented.
    • Multiple types of crops to plant and care for, each with it's own traits, soil requirements and a corresponding unit to harvest.
    • Strategical turn-based combat, take your time moving units around the field of war, laying traps and setting up combos for devastating results.
    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.
    • 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).

    [​IMG]
    The Garden and the Overworld as they currently stand.

    ---

    Quick history of Development Through The Visual Medium:

    [​IMG]
    Early island gen

    [​IMG]
    Later island gen

    [​IMG]
    Working out an A* pathfinding solution

    [​IMG]
    Early work on the Garden

    [​IMG]
    Some more early work on the Overworld, now with Events

    [​IMG]
    Building in the terraforming system

    [​IMG]
    An early prototype of the combat system

    [​IMG]
    Getting traits, stats and a combat display into the game
     
    Last edited: May 17, 2019 at 6:52 AM
    Gamerev147 and Calvert like this.
  2. willthetarget

    willthetarget Member

    Joined:
    Dec 3, 2018
    Posts:
    7
    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.
     
  3. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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: Dec 4, 2018
  4. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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.
     
  5. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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.

    [​IMG]
     
  6. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    Got a few tracks done for the background music, and some pixel work as well:

    Floramancer Style 1:
    [​IMG] [​IMG]

    Floramancer Style 2:
    [​IMG] [​IMG]

    Void type enemy:
    [​IMG] [​IMG]

    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.
     
    Calvert likes this.
  7. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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).

    [​IMG]

    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.
     
  8. Morendral

    Morendral Member

    Joined:
    Jun 27, 2016
    Posts:
    356
    I really like the UI. It looks clean and functional, nice work!
     
    RefresherTowel likes this.
  9. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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.

    [​IMG]
     
  10. Jeff Short

    Jeff Short Member

    Joined:
    Nov 6, 2018
    Posts:
    8

    I really like this pixel work, is this your own work or did you end up finding an artist?
     
    RefresherTowel likes this.
  11. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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.
     
  12. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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:

    [​IMG]
     
  13. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    Another quick little gif. Everything is purely data driven, no objects besides my player and a controller object. Feels good to have everything smoothly working together.

    [​IMG]
     
    Siolfor the Jackal likes this.
  14. WarpDogsVG

    WarpDogsVG Member

    Joined:
    Dec 27, 2016
    Posts:
    176
    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
     
    RefresherTowel likes this.
  15. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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).

    [​IMG]
     
    Last edited: Feb 5, 2019
  16. Taddio

    Taddio Member

    Joined:
    Nov 16, 2018
    Posts:
    463
    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
     
    RefresherTowel likes this.
  17. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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:

    [​IMG]
     
  18. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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):
    [​IMG]
     
    ReidDC and Siolfor the Jackal like this.
  19. NeZvers

    NeZvers Member

    Joined:
    Mar 24, 2018
    Posts:
    307
    Lovely art and action ring animation!!!
     
    RefresherTowel likes this.
  20. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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.


    [​IMG]
     
  21. Taddio

    Taddio Member

    Joined:
    Nov 16, 2018
    Posts:
    463
    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: Mar 4, 2019
  22. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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.
     
    Taddio likes this.
  23. Taddio

    Taddio Member

    Joined:
    Nov 16, 2018
    Posts:
    463
    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.
     
    RefresherTowel likes this.
  24. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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:
     
  25. RefresherTowel

    RefresherTowel Member

    Joined:
    Jul 13, 2016
    Posts:
    1,098
    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:
    [​IMG]
    And a quick look at the garden and overworld in their current state:
    [​IMG]
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice