A downloadable game for Windows and Linux

Modern take on classics like Space Hulk and Space Crusade.

Game currently has 3 levels and 3 different weapons.

Reach the objective at the top to beat the level.

AI has been taught to play the game using deep learning

Play in browser: https://jarski.itch.io/space-hulk-space-crusade-remake-html

Keys:

  • Move camera: Arrow keys
  • Move units: W and S
  • Turn: A and D
  • Shoot: Space
  • Cancel shooting: Right mouse button
  • Select units: Left mouse click

Download

Download
SpaceHulk-0.0.12-win.zip 32 MB
Download
SpaceHulk-0.0.12-linux.zip 37 MB

Development log

Comments

Log in with itch.io to leave a comment.

(14 edits)

Sorry to spam you a little bit with my wild ideas, but hey, WH40K is such a fun universe. Been reading some Lexicanum lately, very impressive well of lore. Anyway, I have been playing around with some numbers and I came up with an early version of the squad assembly material, mainly focusing on the pointsworth of each unit variant.

There are five unit types, as given by description:

(1.) Leader is an avant-garde Space Marine soldier in terms of battlefield prowess and biotechnological engineering. Distinguished with wearing an emblematic bone-white armour, the Leader leads battle brothers by example. Only one Leader per squad is allowed.

Special rules: twice per mission, the Leader may attack with ‘Frag Grenade’ (short range, single target, damage 4, blast, cost 4 AP).

(2.) Troopers are highly trained Space Marine soldiers, holding universal applicability of tactical value on the battlefield.

(3.) Medics engage in warfare to actively support their fellow Space Marines, helping many survive the wounds otherwise possibly fatal.

Special rules: each allied Space Marine on a tile adjacent to the one of Medic, receives a continuous bonus of 2 HP extra. The bonus lasts as long as the unit remains in touch with the Medic. Disjoining from the Medic, will make the bonus nullify as soon as the next turn (may cause death if little HP remaining).

(4.) Gunners provide a vital firepower backbone in the Space Marine army, excelling at heavy weaponry of devastating power.

(5.) Reserved for open field battles, the Raptors utilize their ‘Raptor’ engine jump-packs to rapidly confront the enemy and provide combat assistance of high mobility value. 

Special rules: movement costs 1 AP per tile (unit rotation costs without change).

So these are the unit types. Now for the pointsworth:

Leader – Bolter Pistol: 4
Leader – Storm Bolter: 6
Leader – Plasma Pistol: 5

Trooper – Bolter Rifle: 9
Trooper – Graviton Gun: 10
Trooper – M/C Bolter Rifle: 15

Medic – Bolter Pistol: 13
Medic – Storm Bolter: 15
Medic – Plasma Pistol: 14

Gunner – Heavy Bolter: 11
Gunner – Assault Cannon: 11
Gunner – Plasma Cannon: 17

Raptor – Bolter Pistol: 14
Raptor – Storm Bolter: 16
Raptor – Plasma Pistol: 15

The squad at minimum consists of a Leader and two other units. Maximum is a Leader and eight other units.

Cheapest squad setup comes at 22 total pointsworth. Most expensive squad setup equals 142 pointsworth. I propose to introduce an order of thresholds varying by 15 each level, starting with 30 and ending up with 120. That would be: 30, 45, 60, 75, 90, 105, 120.

For each mission, the player would choose the threshold amount of points oneself. If mission successful, it would be booked in the high scores of given mission, allowing the player to sign in a name of the squad that made themselves a name. If the mission was completed without the loss of any squad member, the name of the squad would go to a separate - more important - book of high scores, marked as "perfect".

If you would like to know how did I get to the particular pointsworth values, I can link you up the spreadsheet. It is all rather nominal, we will see whether it does justice.

I think majority of typical missions should work on the basis of 'Capture the Flag', which means, not only to get something, but also bring it back to the dropzone. 'Assault' missions, are to achieve certain spot, but also to hold it for a number of turns. Another kind of mission is 'Headhunt', which ends with certain unit being killed.

Yet another type of mission is 'Mayhem', which ends with having all enemy units killed or rendered armless - the latter, due to shortage of both the ammo and the combative special abilities, for example - albeit this is no good against the endless spawnings of the Tyranid, so rather perhaps against some more quantitatively defined forces, such as other Space Marine Chapter. It is possible for the 'Mayhem' to end up in stalemate.

