Pikmin Based WG RTS (Development Log)

This project has been off and on in my mind for months and it’s gone through MANY changes since I started and has really turned into an unexpected passion project for me. At the moment its going through some rather drastic fundamental changes because of poor original design choices on my part. As such, I’m gonna use this place as a dev log and place for community input in hopes I don’t make the same mistakes again and so that I can incorporate any potential good ideas others might have. If anyone has any suggestions at all please feel free to voice them.

Current Implementation V0.0.3

I might have come up with a method that works.

First, the commander and pikmin are able to be killed as opposed to the immune system I’ve been using. Prevents the exploitation of things that way and the original system is causing more problems than it solves at this point. Second, The amount you can have with you at a time, the ‘squad size’, is now limited and not a ‘just carry everything at once’ sort of option. It is not linked to maximum population. Third, abandon the concept of all Units need to be carried. It limits too many options if using a traditional RTS approach. Fourth, introduction of a ‘classification/size’ rank for Units that take up differing amounts of ‘squad points (SP)’ (numbers are placeholder to get an idea for now). Fifth, at least some of the Units, maybe even all of em, are able to go up in rank through food but not down or something like that. Don’t have a good grasp on this implementation just yet but its a start. Sixth, abandon the SFRPG sprites only thing. Things are now so far beyond what the original use was that making things up from here on is the only way to make progress.

This is the basic framework I came up with.

  • ‘Spirit’ is entirely just pikmin and they take up 1SP each. Spirit Units can be assigned to harvest, carry the larger Units, be thrown as simple attacks (maybe at the cost of HP?), and can be summed up as a ‘technically able to do most things but sucks at anything not utility oriented’ role.
  • ‘Small’ is a step up at 3SP and is a basic grunt unit. They fill the role of fodder assault dude. They are also able to carry larger units at the same rate as ‘Spirits’ but the higher 3SP cost is an innefficiency.
  • ‘Large’ is a jump to somewhere around 5-8SP and is the dedicated assault unit. They are a heavy hitter that is only used for combat and unable to help in support other than maybe some defensive option? Certain kinds might benefit from being carried but don’t require it, perhaps movement boost or stronger attack or something.
  • ‘Huge’ is a Unit that cannot be assigned to the squad and must be carried. They fulfill the roll of heavy seige support and are the ‘X-factor’ in a fight.
    To use Starcraft Zerg as an approximate analogy, Spirit is the worker Drone, Small is a Zergling, Large is a Hydralisk, and Huge is an Ultralisk.

This feels like a workable setup but more complex than I planned on using. I’ll need a hand filling it out with what these Units will actually BE and DO though. If any of you have an idea for a unique Faction setup, or Unit type, or novel interaction with things, or anything, I’m all ears. In the meantime I’ll see about getting another proof of concept version up and running. Hopefully since its a more standard style than the other version, it won’t take as long.

9 Likes

not to bad kid (sorry i called you kid i did it because of the word limit)

1 Like

hey, I’ve seen these sprites before!

2 Likes

After reading this over a couple of times, there’s a pretty big core issue I noticed, there’s almost no point the the spirits.

The only thing that they do is just allow your other units to move and interact with the map a bit, they cannot interact in any other way, so all they do is exist to just make it so hero units can’t move by themselves and to prevent them from interacting with the map.

Everything else you mentioned just effects hero units or the home base, from the actual weight gain mechanics to the unit differences and the faction differences, so why have spirits at all? Just give hero units the ability to move and just make it a traditional RTS at that point.

If you give the spirits the ability to have more impactful role in the game,(For example spirits can attack enemies and have weight gain mechanics as well just not as extreme as hero units but are weaker than hero units, so hero units act more like traditional structures but also powerful but risky units for better combat units and spirits act more like a source of early aggression and also proper support for hero units.) I can see this concept working a lot better

There’s also some more minor stuff I noticed, the demon faction doesn’t fit with the other three, the hero units not being super exciting in their roles, and that you need to use a hero unit to do something simple as gather resources and return them to a drop off point being somewhat pointless, you could have a hero unit be both a harvester and drop off point that you use spirits to move to a new resource point, or just make it so spirits can do that instead.

1 Like

The whole inspiration of the spirits is from the game Pikmin in which you control a small swarm of individually very weak units that are entirely dependent on you for action and you have a finite amount you can manage at any given time. In that game you can have a maximum of 100 at a time and as such need to manage if you should spend 50 of them to carry that thing or keep em all to fight an enemy in the other side and whatnot. And the important difference in this game relative to traditional RTS games is that your character has to physically interact with them to order them around. They literally represent a finite limit to what is able to be managed based off of both your physical presence there and a numerical value of what you determine is more important than other things.

While I grew up with RTS games (War/Starcraft, AoE, etc.) I wanted to shy away from, for example, the SCII meta of continuous mapwide micromanagement in the form of actions per minute in an omniscient manner and focus on the purely strategic management of assets from a single ‘boots on the ground’ point of reference.

