It starts...

Housing for low income families.

Moderators: nuero, Ando

gingermuffins
Posts: 371
Joined: Fri Sep 01, 2006 1:30 am

Post by gingermuffins »

I like how the boulder and the dove alert the enemy, and how the guard can repel attacks if he is ready for you. Little traps like that add personality.

the @range objects seem to get in the way of the player's bullets and also push him around, though.
it takes health (and if it cannot take 10 health, it takes 5 as all fighting is damage is done in multiples of 5).
just key in "#take health 10 endgame" and it will kill the player if they have less than 10 hp.
User avatar
Kjorteo
^o.O^
Posts: 432
Joined: Sat Feb 28, 2004 10:59 am
Location: Kjorteoville or something
Contact:

Post by Kjorteo »

My method is a little more strict, but it gets around the ?health cheat without a whole lot of extra code.

Code: Select all

#take health 10 dead
(whatever post-ouch code goes here,
make sure to #restart or something)
:dead
#endgame
/i#dead
Don't do this without the /i, or it will lag the game even worse than the #rawr room in the new ChickenWire.
"You're alive," said the maker, and smiled at the aardvark.

<Kjorteo> "yiff"
<gbelo> Wanna yiff.
<Kjorteo> yes
<gbelo> No no no.
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

the @range objects seem to get in the way of the player's bullets and also push him around, though.
Bah, I noticed that too. I think I uploaded the previous first-time engine. I'll update it real quick...

The @range objects are supposed to die or disappear as long as the guard is in alert mode as the only way to get the guard out of alert is to kill him or knock him out (can't knock him out though cause his corresponding range objects are gone thus when he wakes up he wouldn't have any range). They're built to only move into the player and when it contacts move away without 'pushing' the player. I haven't had too much trouble with them 'pushing' me as the level design for the engine makes me have to attack the guard vertically. This means no moving up, left, right, or down into the range objects. But I suppose someone could have a problem where the range object gets in the way for a second. If it doesn't #die soon after touching you (thereby saying you're in the sight of the guard) then yeah, I uploaded too fast

I think my most hated problem with the range objects is just that I can't use textures in the guard's patrol route. Things like blood stains, water puddles, little patches of dirt or dead grass... I can put those textures in the levels but not in the path of the range objects (or at least not often) because you could see SOME kind of invisible object moving over them. The range object has to be given a pattern like that of the floor and a matching color... Since it has no way of detecting different patterns I can't make it change it's own char to fit that of any upcoming textures, though I can make it change it's color.

Bah, the range objects for such a tiny level is a little tough at first I'll admit. I could have increased the size of the tiny 'facility' in the engine somewhat or at least given the ranges a little bit more programming... Sending the ranges through silver fakes so they're not really 'in the way' at first being behind a wall (solid fake to blend in with said wall) and when the range catches you and sets the guard to high alert it goes back up, #puts a shark on the grey fake and changes that shark into a normal before the range object itself dies. That might be helpful especially for the smaller levels.

Anyways, I'll get to work on making a test drive for the above idea. To add to it, I'd like to work on several other 'distractions' you can use to get the guard's attention. And I'll go back over the guard's code and see what things I may or may not have missed in the first version. The times that you can take advantage of a guard's letting down his defenses should be somewhere as he's going to a distraction (such as walking towards the birds or the rock, which I'll edit to work similarly as the wall, which will also be included next version). While he's walking towards the distraction that's your chance to attack. If he gets there and calls through radio, he goes to full caution mode. Have to wait that out or shoot him.

I'll be working on those ideas I said earlier as well as trying to run a fix over some of the problems with the ranges you noticed. In the higher difficulty levels, the range objects move much faster than just cycle 1. If it comes down to it and they continue to get in the way because they're just too darn slow, I'll give them a faster coding and try it out.