'Skirmish', is a type of mission which must resolve within fixed and narrow amount of turns. The party which has scored more pointsworth in slaughter of enemy units, wins. Again, this poorly applies against the Tyranid, but maybe if to assign each Tyranid infantry unit of any kind the symbolic cost of 1 point, the mode could be tested.

PS.

Summary of changes to the earlier assumptions:

=> Captain/Leader - changed the unit name to "Leader"
=> Leader - added special ability, the "Frag Grenade" attack
=> Medic - changed the rules of special ability

Furthermore, perhaps if to bring the base HP of the Leader up to 6, for the reasons of correspondence with the damage line of Heavy Bolter, such as the base Marine HP corresponds with the damage line of Bolter Rifle.

Hi, thanks for suggestions. Your ideas definitely helps! I am working on the game this weekend and hopefully get new version out soon. You can share the excel with me through google spreadsheets or similar. We can also move to some better tool to keep track of all the ideas such as Trello board if you are interested.

(16 edits)

Glad to hear that. HERE is the spreadsheet. You can comment. Also, I have seen on some websites around the itch that developers established local forums. Maybe it would work for this place too?

I can go through thusfar suggested material and maybe put it into a more cohesive piece, unless there is no actual need to?

Regarding the directional armor bonus for the Space Marines, I was thinking if there could be problems in determining when does the received damage reduction apply? In close encounter with the Tyranid, it is easier to determine, because Tyranid can only attack from adjacent tile, which means, it is clear whether the Marine faces the opponent onwards or not. In case though some opponents wielding ranged weaponry were to be introduced eventually, the case gets more complicated. Even if mechanically it is solvable, it still ought to be simple enough and clear to the player, when one can count the bonus in for granted.

Eventually, we may back down to a standpoint that the armour bonus works only against attacks launched from adjacent tile.

EDIT:

In the Linux version of the game '0.0.12', I cannot seem to be able to exit the mission, albeit I can exit the game from the menu.

Minding that the amount of tiles the Marines can move may differ from the original Space Hulk, the maps ought to be proportionally increased in size or made more complicated.

For the units, the artwork is okay... y'know, it is there. But I would opt, for now, to replace the actual unit models with mere symbols on visually styled square tiles with proper unit symbol put on them. The direction the unit faces, could be emphasized with a marking on one edge of the tile, speaking of Marines - or on all edges of the tile, speaking of Tyranid infantry.

Try to maybe find a way on how to inform the player of enemy movement without having the screen go all wild.

There is apparently a bug, which allows the unit to move with only 1 AP - while the movement costs 2 AP.

PS.

'Multi-target' means that up to three targets in the range of fire can be affected in one attack.

For the range, we ought to assume some simple solution. For example, short range is up to three tiles ahead of the unit, middle range is six tiles far and long range is nine tiles in distance. That is for the current size of the maps. Eventually we can upgrade, for example to 4/8/12 or 4/7/10, eventually assume some more irregular ratios, depends.

Movement backwards for the Marine ought to cost 3 AP per tile, also for the Raptors. This would affect the description of special rules for the Raptors, to such, for example:

movement onwards costs 1 AP per tile (unit rotation and backwards movement costs without change).

It is also important to point out that the special ability of Medics, is now cumulative, which means, a unit supported by the Medic, gets +2 HP for each Medic on adjacent tile. Effectively, up to +8 HP can be held this way, if tactically sensible.

My opinion on the Tyranid, the way it is done currently in the WH40K universe, is that it is royally screwed up and we should only very loosely base on it for the inspiration.

I am actually thinking, what if to upgrade the special ability of a Medic, in a way that the unit Medic faces onwards, gets +3 HP bonus, instead of the regular +2 HP.

(4 edits)

@Jarski, you spread yourself thin working on parallel to-be-released projects simultaneously. Especially taking a look at how your Chaos Gate remake is going ambitious. Even though Space Crusade may not be the single most popular game on Itch, it could actually be worth further development and giving a solid backbone.


Here are  my thoughts:

=> logo: no fancy characters, just a symbol, probably that of Blood Angels, unless you choose a different chapter, maybe Dark Angels, why not?

