Не найден костыль для: #\[img:368f5b6s\](.*?)\[/img:368f5b6s\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:354gzp95\](.*?)\[/img:354gzp95\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:2utemi7w\](.*?)\[/img:2utemi7w\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:27aik4ae\](.*?)\[/img:27aik4ae\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:1xgee6a0\](.*?)\[/img:1xgee6a0\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:u1jrvi03\](.*?)\[/img:u1jrvi03\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:1yrrqyp0\](.*?)\[/img:1yrrqyp0\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:2zf8hymg\](.*?)\[/img:2zf8hymg\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:3b4uiblm\](.*?)\[/img:3b4uiblm\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:100nap7q\](.*?)\[/img:100nap7q\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:1cswtptg\](.*?)\[/img:1cswtptg\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:273lw5h0\](.*?)\[/img:273lw5h0\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:2q8ltisk\](.*?)\[/img:2q8ltisk\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:26oylxfb\](.*?)\[/img:26oylxfb\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:3ln0vg8q\](.*?)\[/img:3ln0vg8q\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:338uvww7\](.*?)\[/img:338uvww7\]#s | <img src="$1" alt="Image" /> в bbcodes.php
Не найден костыль для: #\[img:1t96n19p\](.*?)\[/img:1t96n19p\]#s | <img src="$1" alt="Image" /> в bbcodes.php ChebMaster.com board • View topic - Design document

Design document

Cheb's Game Engine development

Design document

Unread postby chebmaster » 29 Apr 2023, 00:46

The culture of first person shooters had evolved as an emergent phenomenon that is also quite wrong with its insidious normalizing of killing -- but on the other hand, these games are undoubtedly fun. So what could I do? Offer something more fun and light-hearted to play, in the same format, of course :D


The core gameplay: A team-oriented class-based first person shooter, its main gimmick shaping the battlefield realized through rapid construction and demolition in a block-based map, supported by area buffs and area denial turrets. Ideally allows erecting a tower of Babel complete with camper balconies, then demolishing it, all in a single 18-minute game.

To simplify the gameplay, a block grid is used -- but otherwise the similarity to innumerable “minecraft shooter” games is minimal.

Gale-speed construction:

1. You can drag a line of blocks by holding LMB down. Any length, even across the entire map, but you walk at 50% speed while drawing it, and it only materializes on release.

2. The main mode of building is via prefabs. Platforms 8x8x1, crenelated walls, stairs, bridge sections etc. varying with class and loadout.

3. The blocks placed by players have 200% durability compared to normal map blocks.

4. There is a class dedicated to fortification, with massive block pool and prefab selection.

Gale-speed destruction:

1. Many classes have powerful AOE attacks that do damage to blocks in a radius

2. Several weapons and spells have “50% damage to players, 200% damage to blocks”.

3. Any fragment of the map completely separated from the ground vanishes into nothingness. Making undermining a very effective demolition strategy.

4. There is a class dedicated to inflicting cataclysmic AOE damage on blocks.

TL;DR Ace of Spades (the Jagex version) meets Team Fortress 2
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:31


Family-friendly version: in “Title Pending #1” players are humanoid knit mittens who tear on damage and unravel on frag. The world is abstract, the announcer's voice is neutral and friendly.

Not cross-compatible with the adult version for obvious reasons. The incompatibility is woven deeply into animation conjoined with physics and not circumvent-able, because any mismatch in multiplayer causes “Out of sync”.

Adult version: in “Title Pending #2” players are fairy girls who suffer clothing damage on receiving HP damage, pop into sparkly particles on frag . The world is a cake and the announcer's voice is some gluttonous entity who audibly om-nom-noms at large numbers of blocks excavated or undermined.

Normal damage: inflicted on the clothing (also serving as visible health meter). At zero, critical wardrobe malfunction with 100% reliable censor steam and semi-controllable ragdoll. Half a second later you pop.

Normal damage inflicted on characters with zero HP (after the critical wardrobe malfunction but before they pop) is considered kinetic damage.

Kinetic damage: incurs no clothing damage, is instead inflicting status effects (see below) or insta-frag, depending on severity.

1..66 staggers, 66..[your max HP] tumbles, [your max HP] + 1 and above insta-frags.

Speed: maximum velocity sustained under own power. Normal is jogging 100% is 3m/s, there are bindings for walking (50%) and sprinting (200%).

Agility: basically, acceleration under own power in % of nominal. Any buffs to this let you change direction more quickly, any debuffs hamper your dodging and slowing down from a sprint.

Sprinting: running forward at, by default, 200% speed. Sprinting is only possible forward (+/-26 degrees with strafing) and brings hefty debuffs associated with the “speeding” status effect (see below).

This is important strategic aspect of gameplay: you can sprint at your opponent (say, with a melee weapon) but you cannot sprint backwards leaving you with a choice of either meting them head-on or turning your back on them. Game of chicken much?

Falling damage: is kinetic damage.

Damage threshold is normally 6 m/s (running at 200% speed) for dropping carelessly and colliding with walls.

Damage threshold is doubled to 12 m/s (falling height ~7m) if ((your horizontal velocity is below 100% (3m/s) AND you press the jump/climb button) OR (you are in power melee attack)) while in the air.

Damage threshold is halved to 3m/s while tumbling(ragdolling), with your head receiving triple damage.

Above the threshold, you suffer 100 damage per additional 6m/s, with your classses' max HP used. So an average class with health of 100 insta-frags at 12 m/s carelessly (a ~7m fall) or 18m/s on sticking her landing (a ~18m fall).

The Mender suffers no falling damage because she always falls slower than 6m/s.

So if you decide to descend a cliff by jumping from ledge to ledge, you can misjudge your jump, get staggered on landing, tip over the edge, ragdoll downhill and frag yourself landing on your head.

Headshots: can only be inflicted by arrows. Insta-frag unless the target is completely invulnerable.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:33

STATUS EFFECTS (and acrobatics)

Speeding: Your velocity is above 100%(3 m/s). You suffer increasing debuffs (-66% agility and 30-degree cone aim sway at velocty of 200% (6m/s)).

Inflicted by: normal sprinting and by jogging downhill that results in overspeed.

Staggered: Your movement suffers random fluctuations, -85% agility, aim sway 90-degree cone.

Inflicted by: dropping more than one meter (1.7blocks) while running at over 150% (4.5m/s) and forgetting to jump beforehand, severe kinetic impacts, falling damage, explosions, kicks, trying to sprint across 2-block steps at 20%+ over your jogging speed.

Tumbling: you ragdoll to the ground (mixed with animation of you guarding your head), only able to get up when you land and your velocity drops below 33% (1m/s). Your aim is completely at the mercy of the physics and your agility is zero.

Inflicted by: running at 50%+ over your sprinting speed (which is 7.5m/s for most classes), dropping more than one meter (1.7blocks) while staggered or supine, taking falling damage of 66+, being kicked while staggered or climbing, colliding with something while kipping up from supine position.