Okay, noticed a small problem that I didn't fix because I didn't change the programming during the update. Most of the CQC moves (that's close quarters combat, or throwing the guard and whatnot) would knock the guard out and when he came conscious again, he would run the hiding program, which is for the rock. Therefore he would move at the same predestined position near the rock, but depending on where he's knocked out at it probably wouldn't make it back to his patrol route. So I've fixed that by making it so that if you knock him out during his patrol (only way as after alerting him you absolutely have to kill him) then when he awakens he calls for all units to be on alert putting him in full caution mode again. Once he resumes patrols, a new part to the code was added... Using the rock as sort of a reference (there will be temporary invisible walls and the like for the other levels) the guard moves back into his normal patrol route.

Many of these objects I'm coding are meant to be temporary during gameplay... Range objects die after you alert the guard and the bullet dies with the guard. I'll keep putting up updates as they come along in a second post (but I don't normally post immediately after another, so bear with me, it's only this time and never again!)
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
Nixon
Ordinery
Posts: 48
Joined: Sat Dec 16, 2006 10:41 am

Post by Nixon »

Hi,
I have tried the stealth idea before, though never used any of the ideas in games. I have used a lighting engine, where you can hide in the dark so as not to be detected, though it didn't work so well. I have also used objects in the wall to see if the player was close to the enemy in an alley, but that used to many objects. My last idea was to track the x and y co-ordinates of the player. I think this could work but could be difficult to make a useful engine around. I can post these up if you like.

If you like AI's check these games I made out

http://zzt.org/zgames/r/Rescue.zip
The AI is able to hide behind things, same AI throughout whole game.

http://zzt.org/zgames/u/UAD.zip
Randomised body shots
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

STAIN Engine Updates #1

Post by Nova »

Here's the current updates to my engine. They'll have some profound effect in gameplay.

1) Tappable walls, like the boulder which can attract attention from the guard. Both wall edges work (due to a code I added using the disturbance object for the birds moving in to replace the wall the bird places there.

2) CQC level 3 - Swinging
Bah, when the game comes into production, I'll probably have a complete CQC level list and swinging will be on one of the much higher levels. But at the moment, it's on level 3. Generally, your CQC level is displayed by your gems (in the game it'll be displayed by your score) Use the ?+swing code to get this ability and the accompanying CQC level.

Touch the guard to prepare for a swing and then move left or right. The guard will try to align with you then and whether he aligns to the west or east with you, you will toss him. If he hits a wall, it's an automatic death for the guard but otherwise, he'll push himself back up and continue to shoot at you. It takes a lot of practice in small areas (especially the tiny level in the engine). The bullet object stops your advances many times.

3) Bullet dodging
Okay, not like the Matrix bullet time or anything like that. When the bullet is invisible and not firing, touching it will push it out of the way. It checks if it's being blocked in any direction, south first, and if not, it moves that way. In other levels it will check a different direction first, it all depends on how the level was designed, but it doesn't require any big changes beyond the directions when needed. So if you're trying to get a way from a pursuing guard and run into an invisible object quickly move that way again. It shouldn't be as much a hinder, and it moves quicker (cycle 1 while moving after being touched, going back to normal cycle and starting the fire sequence again).

4) Pipe Smokescreen
Shoot the pipe (which happens to be built by a weak metal so even a dart can somehow penetrate it) and it breaks off, sending a load of smoke into the area. The guard will be distracted by it as well and run over to what's left of the pipe. Since he walked into the smokescreen, you have the chance to take him down... Some guards will be smarter than to walk in the smokescreen. Either way, guards will be somewhat distracted and sooner or later the 'stupid' guards that walk into the smoke will clean up the mess (the pipe object goes invisible and washes up after itself, becoming a pipe shard once more, zapping the shot and touch programs for good measure.

5) Falling Crates!
Haha, personally, this if my favorite. It's a little easier to use this tactic on the tiny engine 'level'. Disturb the birds first, then wait for him to go back into patrol (part of the patrol is glitched a little that he doesn't move to the right after being disturbed while facing north)... Once he's back in patrol, tap on the wall that was left by the doves. As soon as he gets around the corner, touch the top-most crate (in the game it can be either top or bottom) and all the crates will come tumbling, burying him for eternity!

6) Special CQC Wall Move
Tap the wall to get the guard's attention... Then as he rounds the corner, quickly touch the wall again to swing out and hit the guard, knocking him out (I think it knocks him out... If it does then I should have two programs for when he gets back up...) In the game, this will do damage based on your CQC level and 'current energy' which is displayed by Gems.