My concern with giving spirits a more offensive role was that 1) it would give way to a hyper aggressive gameplay which I’m personally hesitant to gear towards. It also encourages early game zerging to cripple an opponent before they have time to develop. For that reason alone is why I have Tier 1 without any combat units in order for players to setup and position themselves which hopefully allows BOTH sides to develop a foundation before combat arises. 2) My current setup has spirits as basically unkillable because I couldn’t come up with a decent solution to work with the case of a total failure on a players part of losing them all in a fight other than a complete loss considering they are integral to every other game function. As well as I’d have to invent more mechanics around spirit vs spirit and spirit vs hero mechanics and I’m already way past what is doable in a Game Jam. I’ve given thought to that kind of thing but it quickly got complicated fast. (Not that I’m entirely opposed to it, its just I’m just one person) 3) My first draft of any game was actually a virtual board game where spirits were pieces to move around with some Rock/Paper/Sciscors balanced combat and some of this is legacy concepts from that and I was trying to keep things relatively simple by limiting factors.

Now having said all that, I agree that they could do more and the spirit combat can introduce some interesting mechanics. Some earlier concepts I had, especially when I was struggling with figuring out Attack/Defense/Runner/Support balance with spirits being able to be killed was that spirits are able to go past Enemy Heroes except for Attackers who would attack them or Defense units who would physically prevent it. It led to a lack of uniqueness between the two with Attack units being overall more useful than the others. I also had the concept of spirits being able to move opponent Heroes, which still has some promise, but if population caps are put in place then an opponent could grab units and then shove em in a corner and deny any way for an opponent to do anything about it other than a full assault with a weaker force or just ignore it and go with a handicap.

One of the things I was envisioning they would be useful for was clearing shortcut paths that only them and the player could use. Using MOBA terminology, it would be like cutting through the jungle to help another lane as opposed to running the long way. The shortcuts would require certain methods to open and would in turn cause a choice between developing it now with potentially sideline development at the cost of developing frontline units, developing frontline units now and it later, or ignore it.

Either way they definitely have room for improvement

Also, they do have weight gain mechanics with their weight class of small, med, heavy though I’m still working on how that is actually done. Referencing how Pikmin does it, their units have a lvl 1,2,3 system as well but it makes the individual units faster but here, weight runs sorta counter to that so I’m unsure how to handle it other than unit strength but that in turn leads to faster speeds. It just logistically felt weird but not unreasonable.

For the first part here, I was working exclusively with what was provided here so if themes don’t fit or units don’t seem that exciting its because NONE of them were designed AT ALL to be what I’m using them as. I’m still kinda surprised I managed to piece together 4 Factions with relatively balanced aspects from an unrelated story even if, like you said, the demons aren’t exactly the same theme wise. (The reason Gators don’t have a true Ultimate Unit is because I couldn’t find a sprite to use)

For the second part while yes something a simple as gathering isn’t ‘heroic’, I can’t use the term ‘building’ with a creature so I went with hero. They are essentially a building you construct first for a specific purpose (attack/defend/gather/transport/provisions etc) and then place/move later. That said, I sorta see what you mean. I was aiming for it to be another resource that required management by the player rather than an automated process they could forget about and having a unit be needed to transport to and from seemed to fit the bill. They would gather until full, then sit there not gathering to wait for the player to transport, empty and then replace to fill up again. It could technically just be a harvesting unit, possibly the Main Base, and gather until moved or the node is empty.

The prospect of spirits doing the gathering oddly enough I didn’t think about that much as I was looking at Heroes doing all the unique tasks and I was trying to avoid it being a ‘standard’ RTS but that’s a route that could be looked into. But then Runners wouldn’t be ‘runners’ anymore and might need a different sprite, eh, that can probably be worked around.

You’ve given me some good things to work with and consider so thank you for that. I’ll be looking into it and maybe even draft up some simplistic diagrams of gameplay as well to help illustrate these unorthodox concepts better and help with concept generation. Much to think about now.

1 Like

I do love me some Pikmin, Overlord too (I wish that series lasted longer)
Just posting a comment so I can keep an eye on this project, best of luck to you and I hope it turns out well!

3 Likes

I think I’m allowed to necro my own thread if I got an update right? I… I don’t have much to show but its still something to offer. I’ve edited the main post and gave a link to a proof of concept build I’ve managed to make. I’m also writing here to ask for help in making this thing a reality as it seems implementing code is really not my strong suit. I have a lot of theories, concepts, and hypothetical applications on how to get this stuff going but struggle with translating it into the proper nitty gritty code for the computer. So does anyone want to help me with this project?

image

Game es borked, tried to re download and got the same message