So, to summarize: if you get kicked from a cliff, or kicked in mid-air, your “staggered” becomes “tumbling” and you ragdoll all the way down, most likely suffering fatal falling damage. The one who has kicked you is awarded with a frag.

Crouching: when you squat down on enter a space only 2 blocks tall. You suffer a -50% speed debuff (can sprint, at up to 100%, with all debuffs included).

Prone: when you squeeze yourself into a crevice one block tall, -80% speed, cannot sprint, weapon switching is slowed (-50%), also attacking makes you stop. Your aiming is restricted to below 30 degrees above the horizon and you cannot look up (your camera is restricted as if you were ragdolling). Instead of strafing, you roll over becoming supine while shifting one block in that direction if there is space. You turn around slowly by looking to the side and moving back and forward.

Supine: you flipped onto your back while prone or just recovered from ragdolling while on your back. Like with being prone, you cannot move and attack at the same time, but you suffer no penalty to weapon switching speed. Your speed is -90%. Your aim is restricted to above 30 degrees below the horizon. Instead of strafing you roll over becoming prone while shifting one block in that direction if there is space.

You can kip up from this position by pressing jump (need free space, implemented using controllable ragdolling).

Uses: attacking upwards from the opening of a 1-block high tunnel. Retaliating the one who kicked you down: rolling is much faster than getting up. Also, the kip-up works as a kick, at the cost of sending yourself tumbling.

Climbing: you use both hands to pull yourself up or sideways by holding at edges. Cannot attack, -80% speed. Can pull yourself up vertical fragments up to 4 blocks tall, at the cost of being helpless for a moment.

To summarize: a great way around your inability to traverse obstacles over 2 blocks tall. “Ha, I flanked you by clim--” *kick to the face*
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:34


Obligatory registration: vaguely planned, the game must be paired with a primitive LAMP web-server that implements primitive e-mail confirmation (with gmail blacklisted) where account is only playable as a spectator the first 20 minutes and any unused account (not logged in as an active player) expires in 60 minutes blocking that e-mail for the next 23 hours.

The AI called appropriately “MeanMoronMod” monitors player activity and bans accounts for 23 hours based on heuristics and player voting (develop based on hoary real-world use cases). The AI isn't shy of calling vote kicks on its own if it grows suspicious enough.

Ghost lobby: The players wait out their time-out in a lobby equipped with several portals, their exit points floating randomly inside the spawn zone. Any portal could be used for looking around, 360 degrees, checking for spawn campers before going through it. The freshly spawned player receives 8 seconds of invulnerability.

Griefing the opposing team by design: Despite the measure mentioned above, reducing the opposing team's spawn zone to a deep crater is a valid winning strategy. 8 seconds is a very short time when you have to climb out, hampered and hunted by spawn-campers. So any team must defend their spawn or suffer ignoble defeat.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:34


Random map generation:

All maps are randomly generated, with all seeds logged, obligatory “your opinion on this map” votes and ability to vote a seed you paste in for the next map.

Bots as a stimulus (pointy stick) to force players use all game's features:

Having bots is vital, because waiting for enough players in a new online game is a major roadblock to entry.

Bots must be able to use all strategies, even if in a stilted and mechanistic way. I observed so many players playing AoS like a common static map shooter, squandering so much potential. Bots can beat that out of the players if they win using a sloppily executed winning strategy.

Maps generated backwards

The generator begins with AI objectives, waypoints graph, sky bridges to build and bypass tunnels to dig. A height map adorned with prefab buildings and excavated caves is then fitted around that graph, with several redundant routes (3 or 4 in total). Bots then follow that plan blindly, without actually taking human players' actions into account. Any route's failure is marked with pheromone tracks, possibly causing the bot AI to cycle to the next route.

One AI to rule them all

The bots themselves are dumb bunches of reflexes that only can wander around randomly or fight using simplest strategies. To give them any meaning, one AI controls them all (both sides), thinking for each bot in turn. The law of conservation of ninjutsu in full effect, the less bots there are, the better each one thinks.

To save on resources, the AI runs in the basic layer of reality, out of lag compensation's scope, so its commands come with a delay dependent on server's max lag compensation setting (500ms default).

The commands can be:

1. Build a ramp over an obstacle: every player can do that using the block drag mode, but do they use it? Nooo. Some of the pre-planned AI routes are such ramps, including multi-tier ones where you use one to reach higher to build longer ramp. Yes, dear humans, you can do that.

Also, building ramps over any player-built obstacles that clog the waypoint graph, or to get out of pits.

2. Repair and maintain: the opponents can quickly turn your spawn zone and player-build structures into deep craters. A bot could be commanded to wander in a radius replacing missing blocks while not fighting.

3. Camp from point A towards point B. Designated based on pheromone tracks left by both bots and players. Any frag leaves a linked pair of points of interest. Accumulate a few of these and AI designates “a good camping spot!” area.

The AI doesn't actually understand “dueling” or “pursuing”, it only operates with “camping”. Any further actions result from bots acting on reflexes.

4. Dig a bypass tunnel along a pre-designated route. Only classes with high digging ability receives this order.

5. Destroy: designates a zone. Possible targets are the opponents' spawn zone, the opponents' fortifications that pose obstacles to the navigation graph or are bear many “fragged from this point” marks, or block access to healing items. Only the Wrecker and Hellion can receive this order and this is the only circumstance where bots can use the Nuke Totem, Breacher and Siegebreaker (they are too stupid, would make the map into un-traversable Swiss cheese otherwise).

6. Build sky bridge for camping along a pre-designated route: a valid strategy as the bridge gives some cover while AOE attacks raining from above are painfully effective. The bot shall build the bridge very slowly, with triple redundancy - unlike human players who tend to whip out shoddy, easily breakable strings of platforms.

7. Ambush: a very primitive behavior. Finding a spot opponents travel often but in only one direction, the AI could order a Wrecker, a Kunoichi or a Gardener to ambush them there. The Wrecker would dig a small pit and sit in there with a Sparkburst charged for a point-blank jump-scare. The kunoichi would stay disguised or invisible and go for abackstab. The Gardener would plant a flower such way that the opponent should enter its field of vision with her back towards it.

And so, any players acting dumb would be beaten by dumb bots mercilessly and either rage-quit or start thinking “wait, you can do that?”
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:35


Map size: 512x512x128 blocks (roughly 300x300x70 meters), takes approximately 100s to jog across, which is just above the time to fully replenich mana (90s).

All maps are islands or archipelagoes in an undiggable toxic sea of green sludge that slows ( -66% speed) and inflicts damage over time. Digging a hole down to the bottom lands you in this damaging sludge.

Block size: 60 centimeters. Player is considered 1 block wide and 3 blocks tall, fits into 2 blocks while crouching and 1 block while crawling on all fours. Yes, player can fit into one block. There is a reason all our weapons are small, most of them one-handed.

