PDA

View Full Version : Matter of Time - Single-Player and Multi-Player Map (First Map)



Argonil
July 3rd, 2020, 03:36
Matter of Time

2046

Difficulty Rating: Medium-Hard

Matter of Time is a fun sandbox map that reacts to the actions of each player. You will learn how to train and manage your creatures competitively as you try to beat this map, since the map is about training a strong army faster than the opponent with the limited resources that are available to you. You start with 12 creatures and your creature cap is 70, but you only have 2 gem faces to pay for such a large army, so you'll quickly wish you had more gold. The only path to the enemy Keeper is through a symmetric hero dungeon with 4 gem faces in the middle, where each room may or may not contain upgrades to help you conquer your opponent on the other side. Each room contains tougher enemies than the last, and is sealed off by a block of gold which can be seen by both players on the map, allowing you to see how much time you have before the other player reaches the 4 gem faces in the middle and gains the upper hand.

Nearly all creatures and heroes can be attracted through the portal, although only 3 Thieves and 1 Dragon exist in the creature pool, so you'll have to rely mainly on Demon Spawns to get Dragons, unless one of you kills the other Dragons on the map. 1 of each creature can be attracted without having the room requirements for it, giving you some time to construct rooms like the Barracks without losing out on a potential Orc. In the beginning, you'll only be able to attract 4 extra creatures each, since the 255 creature cap on the map has then been reached, but slots will be freed up as creatures on the map are slain. Every time someone clears a room, both players grow stronger. This is used intentionally as a balancing mechanic, and you should always keep it in mind. If your creature dies or you throw a weak one in the portal, you might not be the one who gets a new creature to replace it, so every creature you save from dying in combat matters in the long run. Your skill matters from start to finish.

I would like to hear your feedback as this is my first map. I advise against peeking in the map editor or script until you've played it, some things are not meant to be seen before the first playthrough. The map also has a secret. You'll get widely different creatures each match, allowing for some replayability in single-player. I've never played multi-player, but I expect the multi-player version (map 246) to work as intended.

Requires KeeperFX Unofficial v0.4.8 or newer. Enjoy.

2050

dayokay
July 3rd, 2020, 19:50
I played the single player today. An extract from the log file:

Error: script_scan_line(line 3): Invalid command, 'SCRIPT' (lev ver 0)
Script(line 7): script_add_command: Level files version 1.
Error: script_scan_line(line 42): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 68): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 91): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 99): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 109): Invalid command, 'PLAYER' (lev ver 1)
Sync: Optional file "map00245.flg" doesn't exist or is too small.
Sync: Created menu ID 1 at slot 0, pos (0,0) size (219,625)
Sync: Created menu ID 2 at slot 1, pos (0,0) size (219,625)
Error: script_scan_line(line 3): Invalid command, 'SCRIPT' (lev ver 1)
Error: script_scan_line(line 42): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 68): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 91): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 99): Invalid command, 'PLAYER' (lev ver 1)
Error: script_scan_line(line 109): Invalid command, 'PLAYER' (lev ver 1)
load_script: Used script resources: 0/16 tunneller triggers, 0/48 party triggers, 1/64 script values, 4/48 IF conditions, 0/16 party definitions

dayokay
July 3rd, 2020, 20:07
Oh, it's OK - just a few missing 'REM' statements is all - I don't think there's a problem.

I nearly ran out of money, but recovered pretty quickly. I only made gas traps and one door type until I claimed the hero workshop, when I finally made a magic door. As I can't build a workshop, it gets full before the second trap becomes available. I only played to about half way through the middle section, so maybe there's more workshops to be found. My opponent doesn't seem to be digging towards me? As he has gems I don't suppose he needs to.

dayo

Argonil
July 3rd, 2020, 20:52
Oh, it's OK - just a few missing 'REM' statements is all - I don't think there's a problem.