=> main menu: give the game a proper main menu with encyclopaedia, explaining first of all, how to move the units. If the player has no clue how to move a unit, this is an instant game over. You need to explain that units are moved with arrows, having the "up" arrow to issue a move and "side" arrows - left and right - to rotate a unit. It needs to be put clear that each movement, including the rotation, costs action points.

=> unit stats need to be given descriptions in the encyclopaedia, as associated with movements, action and damage.

=> weapons ought to have descriptions in the main menu. What I observed is that storm bolter is a short range weapon capable of destroying multiple targets. Assault cannon is a medium range weapon capable of destroying multiple targets. Bolter is a medium range weapon capable of destroying a single target. All must be clear.

=> units: captain of the squad could be given +1 AP and indeed be distinguished with an armour of distinct colour, probably white.

=> achievements: each mission ought to be given a challenge mode, in which one would succeed only accomplishing it with having lost none of the units. Additionally, what about seizing the artifact and returning it to the drop zone? That would certainly give an extra depth to the difficulty. With this, the artifacts of actual combat use could come to play, such as new weapons, medkits adding HP, teleporters of short range and such.

=> Xeno, could come in three tiers, marked with appropriate number as their specie symbol. Tier "1" is a regular Xeno. Tier "2" is more agile, compared to tier "1", but can take less damage. Tier "3" is less agile, compared to tier "1', but can take more damage, which further indicates that Xeno should have some sort of transparent health counters on them, signifying how damaged a unit is already. This, in the end, leads us to the notion of a boss, which could have various characteristics, making it emphasize on the characteristics of one of the Xeno species, such as, super slow but super durable or being able of certain special maneuvers, such as working as a spawnpoint for the Xeno.

I do believe this game could gain some firm shape.

EDIT:

I am on Linux, by the way, had encountered only two levels in version 0.0.8.

BTW, I am not sure whether it is legal to capitalize upon brandmark names and themes, without going for the licence.

Wow thanks for the feedback. I could make the first level a tutorial where player learns all necessary keys and rules.

I liked all of your suggestions. Adding a captain, new enemy types and difficulty levels sounds very interesting.

Actually I made this game project to test how well deep learning works in turn based games. But I agree that this could end up being a fun and challenging game if further developed.

PS. I know Games workshop is very strict about using their IP and might cause some problems. But this is just a free hobby project and not meant to make me any capital gains.

(6 edits)

What I realized though, regarding the enemy types, is whether in the game anything like damage amount different to "0" or "1" is actually a thing. Do you have any RNG going on in the damage system in your game or does the damage system include any other value than "true=hit=dead" or "false=missed=survive"?

In the original WH40K, there are "wounds" and one hit equals one wound. In order to deal a wound, one needs to hit the target, then the hit impact needs to bypass the endurance of the target, then the target has the right for "armour=saving" test, but only if the armour piercing value of the weapon is lower than the actual armour value of the target. Sounds complicated, but it is actually pretty straightforward.

Anyway, some characters could stand more than one wound, but I am uncertain whether this was the case with regular Tyranid troops. Majority of troops are dead on first received impact.

If we assumed that in your game one Xeno could survive a single shot from one gun type but die instantly to a shot from another gun type, there  must be some measure telling by what rule this happens. If the game is to be diversified, some rebalancing is unavoidable either how.

Both trails lead us to assuming how much of damage do certain guns deal and how much damage per shot one Xeno of given kind can survive. For example, bolter could deliver 2 points of damage. Xeno tier "1" has 2 points of health, so dies instantly to one bolter shot. Xeno tier "3" has 3 points of health, so survives one bolter shot. Xeno tier "2" has 1 point  of health, so dies instantly to one bolther shot. There is some space to come up with different ideas revolving around it, both the guns and the Xeno types.

Guns could furthermore affect the speed of a unit. Light firearms would grant bonus to AP, while heavy guns, a penalty. So, quite like in the Chaos Gate, perhaps before each mission, one could change the weapon deployment?

EDIT:

Also, maybe it would be feasible to make a browser-based version of the game?

Currently damage and health is set to 1 but it is easy to modify since everything is data driven and changing stat files is simple.

Adding randomness is something that might make the game bit more interesting. I will have to experiment with that.

The way different weapons are currently implemented was kind of quick and dirty solution since there was just one simple enemy type. With different enemies different weapons would become more useful. For example melee weapons would be interesting to try out.