You can freely walk and sprint across 1-block steps, with a caveat of losing velocity uphill and gaining velocity downhill. You can “walk” onto 2-block steps, which triggers auto-jumping and halves your velocity, or jump onto them while sprinting -- but not simply sprint across them (you'd bounce off and stagger).

Only 3 types: Maps are textured in bizarre colors (I think making them resemble giant cakes, with layered geologic patterns of biscuit and chocolate, decorated with props of football-sized strawberries and such) but there are only really 3 types of blocks: map blocks (100% durability), player-placed blocks(200%) and stalks grown by plant monsters(50%).

Any more would just distract and confuse.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:35


1. Capture the flag

2. Team deathmatch (winning team decided by sum of frags, negatives from self-fragging are ignored facilitating kamikaze tactics)

3. King of the hill, with several “hills” appearing randomly after each another.

4. Mutual demolition: reduce opposing spawn to a crater, winning by blocks remaining.

5. Attack/defense: one team is defending their spawn, another is dragging randomly respawning bombs that reduce your speed to 30% and explode if left unattended for 40 seconds.

6. Zombie survival: Every human player joins the team of survivors. The AI governs a team of monsters who lack ranged attacks but are fast, durable, hit hard, dig messily, and instead of building they grow a stalk of fragile blocks under themselves in any direction. Initially the monsters have 8 bots, deliberately slow and stupid, but any survivor fragged by any means joins the monster team becoming a “fast zombie”. Initially they replace up to 8 bots, who get kicked, but that team's danger grows with human intellect .

7. Tower defense: human players defending their spawn from waves of AI-controlled plant monsters crawling out of the toxic sea, this time accompanied by tanky bosses with all sorts of ranged attacks. The losing condition is all players indisposed, could happen by freak accident or by the team's spawn being overwhelmed.

8. Team dwarf fortress: (requires liquids, liquid propagation and swimming support in the engine) the map is a sealed shell submerged in damaging liquid. There is a network of cavities inside the shell. Eeach team is given a dungeon heart they spawn from. The goal is fragging all opposing team players while preventing them from spawning again - by either destroying their dungeon heart (10000 HP) or submerging it in liquid. Digging upwards has a good chance of resulting in Total Party Kill for both teams.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:38


Item spawns: there are several spots on each map where mana blooms (full mana), mending yarns (full HP) or block recharges (full blocks) fall from the sky. After picking it up, a new one falls after a cooldown of 30s.

This allows for many devious resource denial strategies, beyond camping those “watering holes”: you can drill a 3-blocks deep hole, let an unpicked healing item drop down then plug the hole. Let the opponents wonder if they really saw a healing spawn here. Or you can erect something tall (a sky bridge works but is too easily shattered) the healing items land on. You can then camp from above, fully supplied, laughing at your opponents.

Totems and plants: There are totems and plants that apply AOE buffs accelerating mana regen or drop healing items. See below.

The Mender: a healer class specializing on restoring HP. See below.

Overheal: any amount over player's max HP ticks down at 1 HP/s, displayed as life fiber particles floating around her. 30% is given at spawn, 10% per Mender's healing, +15% per mender healing boost or fiber totem.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:38


Mana-based: All weapons are spells using a shared mana pool, which slowly replenishes in 90s. You don't have separate ammo, you have to choose carefully which tool to use. All costs are derived from doing 500 damage on a full mana meter with perfect hits. (1 MP for 5 max dmg). I only provide costs for exceptional cases.

Both of these should be server variables controllables by whoever sets up the server, to balance between strategy and run-and-gun fun. Say, 30 to 120s for full mana regen and 300 to 1500 total damage on full MP for calculating MP costs.

Slots: Each class has 3 weapon slots (primary, secondary and melee) and 2 prefab slots plus the ability to place single blocks/draw lines. Some classes can exchange a prefab slot for a special attack, some can exchange weapon slots for more prefabs.

Basic spark: A standardized, team-colored component of many spells. Fixed brightness, Dmg 10 + Random(-2,2). By default, it fizzles after 400 meters (but can be much shorter with specific spell). Fizzling is a distinct, loud sound -- so you always know if your short-ranged sparks are hitting something or not.
10 damage to blocks per spark makes so spark-based spells bad at demolition, which makes them good for defending your own base.

Meelee weapons: balanced to frag average player in ~1.5s (DPS 70) where specific weapon's damage is reversely proportional to hit rate. All numbers are subject to change, thus I provide damage to players in %. Damage to blocks, on the other hand, I provide per hit as that is important distinction between breaking player-placed block (200), a map block (100) or requiring several hits to break a single map block.

Damage to blocks “200” means this weapon destroys any block, even a player-placed one, in one hit. “100” means it destroys a map block in one hit but takes two hit to destroy a player-placed block.

Color coded for your convenience: all projectiles, except specific ones from Kunoichi, are team-colored.

Totems: generate constant AOE buff in a specified radius, lock away a part of your mana until destroyed (by breaking the block they are placed on top). They do not disappear when the one who placed them is fragged. All your mana is locked in useles totems on the other side of the map and you have nothing left to fend off spawn-campers...? Congratulations.

Steerable projectiles: fly at where you are pointing, either infinity or the point your aiming vector is intersecting something. Can fire them up then make them descend from the sky to target. Can make them fly past a cover then turn around and slam into it from behind. Halve your agility (-50%) while steering: you are gesticulating with both your hands.

Plants: all have a footprint of 3[3 and a root system 3x3x2. The blocks filled with roots are indestructible while the plant lives but it takes damage in their stead. If planted in a partially empty space, the plant would grow with a fraction of its max hit points. Plants begin regenerating health after 8s not in combat, fully recovering in 90s.

Plants could be wild (neutral color, hazards hostile to anyone) or team-colored, planted by the Gardener. Plants, like totems, lock away a part of your mana.

Sparkburst: a shotgun eaquivalent. Fires 15 sparks in a 30-degree cone, fizzing out after 5..6 meters (this variation is mostly for a better sound effect).
Dmg up to 150, charging time 1s, Dps up to 150, fires on reease so it can be pre-charged. Alt while charged to discharge, recovering mana. No penalties.

Alt: precharge/cancel charge and recover mana.

Sparkswarm a nailgun equivalent. Fires a focused ranged shot of 20 sparks in a tight formation, but at a slightly randomized speed, so that they begin as a tight bunch but gradually drift apart into a haphazard stream.

Range unlimited (400m), spread is 3m at 60m, dmg up to 200, charging time 0.5s, cooldown 1.5s. Dps up to 100.

Alt: none.

Sparkstream: a plasma equivalent. After its 0.5s charging delay, fires constantly at 20 sparks per second. 100 shots (5 seconds firing time), range 30m, dps 200. Penalties: agility -50%, speed -33%, cannot be pre-charged.

Alt: fire a single steerable spark with unlimited range. You only get *one* spark at a time, with laughable dmg of 10. Useful for long-range harrassment. Standard steerable penalty of agility 50%.

Boomball: a rocket launcher equivalent. Charging time 0.5s, cooldown 0.5s, cannot be pre-charged, release LMB to cancel charging before firing. Dmg 100 with a splash radius of 1.5 meters, fading towards the edges. 50 damage to blocks. Dps 100. No penalties.

Alt: a steerable version. All the same but has a standard steerable penalty of agility 50%.

Note: it frags any non-tanky class in one direct hit.

Siegebreaker anti-building explosive missile. Charging time 1.5s, cannot be precharged, cannot be canceled. Dmg 50 to players, 35 to self, 200 to blocks. Range 75 m, fizzes out in a beautiful, distinctive firework. Cost 25. Dps 16, anti-player mana efficiency 40%. Penalties: a loud distinct sound. 4 shots.

Alt: fire it backwards and down at 45 degree angle for rocket-jumping (use in combination with power melee attack or go splat on landing)

Venom: flies in a ballistic arch, range 15m horizontally. A direct hit applies DOT of 3/s for 15 seconds (total 45). Doesn't stack, further hits only reset the countdown to 15. If hits blocks, marks them caustic for 30+Random(-10..10)s in a fuzzy diameter of 2m (4 blocks). These blocks then apply the same DOT of 3/s to any unfriendly touching them and 10/s to the blocks themselves. If such a block is destroyed, the remaining caustic time drips down. Charging time 0.3s. Cost is calculated from dmg=45, 9MP / 11 shots.

Skull Storm: (inspiration) a slowly charging swarm of explosive skulls, one per 0.8s. One skull does 50 damage with a splash radius of 1.5m. Only 15 damage to blocks. Fire in a conical burst of 20 degrees, skulls then converge to spiral in a cylinder 2.5 meters across.

Penalties: deafening sound, the skulls screech and cackle. Cannot be canceled. Fires on its own when you run out of MP or accumulate 6 skulls.

Attack flowers: default plant traits, requires 3x3x4 empty space to bloom. Basically, a 1m ball on a 1m stalk (petals are wide but purely cosmetic) that aggroes at any visible opponent in a radius but aggroes at a 30-degree cone when hit, proceeding to shoot at any opponent inside that cone regardless of distance. So harrassing them from afar is a bad idea.

All their projectiles are always steerable, always fired straight up if there is enough space above to curve and come at you from above.

Boom flower: fires steerable Boomballs at a rate of 1/0.66s. Dps 150, 66 MP, locks 52.

Spark flower: fires steerable sparks at 10/s. Dps 100, 33 MP, locks 26. If presented with multiple targets, it can do a good imitation of Isaac's Greater Missile Storm.

Thorny bush: a 3x3x3 obstacle, with 50% deploying speed, cost 20 and locking 0, meaning you can plant and plant and plant until other players votekick you. Because this thing is always neutral color, damages friend or foe indicriminately. You cannot climb over it, you go through it at 33% speed suffering damage propotional to distance traveled through it by your velocity squared and are subject to repulsive force also proportional to your velocity squared. Sprinting into one is a very bad idea but you can tiptoe in and use it as an ambush spot by sacrificing some of your HP. The bush with more than 20% of its max HP is rendered using a shader that makes it fully opaque from outside but partly see-through from inside.

Trees: Springy 3x3x3 see-through crown on an impassable 1x1x3trunk. Default plant traits.

Wonder tree: a sparkly tree that, in a radius of 6m (10 blocks), triples al allies' mana regen (up to full/30s) and triples all allied plants regen (up to full recovery in 30s). Doesn't stack. Cost 33, locks 20.

Fiber tree: grows mending yarns, one in 30 seconds, holds up to 3 unplucked. In company of a wonder tree speeds up to one in 10s.

Pickaxe: a precision digging tool. Digs exactly one block, damage to blocks 200. Slow swings, very short range. Dps to players 110%. Invaluable for correcting/repairing.

Tea spoon: a standard digging tool (no one would likely ever use). Damage to map blocks 100, only 45 to blocks with durability over 100 (thus, you need four taps to destroy a fully intact player block). Fast swings, medium range (it animates like a very short spear or a stabbing sword). Dps 100%. Digs map blocks twice faster than the pickaxe but breaks player-placed blocks twice slower than the pickaxe.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:42


Role: Straight tank/damage dealer, 150 HP. Includes low-skill w+m1 loadouts.

Inspiration: AoS Commando, TF2 Demoman, TF2 Pyro.

Prefabs: only vertical walls 2 or 3 blocks thick, including crenelated walls, and stairs. Can build bridges by turning the stairs sideways, but that's wasteful.


1. Sparkswarm: see above

2. Sparkstream: see above


1. Boomball (see above)

2. Siegebreaker (see above). The alt-fire rocket jump also auto- switches you to the melee axe for a power attack.

3. Skull Storm (see above)


1. Axe: 100 damage to blocks. Cuts 3 blocks vertically (+/- 1 around the one you tap) allowing quick excavation of full-height tunnels you can run in.

Alt: power attack.
-- on the ground: whirlwind spin in a horizontal disc of of 2m (4 blocks). Dmg 75 to players, 100 to blocks, remaining damage penetrates further. Charging time 0.4s. Penalties: -85% agility, a loud, distinct yell, you trip if your speed rises above 100 by any means.
- - while airborne: a powerful vertical cut in an arch of120 degrees by 5m (8 blocks). Dmg 100 to players, 200 to blocks, remaining damage penetrates further. Charging time 0.3s. Penalties: a short freeze frame after; aim limited to below 30 degrees above the horizon, in a 60-degree sector centered on your velocity vector. Locks stance: unable to do anything until you touch the ground releasing this attack. This is a bridge cutter move.

2. Pickaxe


1. Dominates at mid range

2. For the lack of a hitscan sniper can fulfill the role of punishing players milling around in the open (steerable boomball).

3. Support: could quickly make 1x3 tunnels you could sprint in

4. Siegebreaker against fortresses, not as OP as the Wrecker but still can quickly demolish a skybridge or two.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:43


Role: healer, 50 HP -- a high skill trickster who dies from a hard sneeze. Can work as a scout or harass people in the open across the whole map.

Unique ability: Has wings, can fly but needs a space 3 blocks wide for that and makes a loud distinctive sound. Speed 100%/160% sprinting on foot, 50%/ 300% sprinting (9m/s) while flying, with agility -80% at top speed and air-sprinting draining 6 mana per second. If flush with blocks, falls down, no faster than 140% (4.2 m/s).

Never takes falling damage but can take collision damage when flying at speeds above 200%.

Air sprint is full aerobatics, with plane-like controls (left and right roll, jump and crouch pitch). Can do a barrel roll. Can have aerial battles between menders.

Can recover from tumbling mid-air if there is enough space. Recovers into a forced aerobatics sprint in a random downwards direction which she cannot cancel without first pitching up to at least horizontal.

Cannot take of from the toxic sea: you fall in, you are done for, stuck like a fly on fly paper.

One fixed melee weapon, no variations possible.

Inspiration: partly TF2 Medic, partly custom amalgamation of various play styles.

Note on key differences:
1. after connecting, you do not need a line of sight, only an uninterrupted open space 12 meters long
2. you are forced to move after your healing target by this 12m long tether
3. you can switch to other weapons and attack while healing

Prefabs: block limit 33%, only two light prefabs: a5x5x1 platform and a 5x5x3 3d cross for quick barring of openings or building of flat ramps. Cannot use block line dragging, only single blocks and prefabs.


1. Mending: you attach a mending stream to a single ally. It takes one second to catch, need a line of sight and range below 12 meters. Once the stream is attached, line of sight is not necessary. The stream acts as a weightless rubber tether, can go across corners. Does not stretch longer than 12 meters, drags you instead like a balloon on a string. The other end exerts no force on the one you are healing. If you catch on blocks and cannot be dragged, or if someone places a prefab across the tether that it cannot compensate by pushing out of these blocks and stretching, the tether breaks.

Alt severs the mending stream.

You can switch to another weapon while mending and attack with your snips, for example, while you heal.

You heal up to 10% max HP/s on your target and yourself, at zero cost, up to your respective maximum HP. For 1 HP healed you receive 1 MP. The standard overheal is 10% of max HP. If you keep healing after that, you get nothing.

Visually, the stream looks like a layer of fiber particles floating around you, stretching away into a tether (see “binary star feeds mass” pictures). Physically, the tether is attached to your center of mass and is adorned with spherical colliders 2 blocks in diameter (like a string of beads) that push it away from surfaces and other players (and from friendly prefab-to-be-placed markers).


1. Spark. Unlimited range, fire rate 3 per second. Dmg 10+Random(-2,2), dps 30.

Alt: a single steerable spark with unlimited range. Dps zilch, only useful for long-range harassment. Standard steerable penalty of -50% agility.

2. Shield: turn yourself into a tank. A 120-degree frontal 1.5 meter diameter force field that reflects any non-siege projectiles back where they come from.

Penalties: only activates when you are flying (i.e. need a free space 3 blocks wide); charge up 2s; cooldown 5s; cannot air-sprint nor switch weapons while on charge or cooldown; while reflecting more than 100 dps, consumes 20 MP/s; caps your turning speed at 90 degrees/s (full turn around in 2s); collapses going into cooldown if you: stop flying (e.g. hit a wall), are hit with a melee attack, are bumped by an opponent, run out of mana, are staggered; deflecting projectiles pushes you back; deflecting off-center turns you around (you have to actively counteract by counter-turning); siege projectiles explode on contact converting their damage into kinetic energy (you get hurled backwards at dangerous speeds); only partially negates splash damage (depends on relative positions of blast center and shield's edge)

3. Healing boost: additional healing, both to you and the target of your mending stream, if any. For 8s or until both you and your target are fully overhealed or the mending stream breaks, heals additional 15% max HP/s at 10 MP/s (total on a Hellion: 180HP, 80MP) and gives you additional +15% overheal capability. 0 MP to activate, can be activated up to 3 times (you then heal 55% HP/s at 30 MP/s, with overheal 55% (232 HP on a Hellion), no longer than 3.3 seconds). After deactivating, goes into cooldown for 8s.

4. Airlift: you give your healing target full aerobatics. She receives full control in the air while you become little more that a towed balloon. Duration 16s, 90 MP.

5. Shared threads (a permanent passive effect, not selectable): you and your healing target share damage, according to your current HP. Note that healing is still fixed and proportional to max HP. The limit: either party cannot share more than 85% damage received.

If you hide and dodge well, this effectively gives your target +50 HP, not counting basic overheal


1. Snips: Dps 150% to players (one hit 75dmg, 0.5s), Dmg 10 to blocks. You receive one third of the damage done in both HP and MP.

This is the strongest melee weapon by design (need to buff if introducing anything equal), fit for the flimsiest class.

Alt: perform a very short dash forward at 250% speed, auto-striking on colliding with an opponent. 10 MP. While not formally a power attack (it doesn't alter damage), closing distance fast with the strongest melee weapon in hand is seriously OP.

Cannot have any other melee weapons: all her animations are made around casting through the weapon's eyes while holding it by its closed blades. The eyes are huge, she holds one in each hand while melee is selected.

Special: (take away one prefab slot, can choose up to two in any combination)

1. Teleport back to spawn: 40 MP, Cooldown 30s (not cleared by respawning). For scouting around, obviously.

2. Fiber totem: heals allies and allied plants in a radius of 6m (5 max HP/s, doesn't stack), increases allies' effective maximum HP by 15% in a radius of 12m (stacks). They start losing extra HP as per overheal rules as soon as they are out of the buff zone. 52 MP, locks 48. Stacks.

3. Wallhack totem: makes everyone in a radius of 12m (20 blocks) visible through blocks to your allies. They will know they are visible, also the opponents can see other opponents and realize they are visible. 66 MP, locks 48.

4. Crystal wings: +35% air speed, -35% healing rate, disables overheal (thus making Healing boost much less useful)


1. Classic healer paired with a tank.

2. For the lack of a hitscan sniper can be the bane of players standing in the open instead -- since she flies out of effective range of most weapons above broken terrain full of impassable obstacles. Would be grossly OP if not for the Hellion whose steerable boomball offs her in a single hit.

3. Can ninja around by arriving into unexpected places via flight and ambushing unsuspecting opponents with her snips - the strongest melee weapon, fitting for the flimsiest class.

4. Support: lock all her mana in totems then go either lazing around or daring ninjaing without ranged options nor air sprint.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:47


Role: Close range dominator and demolition expert, 100 HP.

Inspiration: AoS Miner, almost a carbon copy

Prefabs: Only huge, expensive bridges and huge, expensive horizontal pipes with wall thickness 3 (which make for great protected bridges if you start placing them from the end of your tunnel to cross a gorge, deep down and out of your opponents' sight).


1. Sparkburst: see above.


1. Breacher: makes a tunnel with a diameter of 4m (7 blocks) and length of 12m (20 blocks) from the point it hits anything (block, plant or player). Charging time 8s, flight range 15m after which it fizzes out. Penalties: makes you stand still (speed 0%), emits loud distinctive screeching, cannot be canceled, makes you susceptible to friendly fire. 33 MP (3 shots), damage along the axis 200 to players, 200 to blocks, fades to 50/100 near the edges. So it makes a smaller hole through structures of player-placed blocks.

2. Venom (see above):

3. Nuke totem: Blows up 8 seconds after being placed, destroys everything in a 6 meter radius (i.e. makes a hole 20 blocks across). Penalties: a deafening countdown sound. 40 MP (2 shots), doesn't lock mana. Inflicts 999 damage in the center, fades to zero towards the edges. Applies titanic physical force to invulnerable players sending them into stratosphere (a shielded Mender would survive if she doesn't hit nything on her way up and manages to recover from the resulting tumbling; any other class invulnerable on spawn would splat on landing)

4. Skull Storm (see above).


1. Ladle: a tool of rapid tunneling. Digs in a cube of 3x3x3 centered on the block touched, damage to blocks 200 in the center, 100 + Random(0, 100) to all others -- meaning it makes very messy holes in structures of player-placed blocks but neat tunnels through natural terrain. 50% dps to players, staggers on headshot.

2. Pickaxe (see above)


1. The bane of fortifications, the devastating force that leaves nothing but smoking ruin in her wake.

2. Support: quickly digs bypass tunnels for her teammates to pop right next to the opposing team's spawn. Tunnels possibly crossing gorges or caustic sea straits via sturdy bridges.

3. Jumpscare ambush predator: can quickly dig tunnels or foxholes to hide in, ambushing with a point-blank pre-charged sparkbusrst. Or lure opponents into such a tunnel, only to blow herself together with them with a Nuke totem.

4. Dig under opposing team's defenses to the depth of the explosion radius, place both nuke totems at once and respawn with satisfaction from thickly done trolling while surviving opponents rage on the bottom of a deep hole.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:49


Role: Support / builder. 100 HP. Since this class is the overpowered battlefield shaper, she is balanced by reducing her direct combat potential. Only has one slot for weapon, her secondary is always something turret-like or support-like.

Unique abilities:

1. Any plant weapon gains Alt fire, watering can. Heals friendly plants 40 HP/s for 10 MP/s

2. A special button to re-assign prefab slots at any time (opens the prefab selection menu). Meaning she always has any prefab available.

Inspiration: AoS Engineer, a bit of TF2 Engineer.

Prefabs: block limit 300%, all existing prefabs available.


1. Sparkswarm (see above)

2. Burr: throws a sticky spiky ball that bursts into flying thorns if damaged, the block(s) it sticks to is excavated or if enemy walks into its line of sight closer than three meters. Activates in 1.5s., 15 MP, expires (by spontaneously triggering) in 90s. Thorns fizzle out after about 5 meters, only do 1 damage to blocks. Cost and damage are calculated from total damage of thorns covering a 120-degree cone, nominally 50. If it hits a player before activating it sticks turning her into a walking bomb. A burr attached to a player, triggers unpredictably in 1 to 8 seconds or upon hitting something (dictated by physics, being touched by a map block or a colliderbone defferent than the one it is anchored to) Damage inflicted is completely dependent on physics: thorns are dispersed uniformly, some of them would hit player's hitshape (possibly doing much more than 50 damage).

Penalties: damages the Gardener who placed it unless triggered by a friendly other than her.

3. Boom flower (see above) – the ability to place this mighty turret (maximum one) robs the Gardener of her only offensive slot

4. Airblast: a very short range (5m) purely kinetic weapon that does no HP neither block damage and ignores aim sway penalties from being staggered or speeding. Slowly charges up up maximum power at 10MP in 4s, then able to lift and bodily throw the opponent sending her tumbling. Weaker blasts released sooner only stagger but are cheaper. A combo of this and a melee kick can be used to tumble. The blast projectile unravels into short-lived pushers at touching anything solid, be it a player or a wall while widening to 180cm (three blocks) at the end of its range

Interacts with all projectiles except sparks. Both the blast and that projectile deviate from their intended path, more so for the short-lived pushers. This doesn’t make it an OP defense because A) its charging time is many times longer than that of most weapons and high cost (remember: a typical Gardener would have most of her MP locked in plants) and B) it robs the Gardener of a ranged damaging weapon.

Alt cancels recovering the MP.

Penalties: requires space 2 to 3 blocks wide, worse than useless in tight passages (you’d just hit yourself); emits loud distinct noise while charging

This is a circumstantial tool for throwing opponents off skybridges.


1. Spark flower (see above) – her trademark overpowering area denial turret.

2. Thorny bush (see above)

3. Burdock: a flower that shoots burrs in a 6m radius. It grows them at a rate of 1 in 3s, shoots at 2/s, holds up to 12. If any hostile or the gardener herself moving through the volume occupied by the plant collects all the ready burrs they cross with their hitshape, thus getting covered in them. 18MP, locks 12.

Compared to the spark flower, this thing is painfully vulnerable at range but also twice as cheap and may be a better area denial tool in confined quarters – because burrs that miss enemies will stick to walls as per the Burr weapon, creating a hazard for 90 seconds until they self-terminate.


1. Pickaxe (see above)

2. Tea spoon (see above)

Special: (take away one prefab slot, can choose multiple in any combination)

1. Wonder tree (see above)

2. Levitation: allows flying at the speed of 50% and agility of 15%, no sprinting, drains mana while active. Double jump to activate, double crouch or touch the ground to deactivate.

3. Ersatz liner: a throwable marker that flies in an arch, horizontal distance 6m. When it hits a block you begin drawing a line from that point, as per normal alt of a single block. Block cost 500%, durability of the blocks you create this way is 100% (as a map block). Mostly intended for adding support columns to skybridges: you can drop the marker all the way down and draw a very tall support instantly.


1. Megabuilder. The class that spams skybridges for dominating from the sky, erects towers of Babel, castles and fortresses

2. Can grow a mean area denial garden

3. Support: create a resupply zone for her team
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 01:52


Role: Ganker, 75 HP (meaning, is fragged in one hit to powerful weapons like a bodyshot from her own bow on full charge or the Mender's scissors).

Jogging speed 120%, sprint only180%, both completely silent. Only emits footsteps when staggered or lands from a height of more than 3 blocks.

Inspiration: TF2 Spy, a bit of AoS Marksman

Prefabs: blocks limit 50%, a wide selection of flimsy bridges, platforms and watchtowers.

The Alt of her single block/line draw is mimicry: cycling between team building color, natural map texturing and enemy building color. Meaning she can build bridges textured as the surrounding map or disguise her building as other team's handiwork.


1. Bow: the only weapon capable of insta-frag headshots. Fires neutral gray arrows in a ballistic arch, horizontal distance is 30m when fully charged. Fires on release, optimal charging time 3s, with diminishing damage (40%) and random spread (30 degrees) penalty before that moment and increasing random spread penalty later (caps at 10 degrees at 12s). Body shot dmg 75 on optimal charge, the cost is calculated from dmg of 70 (14MP / 7 shots).

2. Invisibility: can turn invisible. Teammates see her with 66% transparency.

Penalties: Engages and disengages with a quiet but distinct sound. On taking damage or bumping into opponents flickers into visibility. On attacking breaks with a very loud, distinct sound. Venom reveals via visual effects and sounds. Moving or taking any action drains mana (24 seconds on full meter, acts for a minimum of 1 second).

3. Skull Storm (see above).


1. Shurikens: fire on release, neutral gray projectiles fly in a ballistic arch, horizontal distance is 10m when fully charged. Charging time 0.7s, with diminishing damage (60%) and random spread (15 degrees) penalty before full charge. Dmg 16 on full charge, the cost is calculated from it.

2. Venom (see above)

3. Explosive tags: stick to any block face. Detonate from a hostile being closer than 1.5 blocks, from taking damage (when not completely buried) and from destruction of any block sharing the face they are attached to. Only one tag per face, thus 5 per a solitary block or a 1-block pit. Damage 50. (120 to blocks, 200 to the up to two block s that share the face they are attached to) in a radius of 1.5m / 3 blocks. Visible through blocks to allies close than 6 m. Can be buried creating a perfectly invisible trap.

4. Mimicry: crouch, center yourself on a block and stop moving to become a map-aligned column of two blocks, textured as the one you are sitting on. Activates in 1.5s, breaks if you move, attack or un-crouch. Goes into cooldown of 12s any time you attack. No time limit. No penalties. For her allies, the hidden kunoichi is visible through these fake blocks as per Wallhack totem.


1. Mini-scissors: 40% dps / 5 to blocks but insta-frag on successful backstab.

Require precision aiming: a weak spot lights up *somewhere* on the target's remaining clothing when viewed from the rear 140 degree sector from closer than 2 meters. The weak spot appears on the torso, in the range from belt to choker. Must hit precisely or will count as a body shot.

2. Wakizashi: 100% dps / 5 to blocks. Slow arching swings, balanced to inflict 90 damage in one hit.

Penalties: a loud kiai every time she swings, stiff animation locking your aim into a sector and nearly zeroing your agility (-90%).

Alt: power attack. Can only activate when sprinting at 150%+ speed. You accelerate to 250% speed auto-striking your opponent with a powerful upward slash that inflicts 140 damage. 24MP.

Penalties: -100% agility, locks your aim. On a miss (including activating this too early) you stagger and keep moving forward at 250%, which easily results in you tumbling if you bump into anything, or simply running off a cliff (15% agility from being staggered overlaps with 33% from sprinting = 5% total, you change your velocity twenty times slower than normal). On a hit, you go into a freeeze-frame for 0.5s, unable to do anything but stand dramatically with your blade raised and look around. A very loud kiai.

Cannot activate while wearing iron sandals.

3. Pickaxe

4. Tea spoon

Special: (take away one prefab slot, can choose up to two in any combination)

1. Henge: ability do disguise as an opposing team member. Eiter a random one, or a specific one in her aiming vector (need line of sight). Aim at your teammate to henge into an opposing team kunoichi henged as that teammate.

Under the henge, walking speed slows down to the class she is cosplaying, with corresponding footsteps sound. Sprint stays limited to 180%, silent. When attacking, the animation is that of using ninja weapons (stabbing with a pickaxe, shooting arrows from an invisible bow, throwing shurikens). Breaks on taking 45 consecutive damage from the moment of applying or a hit on an opponent that did not result in a frag. In short, keep a perfect killstreak (or keep missing) to keep it up. For her allies, a henged kunoichi looks like she is wearing a wig, her costume gains patterns of her target and her mannerisms (animations) mach those of her disguise. Zero cost, cooldown 12s

Alt: disguise as opposing team kunoichi disguised as your team's kunoichi.

Penalties: when applying, yells “Nin! Nin!” at the top of her lungs. Breaking puts it on cooldown of 18s.

2. Iron sandals: raises sprinting speed to 250% and gives double-jump.

Penalties: loud footsteps, very loud footsteps while sprinting.


1. Iron sandals + bow = sniper who could outrun almost anyone. The generally broken terrain puts a damper on that.

2. Ambush ganker. She is behind you. Always.

3. Timeless classics of turning your back to a friendly healer.

4. If a friendly kunoichi is sniping some opponent next to you, you can't really tell if she is friendly. Not until someone gets headshot.

5. Demolition griefer/trapper
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 02:02


The less classes, the less chance that I fail to make this dream into reality.

Five is the absolute minimum and if I try shrinking the pool further I'd just muddle things up because I'd have to implement the same things via loadouts. I already got two unnatural chimerae (Mender = Medic + Scout; Kunoichi = Spy + lucksman Sniper).

Eloi and Morlock: The Gardener and Wrecker are already geared to prefer skies and depths respectively, as that plays to their strengths. But I want to add even more: allied suns. Team colored luminaries in the sky that buff allied plants in their direct sunlight. Implementation depends on my ability to realize support for these in the engine.

I realize this is hard to implement and is fraught with intra-team griefing by obstructing sunlight with buildings -- with no clear method for the moderator AI to detect and hit with a banhammer.

The Mender is also designed with the open sky in mind, becoming nearly helpless underground -- while kunoichi is grounded, her abilities becoming horrifyingly effective in caves and tunnels.

Only the Hellion has no clear affinity, average everywhere.

Fighters vs battlefield shapers: The classic “class counters” rock-paper-scissors from static-map games (TF2, Overwatch) extends into multiple dimensions losing its significance because map control is more impactful than direct striking capability. In this regard, beside Wrecker and Kunoichi countering Gardener while Gardener herself being somewhat OP by design, there are no clearly-defined counters otherwise.

The Hellion, Mender and Kunoichi are primarily combatants, with their respective strengths and weaknesses designed to diversify combat rather than play rock-paper-scissors. The Gardener and Wrecker are primarily battlefield shapers, providing advantage from above and from below respectively.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 02:03


Team colors: Orange #ff9b09 and blueberry #8036ff for the fairy teams and gray-green #82974e for the plant monster team.

Customization: A team of professional artists, I am not. The players can only customize colors of parts of their oufits and choose from a limited set of patterns, can customize and the color of their skin and hair -- BUT there is an auto-balancer that forces average overall brightness, saturation and hue and limits hues to stay around the team color. A fairy on the Blueberry team cannot have pink skin. One on the orange team can, but her hair and outfit would then be forced toward limish-yellow.

Class design: There are mutually exclusive requirements, making all silhouettes distinct and instantly recognizable while their body shapes are constrained to attractive girls, nearly naked in the worst case of their last HP - which means identification cannot be handled by the outfit design alone.

The first reasonable solution is resorting to distinct hairdos. Which limits customization and precludes from supporting hats, ever - but this is the heavy price of fanservice.

The second is animation. We'll see what I can do, when the time to animate them comes. Ideally, each class should have distinct postures and animation. The Kunoichi and the Mender at the least.

The height range is quite constrained as well: below ~170cm, to fit into a free space of 180cm without distorting special animations much. Above 160cm because otherwise jogging / sprinting across 1 block steps (60cm) becomes a truly special case.

Another limitation, we cannot have long skirts and the like. Because true cloth simulation is expensive and animating them like robes in Oblivion would be travesty. So we are limited to either short skirts or trousers of sorts.

All classes have some sort of gloves on their hands, breaking at low HP to serve as a visual cue. If your gloves are in tatters or missing altogether, you are on the verge of defeat.

The Hellion: 170 cm, buff build, spiky hairdo sticking up Vash Stampede style. For body type, see Genie from Rune Soldier Louie. The outfit at her last HP is mostly that (see images of Genie fighting sans cape), minus boots and with thrice shorter loincloth. Full outfit is a rip-off of Saiyan armor, only with three-petaled skirt. Includes boots, gloves, a long-sleeved form-fitting shirt covering both arms and neckline (and also serving as a first person visual cue to low HP) but no trousers under the armor skirt, the same loincloth has knee length when intact. The hair sticks higher than the 180cm of 3-block space making its jiggle bones interact with ceiling.

Masculine gait, boisterous posturing.

The Mender: 150cm, lithe, massive spiraling ponytails on the sides of her head. Basically, Nui Harime with dragonfly wings, only with lace instead of petals and a short shawl over her shoulders. The lacy gloves serve as the first person visual cue to low HP.

Exaggeratedly cutesy gait and posturing, switching to pouty childish at below ~50 HP. Different walking animations for one boot missing and barefoot because of high platform heels. Floating animation when being towed by the mending stream (lower legs bent slightly, feet do not touch the ground, a bit of bobbing up and down for effect)

The Wrecker: 160cm stocky build. Wears miner helmet, short cropped hair barely visible. Outfit consists of coveralls and heavy shoes. The helmet and shoes remain intact at the last HP. The helmet is purely cosmetic: does not protect from headshots.

Springy gait. Energetic, overconfident posturing.

The Kunoichi: 160cm, a tall ponytail visible from the front, ninja outfit and mask cover her entire body leaving no skin visible at max HP. The mask is lost at 20 HP. Alas, cannot use thematic fundoshi as underwear: does not comply with the “cover 60% of the buttocks” rule. Such tragedy.

Stylized ninja-themed gait, exaggerated ninja-styled 'sneaky” posturing. When under a henge, switches to that classes' mannerisms.

The Gardener: 165 cm, full hair falling just below shoulders (can't make it longer: the engine would die from the amount of jiggle bones required). A loose blouse with a variety of floral patterns to choose from. A pleated skirt ending just above the knees (to not have to deal with its interaction with the knees). The pleats are drawn using a specialized cloth shader, no polygons harmed in the process. Tall boots with elaborate embroidery and arm guards --and, of course, gloves for first person damage indication.

Refined gait, imperious posturing, switches to uncomfortable below 40 HP.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Re: Design document

Unread postby chebmaster » 29 Apr 2023, 02:09


Animation makes it my dream game: the whole reason I took up programming is my love of animation. Confirmed by my clay animation attempts from the 1990s made using a consumer-grade 8mm movie camera (if you tap the trigger really sharp it makes only one or two frames).

Sadly, I haven't found a tool I dream of. (No, Blender is not usable because of is interface made by Chthulhu in hell). So my plan includes an obligatory animation / modeling tool.

Judging by the sad, sad quality of animation even professionals often use (see rare inserts in 2018 Grappler Baki or in Dorohedoro) there is a “cost vs benefit/risk of innovation” pitfall the industry had fallen into and got stuck fast.


Physics-based bones: No angles. No trigonometry. Only forces. All constraints are made of springs of differing strength. A bone has its own coordinate system and matrix, for attaching skinning and other bones. The bone and collider are one. The colliderbone's origin is its center of mass. Its shape is ellipsoid.

The rotation is expressed as a differential velocity vector (relative to the origin) in the colliderbone's own coordinate system, two components of which apply to the first axis and the last component to the second axis. Any errors arising from this treatment of rotation as linear movement are resolved by cutting delta-time in half. Recursively.

This only applies to the animation tool, to ragdolls and to jiggle bones since animating a character moving under her own power is made via animations blending. The colliderbonebone' positions for keyframes are stored as two vectors for two of its axes, interpolated between all blended frames, re-normalized and transformed into a matrix for skinning.

Physics-based skinning: The skinning has two components: first, the classic weighed skinning, second a physics-based approach applied to its output to achieve constant volume of respective body parts and imitate muscle action. The body does have internal structure made of tetroxels (tetrahedral voxels) growing inwards from the surface's triangles. By my assessment, it needs to be two layers deep and then attached to bones of the physical skeleton - which I will roughly model, to use as a reference sketch for my convenience, since tetramesh roots are actually connected to colliderbones.

Tricks and hacks: To make this thing run reasonably fast on a Raspberry Pi 2/Orange Pi PC (both == Cortex A7 + Mali 400) no dirty trick will be spared. Including storing pre-calculated vertex positions for key frames (like the Md2 format of yore), blending them linearly and then correcting all blending mismatches via one or two physic passes. Or not correcting at all, for faraway characters.

Cloth shader: to create cheap loose clothes, one needs to cheat like no tomorrow. I will use the same technique as for my RFAO (rubber film ambient occlusion), basically a shadow mesh connected to its original by rubber ties and affected by internal and external forces to settle in two or three passes. In this case, the “original mesh” it is linked to would be the body underneath, so a loose clothing item is created by extruding that. This, obviously, has limits: skirts can only use cloth physics at their very top around the belt, fading into leg collider interaction with noticeable margins (because leg colliders are made of ellipsoids, mimicking the leg mesh shape with errors). But trousers, crop tops and long-sleeved blouses could be made better than anything available today.

Now the tricky part: the interaction with the parent mesh to hug it where forces press the cloth mesh flush but flap/ flow where they pull it away. Obviously the classic cloth approach doesn't fly as it shifts the vertices relative the surface underneath, facilitating many proximity checks and not allowing to stretch the cloth really flush with the body (because meshes are misaligned at the least).

We cheat.

On lateral movement of a vertex, the closer the vector between it and the parent vertex comes to the plane of any of its parent triangles, the more of it is transformed into texture coordinates shift while the vertex itself is moved closer to its parent. Until it matches its parent perfectly and any shift of the cloth is pure UV trickery.

The free-flapping edges are made using texture transparency and extra margins (and vertices off the edge losing all forces except the push/pull of their neighbors). At the cuffed edges and belts cloth blends to their vertices using weighs.

The cloth behaves a bit like rubber, while the fragment shader is presented with its stretch factors. It then applies creases painted into a special texture for different directions, thus generating an appropriate bump map.

The beauty of this system is in its low cost: any cloth vertex only ever interacts with its parent vertex, its adjoining triangles, its own neighbors in the cloth, and with colliders. Where colliders could be vetoed manually by the model maker.

Complex cases, like the belly or the back creasing on extreme acrobatics, could be dealt with by attaching an intermediate rubber cloth to the body and extruding clothing from it.
User avatar
Site Admin
Posts: 913
Joined: 06 Apr 2013, 13:38

Return to Chentrah

Who is online

Users browsing this forum: No registered users and 1 guest