Game plans:
In the game, torches will be the 'free ammo', the ammo that's in the magazine but not ready to be fired. Each weapon has it's own rate of fire... In most shooters on ZZT you can just hold down SPACE or SHIFT DIRECTION to shoot. But here, you have to wait for the gun to cool for a moment, then it will reload via torch. I may use a player clone for this idea to work but if anything else, I'm going to experiment with non-player clone types beforehand... Less space used, more space available for game-based things like cutscenes and all the various levels.

I'm still interested in hearing everyone's thoughts on the idea so far! I promise this engine will be made into a game (programming isn't so boring to me... Weird I agree...)

Updates #2

1) Fixed Range Objects
They were moving too far out from the walls, so I set invisible walls behind them and gave them #if blocked programming to let them die in piece and still change those fake walls into solids.

2) Reload
In the stealth engine, the guard now reloads. This will be a crucial moment in the game to take advantage of, and I can't believe I left it out of the original engine. As he's reloading, he's DEFENSELESS so quickly take him out with a melee move or shoot him (while the guard is reloading, he's in alert mode, thus if you get a successful shot in, the guard will be hit by a poison dart rather than a sleeping dart).

3) Reload (Player)
I added this to the 'Silencer' engine. Using torches as bullets in your current clip, it automatically reloads when you no longer have ammunition in the fire position in the gun. Simply put, it's an 'infinite bullet' engine that, after shooting off a bullet, takes time to reload (yeah I know... clips have more than one bullet in them... Think of it as a bolt-action pistol o.o;;), and then takes a bullet from your clip (a torch) and adds it to your active bullets (ammo).

4) Silencer
You have a weapon in this one that can actually KILL. During gameplay on levels you are given this pistol weapon, you can switch the silencer on/off by shooting a hiding spot (in this case, the left wall corner). The general power of the pistol is based off your CQC level (in score) but not in this test engine. The pistol that's in this engine will not be in the original game cause it one-kills. There's a simple icon in the top left corner of a pistol with a white silencer attached to it (because ZZT doesn't recognize STK colors). With the silencer on, the power of the pistol is decreased (and in game cannot one-hit kill) but will not alert backup guards. Without the silencer, the general power of the pistol is shown (and if you're carrying a shotgun or some other louder-and-more-powerful-than-hell weapon) and the guard will fly back spewing blood. If he hits a wall, like with the 'swing' option, blood will splat on the wall (it'll be a red normal so you can't walk through it).

Still working on it. Further updates will be posted seperately... This post is getting big

:agh:

Bah, okay, one more update on this: I went in and added the Energy Engine. It's in the far beginning Alpha stage, while my most developed engine is the stealth engine (which goes a little deeper into the Alpha stage). I'll continue working on the engine, but for almost four-five days I'll be gone elsewhere on a business trip. I'll see if I can sneak in a few codes every now and then when I get the chance. (Not during work of course...)
Last edited by Nova on Sat Jun 23, 2007 7:44 pm, edited 4 times in total.
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

Okay, the updated version of the engine is up. Not totally complete yet, but I want everyone to see what I've done so far and comment!
STAIN Alpha Engine Update
Nixon wrote:Hi,
I have tried the stealth idea before, though never used any of the ideas in games. I have used a lighting engine, where you can hide in the dark so as not to be detected, though it didn't work so well. I have also used objects in the wall to see if the player was close to the enemy in an alley, but that used to many objects. My last idea was to track the x and y co-ordinates of the player. I think this could work but could be difficult to make a useful engine around. I can post these up if you like.

If you like AI's check these games I made out

http://zzt.org/zgames/r/Rescue.zip
The AI is able to hide behind things, same AI throughout whole game.

http://zzt.org/zgames/u/UAD.zip
Randomised body shots

Wow, those are some good engines you used in those games. Especially the random body shots (an idea I had earlier but never utilized).

The X-Y coordinates thingy would work but it would be difficult to set up where one coordinate is in coralation to the target or other object checking. Most of the space in my engine may come from the range objects, but with all the extra stuff I'm adding that will be present in parts of the game, it's only a little over half of the programming.