Ugh, theres always something that can go wrong even for the simplest of things. I didn’t realize that little extra bit was required when I uploaded. Here’s a zip file of them. I’ll go edit my post.

Ok the new download works now, and I’m going to second what you said in the new main post, because there is definitely potential here.

There are some thing I think you should change, mainly having to mico manage harvester units because that is just going to make harvesting resources a pain, while I get wanting to make that part of an RTS more interesting from your description it sounds like its just going to add more work for the player and make attacking your enemy more of a chore.

Because if you are currently fighting your opponents forces, you are going to at some point have to; A: move your harvester while you may or may not be loosing a fight you have to ignore just go get resources which could lead to your army getting wiped and you loosing, or B: Focus on the fight and pray that your opponent isn’t able to move his harvester more easily than you.

It just kinda doesn’t sit right with me.

I’d change change how harvesters work so they work more autonomously but requires the players intervention to prevent the enemy from destroying them, this would make the player focus on fights more as opposed to hearding harvester units.

Also there’s the issue of (from your descriptions of how the units work and not counting the support or the ultimate units) there effectively 3 units you can use in a fight, a suicide unit, a basic ranged unit, and a unit that mitigates damage, the other 3 are a glorified harvester, production structure, and a wall that you can move around a bit.

I get that this partly because you’re using super fatty assets, but wouldn’t it would be better if you merged two of the factions together? So instead of 4 factions there would be 2 but you could have more units in a faction and could give a faction more variety. This would give the player more units to work with and you give you more creative leeway with how the units would actually function in game.

Lastly the problem I noticed with the spirits the first time is still there. They only exist to act as a mobility scooter for your units that can do things to win you the match, and I know this is part of what is supposed to make it closer to Pikmin. But in that game, Pikmin could do so much more; You could send them in to attack enemies where they would attach to enemies and deal damage until shaken off or ordered to get off of that enemy, They could be thrown to take care of flying enemies, deal more damage to grounded enemies or be thrown to area’s they couldn’t reach, They could pick up small items like bomb rocks to open up passages or to attack enemies, Different Pikmin could deal with environmental hazards better than others so you were encouraged to have a variety of them to deal with hazards, and each type of Pikmin would have different attacking, health and speed that could be improved via rank and so on.

And by comparison spirits just exist to move around the units that mater so again I question why they are even here other than to add a step to something that you can do in other RTS games by clicking on the ground. So I’m going to just say again, you NEED to give spirits something more to do that just carry units + get fat and I don’t think stealing enemy units is going to be enough.

Sorry if this post is coming off as super negative, I really want this game do succeed, an RTS game with weight game elements is something I’ve wanted to see this succeed so much (particular after Food Out got it’s development suspended seemingly indefinitely) and I would absolutely love if this game had it potential fully realized. And the tech demo is promising for what it is.

Also if you are looking for a bit more inspiration for mechanics for this style of RTS game(particularly if you are still planning on making it PVP oriented) I’d take a look at Tooth and Tail, it’s originally what I thought this game was going to be like from the original post.

Repurposing unneeded posts for archives

Original Concept Post V0.0.1(Abandoned)

This game idea came from the Gain Jam ‘Minion’ wildcard prompt and has gone through quite a few genre changes as I tried figuring out how it would work. (Which has unfortunately led to some conflicting overlap with overall direction) It has since grown much larger in scope than I originally planned and unfortunately because of life obligations occurring at the same time as the Jam, I don’t believe I can finish even a working tech demo in time. So I’m deciding to put it up as a project idea here and ask you guys for critique, assistance, and other kinds of help to get the project going as I think it’s too neat of an idea to not try simply because I’ll miss the deadline.

As a personal limitation, early on I decided to use free assets as a means of quick setup and ended up with ImpossibleSnail’s free SFRPG sprite pack and that has led to some creative thinking about how I went about things and led to something that I feel is kinda neat. If this project takes off I plan to remove the limitation but for now it works and has formed a fundamental basis on the game’s concepts. You can find the pack here:
FREE-TO-USE-FATTY-ASSETS by WeirdMidnight

The current idea is a ‘camera locked behind the player’ kind of view, in a 3D world with the characters as 2D sprites akin to games like Paper Mario. Ideally, I’d like for this to be able to work as a multiplayer game and that is WAY beyond my abilities but I’d like for the option to be there if possible. As a compromise I plan on going as a ‘campaign mode’ vs a scripted ‘ai’ though that is, also, a bit beyond my skills but still at least in the realm of possibilities.