I nearly ran out of money, but recovered pretty quickly. I only made gas traps and one door type until I claimed the hero workshop, when I finally made a magic door. As I can't build a workshop, it gets full before the second trap becomes available. I only played to about half way through the middle section, so maybe there's more workshops to be found. My opponent doesn't seem to be digging towards me? As he has gems I don't suppose he needs to.

dayo

Ah, I thought about whether REM statements were necessary, but I was looking at the scripts for the original levels to figure out how it all works, and they don't use REM statements in those places. But I should probably add them anyway to remove the errors from the log.

Iron doors require 26 tiles of workshop, and magic doors and word of power traps require 36 tiles. You only start with 25 tiles and you can't build more workshops. So the other doors and trap become available when you claim another workshop. The workshop is a great place to earn money by selling the constructs, so limiting your workshop capacity also limits how much gold you can generate. If your workshop is too full, you should sell all the constructs you have in stock.

The computer is constantly selling doors and traps because his income is too low. He can't build bridges until the 5th payday because otherwise he'd rush all the rooms to get the gold tiles and end up killing himself. Whether he rushes once bridges become available to him or not depends on how expensive the army he's acquired is to train. So his pacing will differ each time you play it. Sometimes he rushes, sometimes he only takes a couple of rooms, and sometimes he takes a room or two each payday. Admittedly, the latter is often preferred, but I don't think much can be done to control his behavior further. He will often claim the entire hero dungeon if you leave the game running after killing the initial creatures. Initially, you can only attract 4 extra creatures each as the creature cap on the map has been reached. This makes the beginning a little harder than it would've otherwise been and discourages you from throwing weak creatures back into the portal. If you don't kill creatures then you'll delay the growth of both your armies, which affects his training expenses and incentive to dig into more rooms. It's all a matter of time, heh.

YourMaster
July 3rd, 2020, 21:42
All text is interpreted as code, unless you say it's a remark by putting REM in front. And even the original levels had remarks with REM in front.

Argonil
July 3rd, 2020, 23:18
All text is interpreted as code, unless you say it's a remark by putting REM in front. And even the original levels had remarks with REM in front.

To be specific, I used the Multi Example map for reference, but I see the Single Example map does use REM in those same places. No idea why it isn't there in the multi example, you would think they copy-pasted those parts. Oh well, I've fixed it and reuploaded it now.

Argonil
July 5th, 2020, 07:10
I want to try raising the creature cap for each player to 80, to see if that makes it harder and forces the AI to dig into all the rooms in every match. To do that, I want to set a limit of 40 on how many imps each player can create because of the total creature limit of 255. But it won't work. At first I made the spell unavailable if you have 40 or more imps, and that did make it unavailable once I hit 40 imps, but it didn't reenable the spell if I went back down to 39, even though the Create Imp spellbook was in my library. So I put in another check that enables it again if you have between 13 and 39 imps, but now it doesn't get disabled once I hit 40 imps anymore. Why not? I tried using both the IF() and IF_CONTROLS() commands to no avail.

IF(​PLAYER0,​TOTAL_DIGGERS >= 40​)
MAGIC_AVAILABLE(PLAYER0, POWER_IMP, 0, 0)
ENDIF

IF(PLAYER0,​TOTAL_DIGGERS >= 13)
IF(​PLAYER0,​TOTAL_DIGGERS <= 39)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP, 1, 1)
ENDIF
ENDIF

YourMaster
July 5th, 2020, 08:50
The thing is, each script command will fire only once. Unless you put a 'NEXT_COMMAND_REUSABLE' in front.



IF(​PLAYER0,​TOTAL_DIGGERS >= 40​)
NEXT_COMMAND_REUSABLE
MAGIC_AVAILABLE(PLAYER0, POWER_IMP, 0, 0)
ENDIF

dayokay
July 5th, 2020, 12:50
Don't you think there are already too many creatures? And too many types perhaps? I'm sure there are other ways to force the AI into attacking the hero dungeon?