I think I remember in Space Crusade heavy weapon units only moved 4 tiles and others moved 6. It might make sense also here. But have to make sure heavy weapons have enough firepower to make up for that loss of AP.

If you have ideas for specific enemy and weapon stats (AP, HP, damage etc.) feel free tell me and I can add them in.

Latest Linux version is available. I will check if I can do a browser version.

(61 edits) (+1)

There is a slight problem with the 0.0.11 Linux version. The game would not respond to level selection, making one get stuck in the menu.

Now, conceptual stuff, broken between six parts:


PART 1:

I would actually opt against the RNG.  With hard stats, the game will feel more tactical. Tactics, in the end, is about predictability.

For the melee, I would rather skip it. In the tabletop WH40K, the mechanics for melee and shooting were different to one another - at least as far as I remember - and in the digital game, it would also take a handful of new stats to do for close combat. Meaning, it would consume energy in implementation and cause further rebalancing trouble, possibly turning everything unnecessarily more confusing.

Universal AP, responding equally for movement, shooting and use of special abilities, is okay, I think.

But mind that if having a heavy category gun costs penalty to default level of AP, it also means less shooting can be done with it. Therefore, such as you point out, big guns must have adequate punch, otherwise it will simply be unprofitable to hire them in the squad.

We could introduce character classes, such as:

Captain. The captain is a unique class, because it can only have one representative in the squad. The Captain has +1AP. Captain can only be equipped with with a light type weapon. Perhaps the Captain can also have +1HP.

There could be a Gunner. The Gunner can be equipped only with a heavy type weapon and in case there was a pick-up heavy weapon on the map - a treasure of sort - only the Gunner can go and wield it. Gunner has some penalty to AP, but since only Gunners can use heavy weapons - such as the Assault Cannon - maybe the shooting costs of heavy firearms, do not have to be as expensive.

There could be a Medic. Medic can be equipped only with a light type weapon and has -1AP. Medic has a special ability, granting a target unit on adjacent tile, a temporary +1HP (non-cumulative). The ability may only be used a limited amount of times per mission. If there is a pick-up medkit on the map, only the Medic may go and grab it, expanding his special ability in terms of the limit of use.

There could also be a Trooper. The trooper can be equipped with light or medium type weapons and has all the stats at default values.

For the weapons, a handful of ideas:

Light category:

Bolter Pistol: affordable, short range, single target, damage 2.
Storm Bolter: expensive, short range, multi target, damage 1.
Plasma Pistol: expensive, short range, single target, damage 4, low ammo storage.

Medium category:

Bolter Rifle: affordable, medium range, single target, damage 3.
Graviton Gun: expensive, medium range, single target, blast(friend or foe), damage 2.
Master Crafted Bolter Rifle: expensive, long range, single target, damage 4.

Heavy category:

Assault Cannon: affordable, medium range, multi target, damage 3.
Heavy Bolter: affordable, long range, single target, damage 6.
Plasma Cannon: expensive, medium range, single target, blast(friend or foe), damage 12, low ammo storage.

I assume the Marines on a 'space hulk' mission would not use any tank-destroyer armament or weapons that could get out of control easily.

For the enemy types, we would have the infantry of three categories and the bosses of three categories, matching the three infantry types. Perhaps more rarely some elite units could be seen, having higher HP values, but also being larger of size, if implementable, but that depends on the map grid precision.

EDIT:

Since blast on weapons can harm both the opponents, as well as the allies, I believe the HP system will need to be rebalanced, towards a universal approach.

PS.

Another thing, zoomability of the battle view. Important, I would say.

Also, what about being able to name each Marine as the player likes?


PART 2:

Having set the basic 'Bolter Rifle' damage at value 3 and the 'Bolter Pistol' damage at value 2, we must assume that the Rifle should be able to take out a 'Tier 1' Xeno in a single hit, while the Pistol, a 'Tier 2' Xeno in a single hit. Therefore, Xeno infantry, as proposed, by stats:

Tier 1; HP 3, damage 3, average rate of movement
Tier 2; HP 2, damage 3, faster rate of movement vs T.1
Tier 3; HP 4, damage 3, slower rate of movement vs T.1

Simple enough thusfar, I think.