Basic Concept Outline

  • You control a character that is in charge of a swarm of smaller creatures and use them to move, alter, affect, etc., everything in the map. Originally inspired by this sprite sheet. I’ll refer to them as Spirits. There is a maximum population you can have and I’m aiming low-ish of around 50-60 or so.

    • candeez
  • The spirits have weight classes of (for now just 3) light 1lbs, med 3lbs, heavy 5lbs that would alter how they interact with the world. Light ones could be thrown up high and weigh the least, med thrown less so and weigh more, and heavy barely throwable if at all and weigh much more.

  • The map would have obstacles that are affected by weight and spirit count. Examples being a brittle floor that has a weight and unit limit (5 total spirits at a time with a combined weight of 10 lbs), a river crossing that can be made with enough heavy spirits to walk on (to fill the gap a unit must be heavy in order to not flow away), most areas have slopes but some have stairs that heavy units can’t climb, a crushable wall that requires a high enough weight to break (max 12 units can fit on it and needs a weight threshold of 25lbs), and other kinds of things.

  • The spirits are used to move and transport large objects such as Food and also what I reffer to as ‘Hero’ units.

    • en_gatergoth1
    • en_gatergoth2
  • Hero units I envision as, from an RTS viewpoint, mobile buildings to be used for attack/defense purposes as I don’t plan on having the spirits capable of combat themselves. Heroes are either incapable or unwilling to move themselves and have the status Immobile and Carried. Heroes have values for Carry Load and Surface Area. Hero units would specialize in Attack/Defense/Support/Runner as I currently have mocked up (still open for change). They must be Fed in order to use abilities or else they stop providing benefits until their hunger is sated.

    • Immobile status means they are now planted in position and can take action until picked up or they run out of food. They are also only able to be fed while Immobile. Carried status means, well, they are being carried and might be unable to use abilities depending on class.
    • Carry load is how heavy they are and how many spirits would be minimally needed to lift them and surface area refers to the max number that can fit around them to determine how much you can surpass the default carry speed by. ( X/10 spirits to pick up, and only 20 able to fit around them). This is to prevent spamming tactics of 100/10 to rocket things into place. A Fed Hero weighs more than an Unfed one so planning on when and how they move becomes important.
    • Classes is the area where I’m still working with balance/fun/ability-to-implement, mostly because of the aforementioned genre flip-flopping, and am open to suggestions here. Attack Classes are able to take out opposing units while Carried at a reduced melee range and at an extended range while Immobile. Defense Classes are able to Physically block off narrow routes while Immobile and take damage for other units in the area while Carried. Support Classes are able to store and retrieve food for other units while Immobile. Runner Classes are used to harvest map resources while Immobile and Carried back and forth from Main Base to deposit them. Main Base is the Win/Lose condition for you and your opponent that when Immobile also functions as how you progress along upgrade trees and create Hero units. Main Base is able to be Carried.
      • Alternative option 1: Support Classes function as resource Harvesters while Immobile. Runner Classes collect from Support Classes in order to transport to Main Base. Main Base takes over function of original Support Class as well as its role as Main Base.
      • Alternative option 2: Main Base functions as resource harvester and converter. Runner Classes function as solely food transportation.
    • Fed Status is basically a health/ammo/energy/storage bar in one for Heroes. There are currently 3 (technically 4) stages 0-Defeated, 1-Hungry, 2-Full, 3-Stuffed. Defeated is self explanatory of when they run completely out of food or are defeated by enemy attacks. Hungry is the default state and offers no inherent benefit or detriment until another stage is reached. It’s mostly a preparatory for later stages or a buffer from defeat. Full is when they are able to use their abilities and can be made useful. Stuffed is a special case for Main Base units once upgraded that can unleash unique game changing abilities but require heavy investment and management in order to utilize.
  • I’ve cobbled together 4 Factions of units with unique specialties and upgrade paths. They still need work but they have a solid (I feel) foundation to work from. They all follow a basic upgrade path, with some variance.

    • Tech Tree works as follows:
      Tier 1: Unlocks Main Base, Runner Unit, Support Unit
      Tier 2: Upgrades Main Base, Unlocks Attack Unit, Defense Unit
      Tier 3: Upgrades Main Base, Unlocks Ultimate Ability. Ultimate Abilities still require ‘filling’ once unlocked in order to be activated.
    • Factions are as follows:
      • Barn Buddies: Bunnies, Chickens, Foxes, Cows. Designed around the Runner class with a focus on many weaker/lighter units. Main Base: Cow with Ultimate Ability ‘Milk Tap’ raises Spirit lift strength by 1 for faster unit movement.
        Main Base Unit:Cow
        Cow2
      • Diet Demons: Mummies, Witches, Vampires, Succubi. Designed around the Attack class with a focus on sacrificial offensive units. Main Base: Succubus with Ultimate Ability ‘Hellfire’ performs a map wide AoE damage spell on enemy units.
        Attack Unit: Witch
        Witch1
      • Gator Grub: Gators and Reptiles. Designed around the Support class with average units who specialize in sustained output. Main Base: Snack-Shack, Ultimate Ability ‘Gator Glut’ allows regular units to become Stuffed upon unlock. Main Base does not Upgrade.
        Support Unit: Delivery Guy Hungry/Full
        en_delgater1
        en_delgater2
      • Wallstreet Wolves: Dogs, Wolves, Bulls. Designed around the Defense class with a focus on preventing opponent play. Main Base: Boss with Ultimate Ability ‘Bureaucracy’ allows all units to temporarily inherit Defense unit blockade ability.
        Defense Unit: Suit
        Suit1