I want to try raising the creature cap for each player to 80, to see if that makes it harder and forces the AI to dig into all the rooms in every match. To do that, I want to set a limit of 40 on how many imps each player can create because of the total creature limit of 255. But it won't work. At first I made the spell unavailable if you have 40 or more imps, and that did make it unavailable once I hit 40 imps, but it didn't reenable the spell if I went back down to 39, even though the Create Imp spellbook was in my library. So I put in another check that enables it again if you have between 13 and 39 imps, but now it doesn't get disabled once I hit 40 imps anymore. Why not? I tried using both the IF() and IF_CONTROLS() commands to no avail.

IF(​PLAYER0,​TOTAL_DIGGERS >= 40​)
MAGIC_AVAILABLE(PLAYER0, POWER_IMP, 0, 0)
ENDIF

IF(PLAYER0,​TOTAL_DIGGERS >= 13)
IF(​PLAYER0,​TOTAL_DIGGERS <= 39)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP, 1, 1)
ENDIF
ENDIF

Argonil
July 6th, 2020, 01:54
Don't you think there are already too many creatures? And too many types perhaps? I'm sure there are other ways to force the AI into attacking the hero dungeon?

The map is about being better than the opponent at training an army. If you only had 30 creatures then there wouldn't be much point to it. With 80 creatures you probably won't even reach the cap before you engage each other in combat, which means your skill has mattered. If both had time to train all creatures to level 10 then it doesn't matter if one was faster than the other.

I don't want to program the AI to always attack the hero dungeon at certain times, because that would make it too predictable. It's much better if the computer just does it whenever it finds it necessary from its training expenses. With the creature cap at 80, it will surely find it necessary eventually. I actually just played a match with the creature cap at 80, and the AI went for the gems faster than me, before we even hit 60 creatures. I like not knowing when it's going to start or how fast it's gonna go. The increased cap also gives the AI more time to attract late-game creatures like dragons or the horned reapers that it can attract through the portal whenever one dies on the map.

Argonil
July 6th, 2020, 02:29
The thing is, each script command will fire only once. Unless you put a 'NEXT_COMMAND_REUSABLE' in front.

Almost got it working now. There were no problems when I tested the script below in 20 minute gameplay sessions (except for the expected script delay), but when I played a whole match just now, after completing the level, my Create Imp spell didn't get disabled when I went above 40 imps, and my Quick Info message didn't get displayed either this time. Going below the limit and back above did not help. The only differences from my initial testing is that this happened after I had stolen the enemy library with another Create Imp spellbook while having 15+ imps. I also went below the 15 imps mark after having reached it at one point. I don't know how that could bug the script, can you spot it?



IF(PLAYER0,​TOTAL_DIGGERS >= 15)
IF(​PLAYER0,​TOTAL_DIGGERS <= 39)
NEXT_COMMAND_REUSABLE
MAGIC_AVAILABLE(PLAYER0,POWER_IMP, 1, 1)
ENDIF
ENDIF

IF(PLAYER1,​TOTAL_DIGGERS >= 15)
IF(​PLAYER1,​TOTAL_DIGGERS <= 39)
NEXT_COMMAND_REUSABLE
MAGIC_AVAILABLE(PLAYER1,POWER_IMP, 1, 1)
ENDIF
ENDIF

IF(​PLAYER0,​TOTAL_DIGGERS >= 40)
NEXT_COMMAND_REUSABLE
MAGIC_AVAILABLE(PLAYER0, POWER_IMP, 0, 0)
QUICK_INFORMATION(​1,​"A Keeper has reached the maximum number of imps allowed on this map. Do not attempt to glitch above the limit of 40.", ALL_PLAYERS)
ENDIF