Since Xeno infantry does 3 damage and it should be able to take out a Marine in a single hit, we must assume that a Space Marine has 3 HP, which is suggested further by own Marine armament efficiency comparison.

This is not all to it, though. Marines are heavy armoured and I would like to emphasize on that. If a Marine receives a damage to the front - that is, the damage comes from a direction the Marine faces - the damage is lowered by 1. Hit incoming from any other direction, that is either to the rear or to the flanks, inflicts damage in nominal volume. Which is why, rotational position does matter. The AI, if possible, should try to walk around and attack flank or rear if sufficient in AP, but not at the cost of possibility to attack given turn altogether, unless the nominal damage is too low to affect the target otherwise - which would mean, basic damage at 1.

When it comes to the HP bonus for the Captain, as well as that obtainable through special ability of a Medic, I believe we should double the bonus, making it +2 each.

When it comes to the 'low ammo storage' in description of plasma weapons, what I mean by that, is, these weapons need to reload each time having fired two times. In other terms, their ammo capacity equals 2.

When it comes to the amount of available reloads, I propose the nominal value of 9 for light type weapons, 12 for medium type weapons and 15 for heavy type weapons. We will see how it would do, whether it should suffice.

Some bigger maps and more open spaces, could be introduced, perhaps. Along with that, some more widespread battles. In such battles, the player would control a couple of squads, fighting a couple of different Xeno broods. The fight could go in such a way that, for example, squad 'A' begins, then brood '1' takes turn, then squad 'B', then brood '2', then squad 'C', then brood '3' and when all broods and squads are considered moved, the circle repeats. Each brood would hunt their squad of choice, unless some other squad - according to the AI calculations - is much closer or poses a bigger threat, then the priority may change. This could appear complicated, but the point is, instead of moving all the army at once each time, we take it by bits, more methodically.

Another thing, loosing a Captain, should equal 'game over'. While in majority of 'space hulk' missions, having only one squad in combat, it should be easy to determine who is the Captain, then what if there are more squads in action? In such case, there must be a priority squad, whose Captain, is the force commander, loosing of whom, equals 'game over'. It must be made clear what to protect and what to attack.

What still requires more detail is the 'blast' damage.


PART 3:

'Blast' damage could work in a way that taking a direct hit from a 'blast' weapon, deals 150% of the nominal damage, while all units on adjacent tiles, receive the basic nominal damage. All the damage is considered coming from one direction, that is, virtually in a straight line from the 'blast' gun of the attacker, for each case of damage dealt this way.

Ammo capacity of the guns - experimental values:

Light category:

Bolter Pistol: 5
Storm Bolter: 6
Plasma Pistol: 2

Medium category:

Bolter Rifle: 6
Graviton Gun: 4
Master Crafted Bolter Rifle: 3

Heavy category:

Assault Cannon: 6
Heavy Bolter: 5
Plasma Cannon: 2

For the 'price' of the guns, mentioned earlier, each squad would have own points balance and each unit armed with certain gun, would cost certain amount of points, subtracting from the total amount available. There is also a limit to the number of units that the squad can contain altogether. Captain is a mandatory unit and one granted for free, only the weapon cost needs to be covered in this case, while having a weapon equipped, is mandatory. This topic needs to be worked out carefully, but much later, I believe.

Further cases to be discussed: default AP of the Xeno, default AP of the Marine, AP cost of reloading per gun category, AP cost of shooting per gun category.


Part 4:

On the AP, we should begin with "currencies". First, rotation should be cheaper than movement for a Space Marine. Rotation should cost 1AP per ninety degrees turn, movement should cost 2AP per one tile.

Marine of reference - a Trooper class, armed with medium category weapon - should be able to move about three tiles distance per turn and either shoot twice or shoot and reload, ideally speaking.

Therefore, three tiles movement gives us already 6AP of minimum. What about the additional shooting, then?

Different categories of guns, have different priorities. Light type is not really the armament to carry the main weight of battle, as it is rather a mean of escape. Therefore, shooting would be costly for the light guns, but reloading, not as much. Heavy category guns, for the sake of balance, ought to be affordable in shooting, but since they already have some decent punch, perhaps it needs to be compensated somewhat with higher cost of reloading, as in the end, heavy guns are cumbersome in wielding. Medium category guns should be the way to go in lack of better idea for squad setup and not fall short against basic level of expectations.

