Log In  


Cart #shadowsofdunwich-4 | 2019-05-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
224

MAJOR UPDATE
With this update the game now progresses across multiple battles, soldiers can level up and have a talent tree, and 2 new enemy types have been added.

The game has 16 levels, and you need to beat level 16 to win. However, levels don't progress 1 at a time, the level you are assigned is based on the combined level of all your soldiers. If a soldier survives a battle they will gain a level and be granted 1 skill point. So if all soldiers survive level 1 you will progress to level 4, if they all survive level 4 you will progress to level 7 etc.. So it's possible to do a perfect run and win the game by playing only 6 battles.

If a player doesn't survive they will be replaced with a new recruit. As you progress through the levels new recruits will start with more skill points so if you lose any soldiers or have a full wipe you won't be set back too far (and you can respec your soldiers).

If you abort a mission after any soldiers have died they will remain dead. However, because the game is only saved between missions you can "save scum" by resetting the cart and continuing the game with all soldiers alive.

X-Com like game with procedurally generated maps that I started developing about 6 months ago. I just came back to it over Easter and finished it off. It uses the same 3D sprite system I developed for Pico Tennis but I ended up making a middleware tool in C# so I could easily build and animate the 3D skeletons for them.

I really wanted to give it a bit more visual flair in a lot of areas as well as add more enemy unit types with different abilities, but I just couldn't afford the tokens. The war on tokens with this one was all too very real.

I had this crazy fantasy when I started that it could have an overworld where you would conquer territory and buy and upgrade units. If I was to do that it'd have to become a duel cart game. I'm not sure how doable that would be, but I think it would ass a lot more fun to game. The outcome of the battles would actually be meaningful and a play session could go from being 10-15 minutes to maybe 2 hours.

Anyway, I'm still pretty pleased with how it turned out. Let me know if there are any issues that need fixing or tweaks you think it could do with.

minor update 1.01

  • added the option to choose number of enemies from the title screen (previous it was always 13)
  • fixed the action popup so it won't go off screen when at the bottom or right of the map
  • enemies will no longer shock a player if they're already shocked

minor update 1.02

  • fixed a grenade bug that was introduced in the previous update

major update 2.0

  • added new basic enemy with only 50 health that doesn't hit very hard
  • added new enemy that that only has 50 health but hits hard and splits into 2 basic enemies when killed
  • added leveling system
  • added talent trees
  • added game saving
  • added a victory screen
  • fixed a bug that caused the red soldier to steal threat when it was the same as other players
224


I like this cartridge a lot !
Graphism and animation look good. Title screen is really good. The gameplay is interesting with the differents special abilities. Random levels are detailled...

The only concern, we want more :D (token war is a hard one !)

Great job !


1

Truly excellent!
Graphics are spot on (I like the alien ooze...)
Bonus points for the help cheat.

Some way to get specials mid game would have been nice but limited resources makes the game a bit more replayable.

protip: playing with the mouse is a game changer!
tokens:

  • maybe using a json parser would have been more versatile/less costly
  • maybe using functional objects could save a lot of self. in entity logic, eg:
function make_player(type,x,y,...)
 — private var
 local health=10
 return {
  — public var
  x=x,
  think=function(self)
  — use closure variables
   if(....) health-=1
   self.x += 2
  end
}
end 

Good suggestions. I'd been thinking of using a json parser or something similar to reduce tokens on object definitions but haven't tried it out yet.
I didn't realise you could do functional objects like that. I'll have to do a few experiments and see how I go. It'll probably mean some major refactors of some aspects of the code but it'll be worth it if it gives me a bunch of tokens back.


as a matter of fact, I have a json parser ready to use ;)
it could bring back the map to define the levels.


I've changed the actors and grenades over to be function objects which gained a few tokens back.

I ended up writing a custom string parser that only takes 143 tokens. I was able to get some value out of only having number values and doing some slightly funky formatting of the data.

All up I've recovered 482 tokens. The only problem is I'm now at the compressed size limit. I tried using Dans Anderson's minifier which gets it back down to 80%, but it renames the table keys so they no longer match the parsed names.


@paranoidcactus why don’t you put all data in the map area. You are already doing that from what I saw.

And yeah, references in strings are a pain (big fan of json here ;). That said, did you try simply remove tabs/comments? I found that be a cheap way to move from 135% compression down to 90%


1

Yeah, I've changed to hybrid approach now. I'm storing the structure of the tables in a string, but all the values in the map. The parser is now down to 117 tokens and compressed size down to 88%. If compressed size becomes more of an issue later I could change it again.


Token hunting went well as I see ;)
@paranoidcactus Played 2 missions with the new perks, I am genuily impressed by the level of polish (bonus point for being a good game on top!)


this game is awesome it's one of the only strategy games made on pico 8, its high quality and very fun


Pico-8 definitely deserves its own X-Com! Really nice and fun game!


1

This game is awesome! There are a couple bugs (features?), however:

Moving to a square adjacent to an enemy breaks the AI and prevents the enemy from attacking or moving. This allows you to slowly beat the enemy to a pulp while it cannot fight back. I have no idea if this was intentional.

Also, you can continue to use the Electro Shocks after the blue soldier has run out of charges.

This game is still a masterpiece of the PICO-8 engine, and my favorite game on the platform. Great job as always!


I just discovered this in 2023, enjoyable game, scratches that turn-based tactical battler itch. Thanks for making it!

I appreciate the perks and not having to start completely from scratch on death of a soldier, that feels nicely balanced. Managed to finish the campaign, though a few times I used the bug someone mentioned above where the blue soldier seems to get unlimited Shock chargers.


XCOM in Pico-8. Just when I think I've seen the best this site has to offer... What a marvel of game engineering. I love how well the mechanics of XCOM are represented, and the graphics are honestly really nice too. 5/5 stars, would recommend.


Just letting you know it's still my favourite Pico-8 game. Maybe because I love ZX Spectrum version of Laser Squad so much. :3


1

What does amour do?


This game is great!


Wow it's like Laser Squad or Cannon Fodder!! Great game for Pico-8! Many thanks! Maybe you could add more levels and more varied objectives in the missions but frankly it's already an amazing game! My favorite on Pico-8!


This game is great :) Reminds me ufo enemy unknown - but only the tactial part. Nevertheless it is really entertaining. The game is well balanced, and AI is perfect :)



[Please log in to post a comment]