Um, I think that about covers what I got so far. I was planning on doing this in Unity but the last time I did programming was with actionscript years ago. I’m currently trying to wrap my head around how the hell Unity does things and with all the version changes and mismatched, outdated, and randomly ineffective YouTube tutorials I’m trying to piece together, it’s slow going. And while I CAN program it is not an aspect I enjoy doing but am trying to work through. I have a relatively solid grasp on the logistical aspects of how the mechanics can function, I just can’t figure out the proper words and steps needed to implement them in code properly.

There is still plenty to work through and implement and ironically, one of the things I’m having trouble with is, who is the character you control? As imagined, the Hero Units are very large and the Spirits are really small so the character needs to be kinda small/medium sized. They also ideally would have multiple animations but the limited selection I’ve got of sprites limits that severely. My thoughts were to use just a bigger spirit or one of the alternate versions but that doesn’t quite feel right. Another thought I had was to use the WG mascots as the character which could work but they only have a single image each. But if I ignore traditional animation techniques and go with math based ‘squish and rotate by a set amount’ options it might work.

Anyways, if anyone has ideas for things to implement or solutions on problems that you see feel free to voice em. I hope to work on this as I can but life is currently not being as agreeable to game design as it could be for the moment.

Original Concept V0.0.2(Abandoned)

TL:DR
This is esentially a board game with top down 2D realtime strategy elements in the style of Pikmin. I wanted to design a game that differed from standard RTS games in three main ways. First, you play on the ground as a unit, not an omniscient overlord, second, your attention is a literally finite resource in the form of Pikmin inspired Spirits, and third, units have to be carried to move via the aforementioned Spirits. This is what I came up with.

Your character is a Commander that is able to command Lesser Spirits but you are in service to your Faction’s Leader who is attempting to defeat a rival team. Your Leader and the Heroes with unique abilities available to them are unable to traverse the map on their own and it is your job to take charge and use your Spirits to carry them, literally, to victory. Not in a test of speed but rather a mastery of strategy. After all, the deadweight you’re carrying is not all that fast but that doesn’t mean you have time to be idle.

In essence, the main hook of the gameloop is that you are in charge of everything but are not physically able to be everywhere at once so you need to assign and manage orders to units while doing your own recon while attempting to outplay your opponent doing the same. An odd half baked way of explaining the ‘gamefeel’ of it diferently would be like if FNAF was 2 player and each player had to defend against the animatronics while simultaneously sending their own at the opponent. I was aiming for that sorta level/type of ‘attention management’ of always checking on things individually and gaining an instinctive understanding of what needs to be done and what can be set aside for the moment. Except scaled a bit down, not horror focused, and in RTS format with grid based movement for simplicity sake. I tried to give everything an ‘attention cost’ that isn’t much on its own but as the game starts hitting late stage and more and more pieces are on the board, the chance for both you AND your opponent to forget something or issue a wrong order allows for a weakness to exploit.

End TL:DR

Quick and Dirty Breakdown of Overall Mechanics

Each team chooses a Faction that each consist of a Main Base, Attack Units, Defense Units, Harvest Units, Support Units, and the player character Commander. There are 2 main gathered resources, Energy and Food which are used for Upgrades and Unit Maintenance/Empowerment in varrying degrees. Energy is a limited map resource that requires a Harvest Unit to acquire but Food is a more abundant resource and can be obtained casually. To use common RTS terms, Energy would be similar to a Gold Mine and Food sorta like Lumber. Units are moved by assigning Spirits to them. Units require a minimum amount to move and going over that by a certain amount (planning for 1.5x or 2x base cost) leads to a speed increase. Units also require a Marker to designate the destination. Players have ~4 Markers able to be placed at once. Markers must be placed and retrieved manually on the map by the Commander. Units are bound to grid based movement but traverse through them in realtime. Units when not being carried by Spirits are Immobile and occupy a grid space. Defensive Units are uniquely able to completely block off the square from other Units basically acting as a portable wall. Commanders are very fast, are not bound to the grid, and have free reign over the map (barring map boundaries) but have a limited field of view around them.

Commanders
Commanders