Therefore, I hope these will do:

Light guns: 3AP to shoot, 1AP to reload
Medium guns: 2AP to shoot, 2AP to reload
Heavy guns: 1AP to shoot, 3AP to reload.

Summarizing, 6AP for exemplary movement plus two times 2AP for exemplary combat action, gives us the amount of 10AP, being a default for Marine Trooper.

All bonuses and penalties regarding the AP, likewise with the HP solution, should be doubled, meaning, the Captain comes with 12 AP right from the start, while the Medic, with 8 AP. Gunners, by the original assumption of -2AP - which, according to the current conditions, elevates to -4AP - are to come with only 6AP, that indeed is very little, so we will see whether this works out.

For the Xeno, they are omni-directional, which means - technically speaking - that a Xeno unit always faces all directions on the battlefield simultaneously. What it implies, is that they can move, as well as possibly attack, instantly any direction they want, without ever having to rotate. Xeno movement costs samewise as the Marine movement, while the Xeno attack, should cost about as much as their movement. To summarize, 10AP would suffice a Xeno infantry unit to move four tiles distance and attack once, if possible. That is for the 'Tier 1' Xeno. The 'Tier 2' Xeno has 12AP, while the 'Tier 3' Xeno has 8AP, to make it simple.

Xeno infantry can attack only opponents on adjacent tiles, but once they attack, they attack all the adjacent opponents, giving their attack a 'multi target' attribute.

EDIT:

What is still unclear, though, is whether two diagonally connected tiles, are to be considered "adjacent".

PS.

Shooting menu should have some "cancel" option.

I guess the Medic class does need some little further tweaks, as it may feel a bit useless for now, as well as there are some paradoxes if the extra HP granted by the Medic would disappear shortly.


Part 5:

Each square tile has only four adjacent tiles, that is North and South, East and West. Diagonally connected tiles are not to be considered "adjacent".

For the Medic, a redraw of characteristics. We remain with 8AP and default level of HP. The Medic may be equipped only with a light category weapon. For the special ability, now it has indefinite limit of use. The ability works on the basis of restoring the HP of a target Space Marine unit - other than the Medic himself - up to the nominal maximum, in case the unit was wounded. The cost of use in the ability is 1AP for each restored 1HP, which means, for example, if a target unit is being restored from 2/3 to 3/3 of total HP, the use of ability would cost 1AP, while from 1/3 to 3/3 of total HP, it would cost 2AP. In case the Medic does not have enough free AP to fully restore the HP of a target unit, partial restoration is available, up to the maximum free AP count of the Medic. The ability can only be applied to a unit on adjacent tile that the Medic faces. 

There is also a bonus: if at least one Medic is present in the squad deployment, the Captain gets an automatic bonus of +1HP.


Part 6:

Having specified the notion of "adjacent" tiles, the 'blast' damage mechanics - correlated with the notion - would need some improvement. The improvement dwells in the way the adjacent tiles are affected by the impact. We still assume that direct hit from a 'blast' dealing weapon causes 150% of the nominal weapon damage. The adjacent tiles receive "just" the nominal value of weapon damage, but the direction of attack against these adjacent tiles, is now coming from the central tile, where the primary hit has landed. Therefore, dealing blast damage is now split between two steps. The first step is the direct attack, coming from the original attacker against the target of choice. The second step, is the attack coming from the primary target tile, simultaneously against the four tiles adjacent to it. This certainly affects the Space Marines, due to their rotary dependent armor bonus or lack of it, allowing for better result in damage infliction. 'Blast' damage specific to the second step of the attack, does not differentiate between friend or foe, affecting both alike.

(3 edits)

Alright, it took me some perhaps one hundred edits and a post broken down between six parts, to present my game related ideas for your review. Enough is enough. Breaktime. Post link HERE.

EDIT:

Instead of having the faces of units at the left of the display, perhaps it would be better to have symbols of the classes they belong to, beginning with a Captain, then the Troopers, then the Medics, then the Gunners, by the order of default AP amount. The player could employ perhaps up to nine units in the squad. Furthermore, each unit-class sign would be associated with a name, given to the Marine for better particular recognition. Beyond that, the sign would be accompanied by a number, pressing of which - normally, on a keyboard - should instantly switch to that unit. There could also probably be an information about both the current and the total HP and AP of a unit.