IF(​PLAYER1,​TOTAL_DIGGERS >= 40)
NEXT_COMMAND_REUSABLE
MAGIC_AVAILABLE(PLAYER1, POWER_IMP, 0, 0)
QUICK_INFORMATION(​2,​"A Keeper has reached the maximum number of imps allowed on this map. Do not attempt to glitch above the limit of 40.", ALL_PLAYERS)
ENDIF

YourMaster
July 6th, 2020, 12:08
When you complete a level, scripts stop working. Unless you use the new script command that says scripts should continue after victory:
https://github.com/Loobinex/keeperfx-unofficial/wiki/New-and-Modified-Level-Script-Commands#run_after_victory

Argonil
July 8th, 2020, 01:16
When you complete a level, scripts stop working. Unless you use the new script command that says scripts should continue after victory:
https://github.com/Loobinex/keeperfx-unofficial/wiki/New-and-Modified-Level-Script-Commands#run_after_victory

Ah, thank you! That's great actually. One more thing, I got the idea of placing a secret level 1 Avatar in an inaccessible torture chamber, giving you a chance to steal him if you get to a Steal Hero special before he becomes a ghost. But unfortunately, the Steal Hero special doesn't work on Avatars or Knights. I tried modifying the Avatar's file and removed the "LORD" keyword, I also tried setting his scavenging value to 1, even tried changing his name, but the Steal Hero special still won't work on him. So I guess I'd need to edit the Special itself, but I can't find it anywhere, can't even find which data archive the dungeon specials are supposedly packaged into. Can you find them or tell me how to make the Steal Hero special work on the Avatar?

YourMaster
July 8th, 2020, 01:38
You can't make the special work on the avatar without changing the source code of the game. That's all hard coded.

You should think of a way to accomplish this without using the special. You could somehow give the player access to the torture room to get the avatar, or there's script commands to change ownership of either the room or the unit. You can force the avatar through your portal, based on if the player has gotten towards some place and/or if the white avatar is still alive. These are just some examples, the new script commands (https://github.com/Loobinex/keeperfx-unofficial/wiki/New-and-Modified-Level-Script-Commands#keeperfx-unofficial-additions) are quite powerful, you should be able to think of some solution that works for whatever you want to accomplish.

Argonil
July 8th, 2020, 02:50
You can't make the special work on the avatar without changing the source code of the game. That's all hard coded.

You should think of a way to accomplish this without using the special. You could somehow give the player access to the torture room to get the avatar, or there's script commands to change ownership of either the room or the unit. You can force the avatar through your portal, based on if the player has gotten towards some place and/or if the white avatar is still alive. These are just some examples, the new script commands (https://github.com/Loobinex/keeperfx-unofficial/wiki/New-and-Modified-Level-Script-Commands#keeperfx-unofficial-additions) are quite powerful, you should be able to think of some solution that works for whatever you want to accomplish.

Unfortunately the Steal Hero special was perfect for this, as I want it to be based on luck. The commands can't set the "grow up" property on creatures right? Because otherwise I'm thinking I could put a Fly in the torture chamber and make it grow up into an Avatar, since flies otherwise aren't obtainable on the map. Would also make it extra secret! If that property can't be set directly, is there a way to manually script it? Replacing a fly that hits level 10 with a level 1 Avatar in the same spot?

Argonil
July 8th, 2020, 05:25
Woo, I found a solution and it's better than I hoped! He announces his presence like a Lord of the Land this way. But there's just one problem: PLAYER_NEUTRAL doesn't work for me. This is the script I was trying to use:

ADD_CREATURE_TO_LEVEL(PLAYER_NEUTRAL,​AVATAR,​ PLAYER0,​1,​1,2000)

I want it to be neutral even though it spawns on the player's dungeon heart, because if you convert a neutral then it gives you the notification that says you got a new type of creature. Here's my log:

Error: script_command_param_to_number(line 129): Invalid player name, 'PLAYER_NEUTRAL'
Error: script_recognize_params(line 129): Parameter 1 of command "ADD_CREATURE_TO_LEVEL", type P, has unexpected value; discarding command