This is the only character you directly control. Commanders do not take any form of damage, are not bound to the grid and as such are able to basically go anywhere with impunity. They are very fast relative to the Units in order to be able to prepare the necessary orders to give without having to, for instance, chase down a Unit you just mixed up an order on and not being able to catch them. The speed is also an important factor because the Maps will be relatively large to allow strategies to actually take place and being able to traverse the map and not feel like a slog, is I feel, crucial. A balancing aspect for this though was the concept of a limited field of view via a capped zoom out limit. In order to get a player to traverse the Map I figured needing to check on things themselves might work. It could also allow for a ‘4D chess’ type play with a player not needing to traverse as much because they could predict outcomes and therefore save a trip to allow better use of their time. Or so I hope anyway.

Spirits(Faction colors and Lesser and Greater versions)
candeez

Spirits act as a finite resource of where your attention is placed. Current plans have an estimate of something like 60 being the maximum you can have in use at a time. I’m trying to hit a sweet spot of not so many that you can just spam them on everything without thought but not so few that you limit the potential for interesting strategy. This is likely to change as balance demands while development progresses.

Spirits are primarily designed to be assigned to the Commander (to be able to be assigned elsewhere), assigned to Units or carrying Food (for transportation), and assigned to assist in Upgrade progression (part of the temporary ‘cost’ to upgrade). Being assigned to the Commander is a default state of sorts and simply represents how many Spirits you have available to be assigned to the other tasks. Each Unit has a minimum cost needed to be carried and the Spirits assigned to them is, well, how many Spirits are currently doing that. If a Unit is defeated by an opponent, the assigned Spirits will flee in terror and be unavailable for use but after a set time they will manage to return back at the Main Base to await further orders. Spirits assigned for assistance with Upgrades are temporarily removed from the available pool for the duration needed in order to complete the upgrade and when it is finished, they are spat right back out at the Main Base.

Spirits only get a single kind of unlock that is tied to when the Main Base is Upgraded. For every tier, after the initial start stage, the Player unlocks a single Greater Spirit. A Greater Spirit is special in that they are able to be controlled remotely through simple singular commands (via some sort of ui option) as well as able to manage the Lesser Spirits in its immediate vicinity. Commands would be something like “Set current Unit as Immobile”, “Take 4 Spirits to Marker 2”, “Assign all Spirits to Unit at current position”, “Return to Commander” and things like that. I realized that the scale of the game was getting too large to not have another means of managing things but I still didn’t want omniscient control so I settled on this and I think it has a lot of potential here.

Units (WIP)

Upgrade Tree (WIP)
Main Base Tier 0: Main Base, Harvest Unit, Attack/OR/Defense Unit T1 (Faction Dependant)
Main Base Tier 1: Tier0 Unit T2, Attack/OR/Defense Unit T1 (Faction Dependant), 1 Greater Spirit
Main Base Tier 2: Tier1 Unit T2, Support Unit, +1 Greater Spirit
Main Base Tier 3: Ultimate, +1 Greater Spirit

Harvest Units
Delivery Dude (Empty/Full)
Delivery Dude
Delivery Dude Full

Harvest Units are probably the simplest of them all with a singular purpose that only they are capable of. They have 2 stages, Empty and Full. A Harvest Unit is transported to a Energy Node on the Map and if they are set as Immobile they will begin to gather the Energy within themselves. When they reach max capacity they will stop gathering and become Full. At that point they need to be transported back to Main Base in order to deposit the goods. After which they revert back to Empty and are able to repeat the cycle again.

The goal in this design was to have a simple harvest/deposit system that was easy to do but potentially easy to forget about in the heat of battle. Another aspect was a symbiotic relationship with a Greater Spirit in order for an easy automation of it if desired at the cost of a useful resource that could be used elsewhere.

Main Base
Cow(Tier0)
Cow1

Cow(Tier 1 and 3)

Cow2
Cow4

Main Base is the foundation your Faction is built from and if it is destroyed the game is won/lost. Just like all the other Units it too is able to be Carried and repositioned but needs to be set down in its Immobile state in order to do most of it’s main functions. A Main Base is where Energy is deposited into with Harvest Units which is in turn used to fuel the Upgrades that allow for more Units and greater options to use. When an Upgrade is ready, the base needs to be Immobile, have enough Energy collected, and a temporary amount of Spirits needs to be supplied to help facilitate the process. After an amount of time the Upgrade is completed, the Energy is used up and the Spirits are returned to the pool to await further orders. Main Base is also the default return point for lost Spirits when a Unit is defeated. It is the means by which new Units are spawned into the game as well.

Each Tier of the Main Base reached through Upgrades also changes the Main Base itself. It starts initially as a relatively light weight in order to allow potential clever positioning but with each upgrade the weight increases until at max rank, it reaches the heighest weight class and a decision to move it at that point is probably not wise.

Attack Units
Imp (T1)
Imp

Witch (T2)
Witch1

Attack Units come in two types. Type 1 (T1) is a suicide Unit that once fed and rammed into an Enemy Unit, deals damage and dissapears. They are relatively light, cheap, but not overly powerful. Type 2 (T2) Attack Units are Ranged ones that when fed can fire a shot and do decent damage but are able to be ‘reloaded’ by giving them more Food. I’m currently toying with a concept of being able to link them to a Marker to ‘aim’ them in a direction but its not quite coming together.