Obviously STAIN is going to turn out to be a big file and I might have to split it into several chapters, updating them with whatever I can when I release a new one. The shadow idea I've seen utilized somewhere else too, just can't remember exactly where (may have been JDMSonic's thread). I would use this if I didn't add so many other things at once... But maybe in the city ruins levels, you could utilize the shadows of the buildings in tiny alleyways to evade enemy sight and time a sneak attack...

Either way though, STAIN is using quite a few objects (four which were useless in the version I gave for download, so I removed them). I count 20 objects so far in my engine... 9 of that 20 have little to no programming to them (one is a 'caution' object for the gaurd which has about 4 three-line programs, one is a notice which can only be read in the editor, and one is a 'cheat object' added for testing reasons). The boulder is made up of two objects, one is #binded to the original. The crates are a little different as the guard has to check if he's blocked by the crate and not something else after you topple them. The top and bottom crates are only longer program-wise in that they go further out, and the middle crate cannot be touched and runs off a message either the top or bottom crate sends out. The pipe also has a small program of releasing smoke, contacting the guard object about being smokescreened, and it has a clean-up program the guard object activates when being told to return to patrol.

Most objects can be used for different things: rock and wall edges for hiding as well as distracting, crates for smashing as well as hiding behind after they've toppled. Some objects replace flags, thus saving space even further. The guard object is the largest in programming as it has to have multiple reactions from the things going on. However, in the game, all objects will be locked after activating another object (except wall objects because of their double-use to attack a guard coming around the corner). This is to prevent the guard from getting confused and skewing off his patrol route too far.
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
gingermuffins
Posts: 371
Joined: Fri Sep 01, 2006 1:30 am

Post by gingermuffins »

if you're using windows kevedit, you can see your invisible objects at all times in the editor if you make them blinking black on black. You can use ctrl+t to change an object's colour. just saying if you're finding that annoying.
So if you're trying to get a way from a pursuing guard and run into an invisible object quickly move that way again.
you can use

#if contact if not blocked s ?s
#if contact if not blocked e ?e
#if contact if not blocked w ?w
#if contact if not blocked n ?n

and the object will move (if there's space) without the player having to touch it. takes up more space but it's a bit less in the way

(be careful about how many statements you run per cycle. I think after like 10 or 11, commands take more than one cycle to run, even if you only have one /i in place. shouldn't be a problem though)

there's a memory management article written by madtom somewhere around here. if you haven't read it you might find it useful too. one thing it notes is that "send" is redundant, so "#send guard:macarena: is the same as "#guard:macarena". it also notes that you can put commands after strings of directions (/i/i/i/i/i#end) and other silly goodies. It could reduce the filesize a bit if you're having trouble with the board limit later on.

also

the guard enemy and his sensors are pretty big. will STAIN be able to handle multiple guards on one board and other types of enemies?
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

Tuxedo Fagmuffin wrote:if you're using windows kevedit, you can see your invisible objects at all times in the editor if you make them blinking black on black. You can use ctrl+t to change an object's colour. just saying if you're finding that annoying.
Yeah, I already knew that. Used it to count my objects, but otherwise, I pretty much remembered where I put all my objects (I gave the range objects invisible walls to aid in quick identification and blocking them from running off too far).
Tuxedo Fagmuffin wrote:you can use

#if contact if not blocked s ?s
#if contact if not blocked e ?e
#if contact if not blocked w ?w
#if contact if not blocked n ?n

and the object will move (if there's space) without the player having to touch it. takes up more space but it's a bit less in the way

(be careful about how many statements you run per cycle. I think after like 10 or 11, commands take more than one cycle to run, even if you only have one /i in place. shouldn't be a problem though)

there's a memory management article written by madtom somewhere around here. if you haven't read it you might find it useful too. one thing it notes is that "send" is redundant, so "#send guard:macarena: is the same as "#guard:macarena". it also notes that you can put commands after strings of directions (/i/i/i/i/i#end) and other silly goodies. It could reduce the filesize a bit if you're having trouble with the board limit later on.
Alright, those are some useful changes. I'll also look into the article and see what I can change to make things a little smaller. Thanks!
Tuxedo Fagmuffin wrote:the guard enemy and his sensors are pretty big. will STAIN be able to handle multiple guards on one board and other types of enemies?
The enemy count may have to be limited somewhat, so in order to fix that small problem I've set up an easier way to do multiple guards without actually making new guard objects. During patrol down long hallways and such, three or four horizontal range objects should be all I need to make it so the guard's range is about equal to that of many guards without using as many range objects. While this will require some adjustment to obstacles, I won't have to remove the obstacles as unless the gaurd's patrol route takes him past the obstacle, he can't see past the obstacle and thus gives you a hiding oppurtunity.

When multiple guards are being used, it will usually be in a more open area anyways, or along a set of corridors or alleyways. Therefore the above mentioned technique can be used, and range objects can be shared with multiple guards who are patrolling the area another guard was. Unless it's a duo-guard thing, each guard will have it's own set of at least one range object and I can move on from there.

Multiple types of enemies will be a little more difficult, I'll admit that right now. Some may have longer range because of some kind of improvement over another, some may have faster rate of fire (that can be done easily because of easy programming in the bullet object), and some may just be smarter. In the end though unless I'm trying to fit a ton of 'long range' guards on a board at once (thus requiring more than enough range objects to possibly lag the game) then multiple types will be fine. One long range, a smart one or two, and a couple of the normal guards shown on the engine, but I'm not going to expect to get a bunch of guards together... There will be bosses as well, but in seperate boards from the guards. The guards themselves will hopefully have toned down programming for each individual area (I believe over half the programming of the guard in the engine was either distractions or CQC tactics. These will be added based to the level and location you're in). I've found a few bugs that I fixed up (nothing seriously effecting gameplay, just the range objects going too far out), and I added for easy access two other engines used in the game: The old bullet engine (which will be used for submachine guns and Vulcan cannons... It will move faster than the engine here) and a 'silencer' engine (allows the use and disuse of a silencer while offering a sweet little 'reload' system which is totally automatic).

Updates are posted several posts above this if you're interested. Comments and suggestions are still encouraged!

While this has yet to include those 'space saver' ideas, this update carries a few other things, fixes in the engine, and two other engines that could use a little beta testing. See a few posts above for update details.

Stain Alpha Engine Update 2

I've run through a basic mixture of the Stealth and Silencer engines with the final engine I can think of for the game... An Energy Engine. Energy is calculated by gems (score will be the CQC level) and as you move, you slowly lose energy (one energy per step) though it's quickly recovered if you stand still. This only works if you've stepped up first to start the 'loop', and it will restart the waiting process if you continue to step in that direction, but it will be barely noticeable and won't effect gameplay.

The wall edges were supposed to be the same wall corner objects but I think there's a problem with how the guard works... When I touch the left wall, it would send the guard to the right and when I touch the right wall it did nothing. I removed both because I think it might have something to do with the special range object. I'll be working on that before I upload it.
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Post by Commodore »

I'll have to try this when I get home from the library. It has some of the ideas i've worked into my wolfenstein game. Especially if those range objects you are talking about are lines of objects in the walls checking for #allignement. I send guards on a patrol path and activate the wall objects when they reach an intersection. It doesn't involve facing (the enemy can see you in every direction with this method) but you can still stab people if you jump them before they activate. I can allow for multiple guards if they follow the same patrol but only if they are never in the same corridor at the same time.
*POW* *CLANK* *PING*
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

Commodore wrote:I'll have to try this when I get home from the library. It has some of the ideas i've worked into my wolfenstein game. Especially if those range objects you are talking about are lines of objects in the walls checking for #allignement. I send guards on a patrol path and activate the wall objects when they reach an intersection. It doesn't involve facing (the enemy can see you in every direction with this method) but you can still stab people if you jump them before they activate. I can allow for multiple guards if they follow the same patrol but only if they are never in the same corridor at the same time.
Kind of what I was thinking... Keeping multiple guards on the same path really helps the 'too many range objects' problem. Not merely is there a strategy to playing the game but apparently one for making the game. But the harder the challenge the more I'm going to work on it!

If you'd like, check out those range objects and use them as a basis for building your own kind of 'range' objects. It really is a flexible system that can be fit for any game, it just requires customization and some program editing depending on where it's set and where it's needed. Takes some practice, especially with obstacles I've noticed, but not too much. I expect to release some kind of editor to help programers get into the general how-to of setting up STAIN's engine in other games, but the objects all require that special customization unless set up similar to how my game STAIN will be set up. Use the level design as an idea of how to design your own levels, otherwise just tweak the programs and experiment some and that's it! I'm doing a LOT of experimenting... Changing and adding stuff to the programs, running the game to find out if anything's missing or wrong, and then going back to the programming and editing again... I think I've experimented with this engine a lot more than anyone will have to after it's completed, or so I'm planning. As I noted originally... This is to be 'flexible' so the idea can be used in different kinds of environments and games.

However, it and all engines are only rated as good as the one using them. Get to know and use the engine, tweak it, experiment with it, and when you're finished, decorate and enjoy! :D
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
Nixon
Ordinery
Posts: 48
Joined: Sat Dec 16, 2006 10:41 am

Post by Nixon »

Wow, those are some good engines you used in those games. Especially the random body shots (an idea I had earlier but never utilized).
Thanks, engines was always my thing as well, best I think was skate 2. But I decided to move to programming in actually programming languages, which by the sound of things you could easily do.

I think I will go work on a zzt engine...

Good luck, can't wait to see the end result.
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

Thanks, engines was always my thing as well, best I think was skate 2. But I decided to move to programming in actually programming languages, which by the sound of things you could easily do.

I think I will go work on a zzt engine...

Good luck, can't wait to see the end result.
I'd be very interested in seeing any engines you make. Your ability in programming is really awesome! I doubt I could program very well in C++ or Java (though I've managed some limited text-based programming in Java... I still have lots of trouble getting more advanced) but it would be interesting to try and work on.

I'm programming in ZZT again because of the challenge in making a good engine with all of ZZT's limitations. Then to add to the challenge, making a game out of that engine. Making engines and games on ZZT is like a game in itself :D

Anyways, I'm going to be working on the update all night and I'll upload the result tommorow before I leave for out of town. Slowly but surely everybody's suggestions and ideas are coming together with my engine. Thanks for contributing (don't worry, I'm not taking any engines you or anybody else made except a few in the ZZT Encyclopedia... the faster than #cycle 1 programming and color reading programming)! I hope the entire engine will be put together with a demo soon, with a few different levels that won't be included in the full game, just so I (and anybody else interested) can get a feel for how the game works and all. This project is BIG on my list of things to do for the summer!
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
gingermuffins
Posts: 371
Joined: Fri Sep 01, 2006 1:30 am

Post by gingermuffins »

Please add a secret "macerena bomb" easter egg to one board... Please? :)

I've drifted away from engine stuff myself because of the little problems that snowball into bigger issues. im not tuff enuff

Anecdote time! In a game I made about five/six months ago, I wanted to have sewer guards who could see the player if he was in the same hall as them (#if alligned if blocked rndp seek caught). It basically restricted the level design to one squarish hallway, and it couldn't handle two halls on the same plane!

Code: Select all

        %                       %
        %                       %
        %                       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %                       %
        %                       %
        %                       %
        %                       %
        %                       %
        %                       %
        %                       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %                       %
        %                       %
        %                       %
So I had to replace them with blind robots. >:(

hmmm what else can i say -- this thing about enteredboard triggers might be useful if you haven't seen it. you prolly have but i think it's cool and I ought to plug it more often.
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

Tuxedo Fagmuffin wrote:Please add a secret "macerena bomb" easter egg to one board... Please? :)

I've drifted away from engine stuff myself because of the little problems that snowball into bigger issues. im not tuff enuff

Anecdote time! In a game I made about five/six months ago, I wanted to have sewer guards who could see the player if he was in the same hall as them (#if alligned if blocked rndp seek caught). It basically restricted the level design to one squarish hallway, and it couldn't handle two halls on the same plane!

Code: Select all

        %                       %
        %                       %
        %                       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %                       %
        %                       %
        %                       %
        %                       %
        %                       %
        %                       %
        %                       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        %                       %
        %                       %
        %                       %
So I had to replace them with blind robots. >:(

hmmm what else can i say -- this thing about enteredboard triggers might be useful if you haven't seen it. you prolly have but i think it's cool and I ought to plug it more often.
Maybe I'm bad at words and such but... Macerena bomb? Sounds like it would be a fun addition. I just need to know what it is first

This problem you're having I'll try using the STAIN engine. Having guards able to see down the same hall you're in is similar to my idea of keeping the number of range objects to a minimum. I'll set up the range objects in a horizontal direction along the edges of a hallway. If there are going to be no obstacles in the way, I only require three range objects (as the hall I'm assuming is 3 squares wide). The middle one in which the guard is patrolling can go around the guard in case it's blocked. If there are several other objects, I can make it so all three ranges try to go around them and when done checking, they head back. Of course, they'll be going faster than cycle 1 so they won't be getting in the way of the player so badly.

This will require less programming and fewer objects. I might use this method for the game so to save space, while also utilizing several of the 'ways to save space' I read about in MadTom's article. This will really help a lot, and maybe with a little experimenting, I can make it so one range object works as all of the other range objects... One object doing the work of 3 or more! Experimentation on this will continue and if it works, it will be a huge step up from Alpha in my opinion! :D Thanks for giving me something to think about! I'll work on this and post an update!
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
User avatar
Nova
Star
Posts: 23
Joined: Fri Jun 22, 2007 6:29 pm

Post by Nova »

Holy crap! I found out STAIN's engine is now at the limit of 40kb. Not all features will be found all at once in the game release, and hopefully a lot of it will be toned down. I'll make a new engine file that will show the toned down version. Generally the guard object will be changed to have less programming, thus there will be fewer reactions... The guard will still have his defenseless moments, the bullet will keep it's original programming, and I'll find out a way to save space with range objects.

At least I got the satisfaction I know I took the engine to it's limits! Wow, what a lot of ideas and stuff I set up for it. Now to seperate it. Certain levels will have certain distractions and the guards will have less reactions because they will be programmed to respond only to the distractions in the area (which can't be too much... At least two or three similar distractions per board would work or two that are different with an optional extra that's the same as one of the two).

While I work on toning down the engine for ZZT uses, the current engine can STILL be expanded on. Those that will play zzt games from Zig I think have the satisfaction of getting to play larger sized files without much worry! While I already have a Zig based engine, giving it the ZZT engine would just be more challenging, while still taking advantage of Zig's graphic capabilities.

While I won't be working on expanding the engine any further, instead toning it down to be more size-efficient, I will also set up a demo with levels that won't be in the actual game (thanks for the suggestion!). There will still be flexibility in that you can customize the environment to cause reactions in the guards, though still keep to a careful size limit. I'm working on solving the problem with fewer range objects (the 1-range fits all object... It will use similar programming with only 10-30 lines extra [maybe less]). As I said, most of the size comes from the multiple boards and the distraction/CQC programming of the guard.

Here's an idea for toning it down... Remove all distractions and whatnot. Add a secondary weapon/gadget to the 'Silencer' engine. Make these secondary gadgets do something to the guard by using a seperate object... Maybe having a single object with a lot of programming is worse than having multiple objects with smaller programming. I'll experiment with this.

Here's several ideas:

A) Remove distractions, do not add gadget
B) Remove distractions, add gadget
C) Remove advanced CQC moves (including the wall ambush and the switch between poison darts and sleep darts, though this would mean killing the enemy is only possible through melee or an actual pistol)
D) Get rid of the ranges and tone them down to one range, making a one-range object that does the job of multiple ranges (just a little more programming but I don't think it would require a huge program)
E) Toss away several guard reactions instead giving him quick reactions (ones without the scroll popping up and without so many commands at once).
F) Scrap the Energy Engine (I could use it in a different game)
G) Scrap the Old Bullet Engine (This wouldn't effect gameplay too much. But it won't be enough by itself to kick out enough space for ZZT to run the game)
H) Scrap the Silencer Engine (This is fine too. The silencer was more of a test run for a possible squad-based engine I'm working on. Just seemed right to have it put up in a stealth game... But then again, why would you take the silencer off in a stealth game?)

I'll bring up a poll on the subject... Pick more than one answer, just not ALL of them!

Here's the Poll Link

Any other ideas besides these stated are welcome as well! (I think it's because of the other engines that it went up to 40kb... It was less than 5kb with just the Stealth Engine board, so if I take everything else out and leave most of the stealth features there, I can still make a game out of it)
STAIN (Stealth Tactical Action In a Nutshell)
My first engine released in the ZZT community, and soon to be my first game released as well!
Thread link: http://zzt.org/fora/viewtopic ... 5084#55084
Post Reply