My log also says I'm using KeeperFX 0.4.7u.


Edit: It seems it's all the new commands from the Unofficial version that don't work for me. SET_GAME_RULE(GhostConvertChance,0) doesn't work either, it doesn't recognize the command. I don't have to put LEVEL_VERSION(2) for those commands, right? The reference page only mentions level version 1. I overwrote my KeeperFX version with the Unofficial version, and the log says I'm using the unofficial version, so it should work...

YourMaster
July 8th, 2020, 08:34
Well, sorry. Those commands are new for the work-in-progress alpha builds, and will be released with the future 0.4.8 version. They work for you if you update to the latest alpha (https://keeperklan.com/threads/6928-KeeperFX-Unofficial-continued-development-alpha-builds).

Argonil
July 9th, 2020, 02:28
Well, sorry. Those commands are new for the work-in-progress alpha builds, and will be released with the future 0.4.8 version. They work for you if you update to the latest alpha (https://keeperklan.com/threads/6928-KeeperFX-Unofficial-continued-development-alpha-builds).

Wow, so if I had tried to make my map just a few months ago, it wouldn't have been possible. But now it's done, I've made a lot of changes and reuploaded it, I'm even a bit impressed by how I could make things work thanks to the improved scripting. I never expected to find all this 'ongoing support' for my favorite game from childhood. Thank you very much!

YourMaster
July 9th, 2020, 08:49
You're welcome. I'm happy too that I managed to add some script commands, they allow for a lot more complicated mapmaking.

Keep in mind you force a lot of units now in your script. For example where you've got:


CREATURE_AVAILABLE( ALL_PLAYERS, DARK_MISTRESS, 1, 1)


I suspect you simply want:


CREATURE_AVAILABLE( ALL_PLAYERS, DARK_MISTRESS, 1, 0)

This way you only get a mistress when you have a torture room, like normal.

Argonil
July 9th, 2020, 15:27
Well, if I don't force 1 of each creature, both players will disproportionately attract the creatures that are available to them in the beginning, and initially you can only attract 4 extra creatures (if you turtle). If I force 1 of each, those 4 extra creatures could be anything. It shouldn't be a rush to construct the torture chamber and barracks for a chance to get an early mistress or orc, only if you want more of them. I want this sandboxy map to have as much variation as possible from match to match. It also reduces the chance that a keeper gets the 1 dragon in the pool as one of his first 4 creatures, so you should consider yourself extremely lucky if you get a dragon early. It'll prove to be a very helpful unit in the beginning, albeit expensive.

YourMaster
July 9th, 2020, 17:00
You could gradually increase the creature limit as the level progresses. Simply by time, by available rooms, or by accomplishments.

Argonil
July 9th, 2020, 17:58
You could gradually increase the creature limit as the level progresses. Simply by time, by available rooms, or by accomplishments.

That wouldn't have the same effect. This way, losing a creature is more costly as there's no way you can catch up to the enemy until he reaches the cap of 80, and by then you have probably already engaged him in combat. It means saving your creatures from dying in combat pays off in the end. The only issue is that creatures can't grow up while the limit is reached, so they'll be stuck at 100% exp until something dies if you're at the limit at that point in time, but that's nothing gamebreaking, you're below the limit most of the time and you can always try to clear another room.

Argonil
July 10th, 2020, 02:12
Uploaded an optimization update where I further reduced the amount of 'things' on the map, such as reducing the drip effect in the water area and removing unnecessary torches. Should be enough to ensure you never hit the limit, unless you fill out the map with training room or something crazy. I think the map is pretty polished and done now.

Argonil
July 13th, 2020, 03:14
I think the map is pretty polished and done now.

I should know better than to say such a thing... projects are never truly done! :D
I'm almost finished with a major update to the map. There's just a few kinks that I want to straighten out. First of all, I've set the gold digging behaviors for the AI, allowing it to get going sooner:


IF(PLAYER1,GAME_TURN > 30000)
ROOM_AVAILABLE( PLAYER1, BRIDGE, 1, 1)
SET_COMPUTER_PROCESS(​ PLAYER1,​"DIG TO CLOSE GOLD",10,0,5000,1,84)
SET_COMPUTER_PROCESS(​ PLAYER1,​"DIG TO GOLD",5,0,​5000,1,84)
SET_COMPUTER_PROCESS(​ PLAYER1,​"DIG TO GREEDY GOLD",0,0,5000,1,84)
SET_COMPUTER_PROCESS(​ PLAYER1,​"DIG TO GREEDY GOLD2",-5,0,5000,1,84)
ENDIF

I tried a lot of different Priorities without really knowing what I was doing, and these settings turned out to work the best. But the AI still stops digging for gold if it gets rich, it seems. How do I make it keep going? I presume I'd have to set "CHECK MONEY" with SET_COMPUTER_CHECKS(), but how do the data parameters work?

Second, I wanted to remove the "dry ice" effects in the graveyards to reduce the amount of 'things' on the map, but the smoke effects come right back once your imps claim the room. Is there a way to permanently remove them? Are there other good ways to reduce the amount of objects on the map without reducing the creature cap? So far I've removed portal smoke, some workshop objects and other misc. stuff.

I also can't find the file that lets KeeperFX know which maps are multi-player maps. Where do I add my multi-player version to the multi-player map list?

Cheers to anyone who can answer my questions. YourMaster.

Argonil
July 15th, 2020, 22:53
I, uh, still need help. Maybe I should've posted this in the mapmaking forum as a beta before posting it here, sorry. It's almost out of beta though, I've fixed a lot of issues in the update I'm waiting to upload.

YourMaster
July 16th, 2020, 01:16
I just forgot to answer you. The checks/events are difficult to work with, can't say I fully get them myself. But, look in keepcompp.cfg and you'll find a bit of documentation.

[check1]
Name = CHECK MONEY
Mnemonic = Money1
Values = 0 100
; Function which reacts for player having low money, by increasing priority of gold digging,
; and creating processes of selling traps and doors, moving creatures with expensive jobs to lair
; and moving unowned gold to treasury
Functions = check_for_money
; Low gold and critical gold value; if after next payday, the planned amount of gold left is low,
; then actions are taken to get more gold; if remainig value is lower than critical, aggressive actions are taken
Params = 500 -1000 0

Removing the dry ice doesn't really work no, but the most important contributors of things are fighting units and rooms. Make sure there aren't too many rooms in the level and you should be fine. When you have 4 keepers with filled treasure rooms, lots of chickens, and countless workshops filled with traps, yeah, you'll hit the thing limit.

Multiplayer levels can be defined by making them a .lof file. See for example levels\map00055.lof, open with notepad and everything will make sense.

Argonil
July 16th, 2020, 05:23
I just forgot to answer you. The checks/events are difficult to work with, can't say I fully get them myself. But, look in keepcompp.cfg and you'll find a bit of documentation.


[check1]
Name = CHECK MONEY
Mnemonic = Money1
Values = 0 100
; Function which reacts for player having low money, by increasing priority of gold digging,
; and creating processes of selling traps and doors, moving creatures with expensive jobs to lair
; and moving unowned gold to treasury
Functions = check_for_money
; Low gold and critical gold value; if after next payday, the planned amount of gold left is low,
; then actions are taken to get more gold; if remainig value is lower than critical, aggressive actions are taken
Params = 500 -1000 0

Removing the dry ice doesn't really work no, but the most important contributors of things are fighting units and rooms. Make sure there aren't too many rooms in the level and you should be fine. When you have 4 keepers with filled treasure rooms, lots of chickens, and countless workshops filled with traps, yeah, you'll hit the thing limit.

Multiplayer levels can be defined by making them a .lof file. See for example levels\map00055.lof, open with notepad and everything will make sense.

I tried fiddling with CHECK MONEY, but it didn't really work out. Then I got a much better idea:


IF(PLAYER1,MONEY > 40000)
NEXT_COMMAND_REUSABLE
ADD_GOLD_TO_PLAYER(PLAYER1,-10000)
ENDIF

This will keep the AI strapped enough for gold to keep digging, and it makes sure that the AI never takes up a ton of thing slots by hoarding gold. Or so I thought. Unfortunately I hadn't realised that since it only adds off-map gold, it can only remove starting gold and the gold you get from selling rooms, doors and traps. It can't remove gold that's in the treasury. So, if it's possible, I'd like to request a parameter that toggles whether it uses the gold in the treasury or not. It's fine if you can only get it to work for detracting gold (e.g. by triggering a training cost or the payday mechanic or something), being able to clean up gold in treasuries is the important part.

YourMaster
July 16th, 2020, 08:31
I'll put it on the list.

Argonil
July 17th, 2020, 07:01
I'll put it on the list.

Thank you. For the meantime, I've uploaded the new version. It has important fixes and plays much better:


Rebalanced several rooms with new creatures.
Reduced the player creature cap to 70, which seems to be a sweet spot for this map.
Reduced the amount of thing slots in use. (Although the cap can still be reached during combat if a player hoards gold)
The inner rooms of the hero dungeon now have walls that are 2 blocks thick to offer better protection against break-ins.
Gave the enemy AI a pre-built Temple so that it doesn't construct one with weird shapes that creatures get stuck and starve to death in.
The enemy AI should now progress through the hero dungeon every time, and it will start earlier than before.
The multi-player version is now recognized by KeeperFX as a multi-player map.

dayokay
July 17th, 2020, 18:22
Probably obvious, but in case it isn't, for playtesting I use the KFX reveal map script, so I can watch how the AI is behaving

LEVEL_VERSION(1)

REVEAL_MAP_RECT(PLAYER0,127,127,254,254)

dayo

Argonil
August 2nd, 2020, 05:03
Uploaded a new version:


Wrote a starting objective which explains some of the map's game rules.
Added an action point to the gems in the middle, which makes the creature generation speed a lot faster when triggered by either player. This allows each Keeper to recover faster after the eventual showdown.
Made it so that if you claim a temple, torture chamber or barracks, you unlock the ability to build them if you haven't researched it yet.

YourMaster
August 2nd, 2020, 20:20
I found some more errors in your script. The SET_COMPUTER_PROCESS commands you have do not all work, see keeperfx.log for which ones don't. It's because not all computer players have all processes, so you can't modify that process as it does not exist.

Argonil
August 2nd, 2020, 22:50
Thank you. I've fixed it and reuploaded it. Also made a few balance changes.

Argonil
August 3rd, 2020, 06:32
I think the map is about as good as it gets now, just played it again and had a good match. I'm curious to hear general feedback from others on how it plays, how difficult it is and whether others are able to beat it too.

Treebeard
October 25th, 2020, 23:04
Hi I played through your map vs the AI and thought it was a decent map. I like the design choice of having gold seperate each room in the centre to see how your opponent is doing - I imagine that would be pretty cool playing vs a human opponent.

Hope to see more maps from you!

0etelaer
June 8th, 2021, 02:20
Second, I wanted to remove the "dry ice" effects in the graveyards to reduce the amount of 'things' on the map, but the smoke effects come right back once your imps claim the room. Is there a way to permanently remove them? Are there other good ways to reduce the amount of objects on the map without reducing the creature cap? So far I've removed portal smoke, some workshop objects and other misc. stuff.

I never tested this, but it seems to me, that you can remove the dry ice effect from a graveyard, by making a graveyard only one tile wide, because the effect will only occur on a 3x3 graveyard.
You can place lava, water or rock between the graveyard tiles, to prevent any AI from building tiles that would make it 3x3.