This Unit’s main function is to be a means of taking out Enemy Units and ultimately the Enemy Base but I’m falling a bit short on figuring out a way of making them more interesting than essentially a chess pawn while not allowing them to overwhelm the other Units.

Defense Units
Bull Stock (T2)
Mino2

Defense Units come in two types as well. Type 1 (T1) is a mobile wall that once fed increases the weight significantly and if set as Immobile will block off that square on the Grid from future pathfinding until it is taken out or moved elsewhere. I say future pathfinding because if an Enemy Unit is already moving along a path that goes through the square occupied by the Defense Unit, they will continue to do so until they are given new orders before then or they will collide. Upon collision, if they are not an Attack T1 Unit which would simply bomb the Defense Unit and die, their path is interrupted and they return to the previous square to await further orders. Type 2 (T2) Units have the ability that once Fed are able to either share or mitigate damage around them to a limited extent.

The goal here was to have Defense be more than ‘a unit able to take a lot of hits’ because in most cases the answer to such a thing is to go around them which negates the point. From the beginning I wanted a Unit that was able to block of a traversible route as I felt that opened up a neat opportunity for strategic placement and usage. It has had the consequence of forcing the entire game to revolve around this single ability but I think its working out. The T2 option was a means of attempting to provide the functionality of ‘big HP unit’ in a more useful way.

Support Units

This section is one that is still being workshopped. The idea here was for Units/Buildings that could help in management of things or provide a unique function that would help push towards a win condition. Couple examples being a drop off point for Resources, a gathering point for Spirits to return to other than Main Base, a forward position Units could spawn from, a place to generate Food from, a compass effect that points to the Enemy Base, and weird things like that. Essentially something more than generic stat increases that introduced interesting possibilities that allowed for deeper play into Faction Identity.

Other Thoughts and Promising Concepts

One aspect I’d really like to incorporate is the ability to pick up and move Enemy Units, to a limited extent at least. Spirits are already lifting everything so them being able to lift an Enemy Unit isn’t so far fetched. The problem arises in trying to balance around preventing abuse of griefing tactics and having to come up with mechanics for weird interactions because of that like picking up a T1 Attack Unit and moving into your own T1 Defense Unit.

I’ve also not given up on the concept of using Spirits to unlock map shortcuts or hidden resource areas but that is being put on the side for now until a more stable build is developed. Another odd concept was having double sized units that take up a 2x2 grid space that could potentially be an Ultimate Unit but this will introduce a LOT of work to even figure out how to incorporate it into the current system. Not even taking into account any balance issues. Its a cool concept though.

One of my concerns I had when figuring out designs is a turtle vs turtle match that stagnates/stalemates the game and a potential way around that was to introduce an “Ultimate Form” victory condition which is basically like a science victory from the Civ games. Essentially if a player is able to max out their Upgrade tree they unlock an Ultimate Unit, most likely gonna simply be the Main Base Unit transforming into the Faction Leader or going into a MEGA size or something appropriately ‘extra’, that initiates a Countdown Timer until that Faction wins if it isn’t taken out in time.

I also had ideas for the Ultimate Unit being useable for combat or having a Faction appropriate Ultimate Ability that did something cool like mapwide damage, every unit becomes a wall, or all your units get an extra tier, but miscelaneous game tweaks made those ideas not quite fit right. I’d like to still incorporate them somehow but I need to get a base framework up before I really delve into it.

And there was a secondary goals that crept up while I’ve been working on all this to allow room for more Factions and Units that others think would be cool that would be able to be added or modded into the game via a basic framework to work off of. The whole Attack/Defense and Tier system have been worked with this in mind. There is potential here for more than just my little corner of the internet who could be slotted in with some sort of unique spin for a Faction or two such as a Faction based around the WG mascots or one based around the Seeds of Destiny folk for instance.

Like I said at the start, I’ve been thinking of this on and off for months trying to make things interesting, balanced, and possible to implement. In my efforts to do this the game has had multiple identity crisises but eventually solidified into what it is now. I’ve tried to learn multiple game engines along the way and through much trial and error I’ve settled on Godot 4 as my engine of choice. Over the last month I wanted to prove I was more than just an ‘Idea Guy’ and I’ve managed to get a proof of concept of the current design up and running but I had to reinvent the wheel like three times over to get the basic movement functional because of the peculiar nature of what I have been trying to do.

If anyone is interested in my misadventures with coding:

I originally was hoping to just use Godot’s premade tilemap system coupled with aStar functionality but my needs of giving accurate pathfinding BETWEEN tiles opened a huge can of worms. I tried originally to make due by repurposing somebody’s premade tile setup for turn base movement but it just wouldn’t work. I then tried breaking up the tiles into quadrants through code to determine current direction, plotted direction, distance from the center, and other things and it almost worked except the pathfinding was still based on the origin point of the center tile so pathfinding would in certain situations take the LEAST efficient route to get to a place by not taking into account the interim distance traveled already by doubling back to move forward and that just wasn’t gonna fly. I ended up delving into graph theory in order to create an array of points using the tilemap as a baseline (which ultimately relegated the tilemap to a purely visual background and a means of determining wall collisions) in order to be able to add a temporary midway point between tiles for a Unit to determine pathfinding from THERE and that worked and is everything I have to show so far.

I currently have a basic framework for Unit movement that functions as it should (other than currently being hard coded to the specific test Units on the map but that can be swapped out eventually) but the second part of being able to assign Units to a Marker, and the reverse order functionality, is starting to give me the same amount of grief. If anyone wants to look at my project files I’m all for that but the only way I can figure out how to share em is to maybe .zip the whole project folder and hope that works? I feel like there should be a Project>Export Project Files option I’m missing somewhere though so if you could let me know I’ll do it.

Otherwise, here is a link to what I’ve got. Move with WASD. Left Click, Right Click, and Spacebar move the Blue, Red, or Green Units respectfully to your current position. It really doesn’t look like much but whats there is personally a massive accomplishment.

All this made me realize that I really need help to pull this off in any meaningful timeframe. I’m still going to be working on it but it takes me too long to accomplish the simplest of tasks without having to go down a never ending rabbit hole of partial or conflicting solutions from Youtube roulette after every other error in the code. I’ve also amassed a growing stack of papers covered in mad scribbles of code and theoretical workarounds and balance concepts and potential issues that might arise because everything is intertwined and its reached a point that its hard for me to keep it all in my head without a functional prototype to test the concepts on. Seeing people crank out a working prototype of things in less than an hour for things that are taking me weeks to figure out is taking its toll.

I KNOW this has the foundations for the framework of a good game that has the potential to grow with community ideas and concepts but as I am now I fall too short of what the game needs to get there so I’m hoping to reach out and ask the community for help in this regard. Ideally I’d like it if somebody could mentor me through some of these things but I’ll take any help offered from anyone interested. I’m open to any criticism, or game idea, or mechanic rework you guys might have too. If something isn’t gonna work or would work better somehow, I’d rather know now than a month later when I’ll have to scrap a months worth of whatever I’ve just built that depends on it.

Current Implementation V0.0.3

I might have come up with a method that works.

First, the commander and pikmin are able to be killed as opposed to the immune system I’ve been using. Prevents the exploitation of things that way and the original system is causing more problems than it solves at this point. Second, The amount you can have with you at a time, the ‘squad size’, is now limited and not a ‘just carry everything at once’ sort of option. It is not linked to maximum population. Third, abandon the concept of all Units need to be carried. It limits too many options if using a traditional RTS approach. Fourth, introduction of a ‘classification/size’ rank for Units that take up differing amounts of ‘squad points (SP)’ (numbers are placeholder to get an idea for now). Fifth, at least some of the Units, maybe even all of em, are able to go up in rank through food but not down or something like that. Don’t have a good grasp on this implementation just yet but its a start. Sixth, abandon the SFRPG sprites only thing. Things are now so far beyond what the original use was that making things up from here on is the only way to make progress.

This is the basic framework I came up with.

  • ‘Spirit’ is entirely just pikmin and they take up 1SP each. Spirit Units can be assigned to harvest, carry the larger Units, be thrown as simple attacks (maybe at the cost of HP?), and can be summed up as a ‘technically able to do most things but sucks at anything not utility oriented’ role.
  • ‘Small’ is a step up at 3SP and is a basic grunt unit. They fill the role of fodder assault dude. They are also able to carry larger units at the same rate as ‘Spirits’ but the higher 3SP cost is an innefficiency.
  • ‘Large’ is a jump to somewhere around 5-8SP and is the dedicated assault unit. They are a heavy hitter that is only used for combat and unable to help in support other than maybe some defensive option? Certain kinds might benefit from being carried but don’t require it, perhaps movement boost or stronger attack or something.
  • ‘Huge’ is a Unit that cannot be assigned to the squad and must be carried. They fulfill the roll of heavy seige support and are the ‘X-factor’ in a fight.
    To use Starcraft Zerg as an approximate analogy, Spirit is the worker Drone, Small is a Zergling, Large is a Hydralisk, and Huge is an Ultralisk.

This feels like a workable setup but more complex than I planned on using. I’ll need a hand filling it out with what these Units will actually BE and DO though. If any of you have an idea for a unique Faction setup, or Unit type, or novel interaction with things, or anything, I’m all ears. In the meantime I’ll see about getting another proof of concept version up and running. Hopefully since its a more standard style than the other version, it won’t take as long.