|NEW: Escape Beta 2!
(21 Feb 2005 at 13:04)
| I'm happy to announce Escape Beta 2, which adds animation to the game. This was several months in the making! There has been a lot of great activity and new levels recently, so things are looking good...|
Plans for the next release: Sound effects, and a few new simple tiles.
|I am such a cute escapist! |
|I tried this on my Debian sarge system; for some reason the pre-compiled version, while it seemed to run OK, would not connect to escape.spacebar.org to upgrade, whereas when I compiled from source it worked fine. I got the error "Can't connect".|
|Thanks. I am aware of the static linking problem, which apparently is a problem with the libc DNS resolver, which wants to load a dynamic library even when it is statically linked. It's on the list...|
|Minor bug report: on my system (Windows 2000), if you Alt-Tab out of the level select screen while a solution is playing, the keyboard stops working on the menu screens. It still works while inside a level, though.|
|I know about this, too, and it seems to be a bug with the SDL (which I should report). The problem is that it still thinks that ALT is being pressed. If you press alt, the keyboard will come back.|
|Ah, cool, thanks. Huh, how weird--I've had the same problem with wxWindows.|
|How do I update my old Escape to the new one while keeping all my files? I tried pressing 3 at the menu to update Escape, and in the background almost everything was wrong instead of ok for the new files, but then it gave an alert with a red X and the text "Couldn't get upgrade info." Then I tried downloading the new Escape with a web browser, but when I started it up, my player save was gone. What files should I move from inside the package of the old one to the new one to get it working with my account?|
|Rory, if you're on Mac, you just missed your opportunity to use the upgrade system, so you need to download a new zip and then move your player file over. This is pretty easy.
1. Download zip and install it.
2. "Browse contents.." on both your OLD escape and your new one. Go to the Contents/MacOS/ folder inside each one.
3. Copy the "rory.esp" (or whatever it is called for you) from the OLD escape to the new one.
4. Launch the new escape, and from the player selector, choose Import, and type the name of the player file you copied.
You're all set! You can also move any levels that you made from the "mylevels" directory, too.
|Oh Tom, do I need to lecture you about Mac OS X system architecture? You so so so should not be writing user data into an application's bundle! For many reasons. You should write to me describing what you are doing so that I can tell you everything that's wrong about it and why and how you should be doing things...|
|Really? It works great to do it like this.|
|I've been following Escape since its first release, and I just want to congradulate you on an awesome game and for sticking to it after all these years. Rock on.|
|Cool, thanks. =)
Do you really mean the old Escape for DOS? Or the modern one?
|The DOS one. This interface is a LOT more user friendly. I like the new objects, the traps and balls. It's amazing how quickly the basics came back to me; that doesn't happen much for me with a lot of games I used to play.|
|Awesome. Yeah, the interface to the DOS one was really terrible, but that's beacuse I didn't know how to program anything better. ;)|
|I just finished my Nth 3d engine, which is particularily modular and fast (although, uhm, non very portable).
If you could compile a special Escape version which doesn't really output any graphics, but sends by TCP a description of the current status of the tiles, I could easily make a 3d renderer for it without knowing anything about the Escape code. I think it would be very nice, and I'd also love to remake the tiles in 3d (I am trying to learn some basic 3d modeling)
Let me know about it.
|Hey, I just found a bug, which is technically not really a bug yet since it's from a "hidden feature," but anyway:
When I recover a solution by pressing ctrl+0, it says I solved the level in 1 move and does not display the solution in the level select menu.
|Farina: What language is your 3D engine in?
Max: I also know about this one. The solution length comes back the next time you go to the load screen from the main menu.
|Reuben, I believe I've fixed the linux binaries.|
|Aha! Cool. By the way, what about animation for teleports?|
|Yeah, that is coming! Before that, I need animation for 'pushing' and 'pressing' that are different from just 'walking' and 'standing'!|
|What about 'picking nose' or 'rolling eyes at decision of player'?|
|Small feature request: in the level editor, could right-click be used to "pick up" a type of tile from the board, like an eyedropper tool?|
|> Farina: What language is your 3D engine in?
Delphi & Asm. With some fiddling I may port it to Linux via Kylix but that's something I am taking into account for the next engine, not this one. That's why I "see" the TCP way: universal friendship for different languages/platform through low level protocols!
|Picking nose, I'll work on that...|
|Ah, good, you can turn animations off.
Is there an undo button? Like I go uhoh, that's not right, and hit undo, so I don't waste time playing the 90% of the level that I've already done.
Also, I play on two different computers. Is import/export the right way to share the player data? Can I just copy the player.esd file? (I use ssh, and while I could tunnel X I prefer not to.)
|Satyap: You can save yourself from having to resolve 90% of the level by using the 's' and 'r' keys to save and restore a partial solution, respectively. The next version of the game (which may be a while because I've already committed to introducing robots in that version) will have undo (press 'u'), at least if you don't die. It's already in my development copy.
For sharing the player data, you can just copy the satyap.esp (or similar) file between the two machines. The players.esd is just an index of all the players that you have, so once each copy knows about that player, it will just read the .esp file and never needs to be copied.
The next version has switched to a text file format for the player file, which allows for the possibility of merging changes in two places (using diff/patch) or checking the player file into some version control system like CVS, which is what I do.
|mjn: I implemented eyedropper as the middle mouse click, so that will be part of the next version, too. I want to reserve right click for something a bit more critical, though I don't know what that is, yet. ;)|
|Right, like that.|
|Ever heard of versioned tarballs... try to use them... it's a great help to us who try to provide the game in a distro...|
|I haven't heard of versioned tarballs, and can't find something easily on google that explains it. Any tips, anyone?|
|versioned, i presume, as in "escape-1.0.0.tar.gz" for example, with the top directory being "escape-1.0.0" rather than "escape-src". It seems to be normal practice for linux software. Not wanting to be a snob, but when i see a tarball unpack to "foogame" rather than "foogame-x.y.z" i give a little sigh and roll my eyes. ;)|
|Hmm. Well, Escape updates itself, so I'm not sure what sense that would make (you'd install in escape-200503150, but later you'd have 200601010 in there). How does this make including a game in a distro easier, or why does it make you roll your eyes to not do it? (Just curious.)|
|"rolling my eyes" was a poor choice of words - damn your non-editable comments section! - but usually linux progs are distributed as tarballs, so "foobar-x.y.z.tar.gz" is considered "normal", i think. Often, fairly shaky or amateurish progs unpack into "foobar-src" or "foobar" or, in some extreme cases, unpack into the current directory instead of creating a subdirectory(!). It can sometimes be handy to have two different-version source trees side-by-side. I know nothing of this self-updating of which you speak, so yeah, there's presumably reasons for doing it the way you do. I'm not really sure how this makes it difficult for distro makers, it might just be a consistency thing. |
|OK. =) Well, I can't claim to be consistent with the way linux folks do stuff!
It would probably make sense to have the source code include a version number, since the source code doesn't update itself (there'd be little point in that!). I was thinking about the binaries.
|I noticed a minor glitch while playing "Don't Touch That, Hugbot!" It seems that when hugbot moves to the next touch panel (near the exit), he will jump back to the previous one and then jump forward again.|
|Yup, I'm working on that one...|
I'm working on a large level, and I need to put down a panel whose target is off the screen. I can't seem to scroll using the arrow keys while in "click to set the destination" mode. What can I do?
|It's a known bug. You can zoom in and out (keys [ and ]) which should let you reach anything on the level without scrolling.|
|This is probaby a dumb question, but anyway this is it.
I know how to set a panel to make something disappear but how do you set a panel to make something appear when pressed, such as an exit door.
|It's not dumb, although you could probably find the answer in the escape.txt documentation if you dug through it enough.
When a panel is pressed, the target of that panel swaps with the "bizarro world" (otherwise known as the alternate layer). Whatever's there goes here, and whatever's here goes there. Generally the bizarro world just contains empty floor, but you can put any sort of tiles there that you want. To edit it, press 'y' in the editor or click the "layer" menu at top.
So, to make an exit appear:
1. set a panel targeting some empty space
2. switch to the alternate layer
3. draw an exit in that space.
|What do the new "arrow" tiles do? Are they decorational or do they have a function that I haven't found yet?|
|Crap, I didn't mean to enable those in the released version. Don't use 'em, because your levels won't validate on the server, and because they aren't implemented yet.|
|It would be nice to be ableto undo when you die.
|Larry: believe me, I know. ;) I plan to implement it, but it's actually a bit of work, since the "you died!" message currently can only accept "Enter" or "Esc" as input. If you save a lot with 's', you can always restore after dying with 'r', and you can always undo from that point.
I'm glad you like the game!
|Since I play offline, I've been thinking of writing a tool to send in all the ratings from a player file. Would you have any objections to this? (From the source code, I gathered that the server just replaces old ratings from the same player, so am I right in thinking there's no serious problem with potentially re-sending ratings many times?)
If this is okay, then I have another quick question: will the server accept a GET request if the agent isn't "escape-xxxxxxxx", or should I spoof that?
|I don't have any objection. It would be pretty easy to do within escape itself, so you might even try that (supposing it compiles on your machine).
The server is just apache, so it will accept any user-agent.
|Also, I should mention that your ratings won't be reflected in the game immediately (certain things on the server trigger an update of the index files), but you would be able to see them in the level browser on the web page.|
|The ratings-sender is done! Thanks for your help.
I didn't quite have the energy to attempt to build Escape, so I just ended up writing a little console app. If anyone else out there in escape-land would like to have it, just drop me a line (mike AT thinkingpart.com).
|Uhh, I just thought of something... did you do this with the new text player file format? I changed it a while ago, but I don't know if I did a release with it.|
|Yup, it's with the text format.|
It changed a little because multiple solutions are now supported, but that shouldn't affect the 'ratings' section.
|Do you think you could add extra commands for mac users to correspond with middle-click and right-click so we can access those controls? apple-click, ctrl-click or option-click, for instance?|
|Found two bugs in escape 200503290, under Windows XP:
1) When the screen is maximized, the graphics raise too high, and approximately half the top line of tiles are 'cut off' under the window's title bar. (This affects the editor too.)
2) In the editor, setting random 'how' mode to 7 and clicking random will crash the application. (This is repeatable.)
|Oh yeah, one more thing:
3)In the editor, the right-click region select area doesn't scale properly at different zoom levels. (The purple selection rectangle is drawn too large). Presumably this isn't a bug so much as just being still in development.
(OT: Is this the preferred location for bug reports?)
|Max: are you still using a one-button mouse? ;)
I'll fix it in the next version.
(1) I don't see this on either of my XP installations. Are you using a theme or something?
(2) Oops, I'll fix it.
|Great, next you're gonna tell me I need three different kinds of spacebars...|
I also have the problem that Stephan reported. When in 'edit' mode, maximizing the window results in the top row of game tiles being half-hidden. It is difficult to click on the tile you want in this mode, as the game often thinks you are clicking on the tile above the intended target.
|Hmmm.. this is weird. I don't see it on my systems; are you using the default XP theme? (Maybe it's because I'm still in "classic" mode that I don't see it).
If anything, this is probably a bug in the SDL. I'll see if I can track it down...
|Yeah, the problem only shows up in the XP theme. Perhaps SDL has some hard-coded size for the title bar, which is definitely a bug. For now, I guess just don't maximize it and I'll see if I can get the bug fixed in SDL.|
|Just downloaded your game, Tom 7, and couldn't get anything to happen. I'm on G4 (eMac,) 10.3.8 768MB DDR SDRAM
|Can you tell me anything about what you did and what happened (or didn't)?|
|A note about the 'half tile cropping' problem seen in XP when the window is maximized: if you maximize the window, then minimize it to the task bar and finally restore or re-maximize, it redraws the window properly, without the cropping.|
|I've found some strange things (bugs?) about the broken Dalek bots.
1) It's possible to place broken bots on top of other objects. This results in very strange behavior:
a) On a yellow block, the yellow block and bot become immovable.
b) On a camoflaged hole (trap2), the push motion seems to trigger the trap, so pushing the broken dalek off and then moving off the trap2 leaves a hole.
c) A broken bot on a broken grey block works fine; the first push destroys the block, a second push moves the bot.
d) On a blue or gray block, moving the block from under the broken dalek is possible, but then you're immediately electrocuted. (How very odd!)
2) Finally, in the editor, why do broken bots get numbered?
|Broken bots are just another kind of bot (that's why they're numbered), so they can be anywhere that the player can be, including on top of stuff.
But you're right, some of these are bugs (they affect all the kinds of bots). Probably none of the levels rely on them, because it's hard to get bots on top of stuff (only through teleporting or the initial conditions can it be done). It should prevent you from pushing a block that has a bot on it. I'll fix this right away. (The trap behavior is correct, because any entity "stepping" (= being pushed) off a trap causes it to become the next thing in the sequence.)
|Now it's fixed on the server, so don't try to exploit it! The next release will have the fix, too.|
|Tom, are the mac and windows versions different? I use windows at work and a mac at home. I have noticed that on after I upload a rating on windows the lowest number of moves appears below my number of moves. This does not appear on the mac (0s 10.3.8). Also the mac does not sort by newest and ctrl-n does nothing.|
|Oops, it looks like I never released the newest version of the OSX build. (You can see the release numbers on the "download" page.) Let's just wait for the next version and I'll sync them up--that should come out this weekend with a bunch of new stuff.|
|The latest build of Escape (200504240) is crashing occasionally for me on Windows XP. The crashes seem to occur when I'm browsing the levels (on the load screen) but I haven't pinned down exactly what triggers it. Anyway, the crash message looks like:
AppName: escape.exe AppVer: 0.0.0.0 ModName: escape.exe
ModVer: 0.0.0.0 Offset: 000320e2
Also, I uploaded a buggy level, 'Bridge Out Redux'. Note that the Heart Framer tiles don't trigger adjacent tiles when you walk onto the Heart, so it's not just traps which don't work properly but also the 'Gray Dot' panels. Feel free to quarantine or delete the level.
|Thank you. Unfortunately the windows crash logs don't really give me any useful information! I'll try valgrinding it to see if I can find any problems that could be causing a crash.
I've fixed the heart framer bug, so that will be out soon.
|The behavior of the sleeping doors seems non-obvious. If the sleeping door is in the bizarro world when I collect all the hearts, it will still be asleep when it flips into the real world.
Conversely, if I collect all the hearts in the real world, sleeping doors in the real world awaken, even if additional hearts remain in bizzaro land. This may lead to some interesting puzzles, but likely some even more interesting cooks.
(I can envision a puzzle where you're trying to flip unreachable hearts into bizzaro land so that you're left with only the accessible hearts.)
|Bug: window resizing has strange artifacts under Windows XP. This mostly is when the window is sized larger than default. I observe two problems:
1) The window doesn't repaint until the mouse button is released, so the newly revealed area shows garbage during the time that the user is dragging the window frame larger.
2) Window sizing during solution playback changes the window frame size, but escape doesn't seem to register the change, resulting in a window frame that's larger than the paint area; again leaving artifacts in the revealed areas.
Bug: in solution play-back mode, the window's close icon neither closes Escape, nor returns to the previous menu.
Suggestion: make the VCR controls mouse-clickable. (You've got 'icons' for them, after all.)
|Stephan's bugs: I can't fix the first one, because that's built into SDL. (Well, I guess I could fix it in the SDL...). Anyway, as you say, it is only temporary garbage.
The second two I just fixed, and they will be in the next release. (I found another bug, too, which might be harder to fix, we'll see.) I totally plan to make the vcr clickable, don't worry.
As for heart framers, I agree that it's possible to create unintuitive levels with them. The rule is pretty simple: if you pick up the last HF in normal land, then the sleeping exits in normal land will wake up. This is consistent with the way other tiles behave; electricity is only turned off in normal land, colored floor only changes its up/down state if it's in normal land, etc. As usual, puzzle composers who want to make enjoyable levels should be careful not to abuse corner cases!
|I have been playing your game for a while (thanks for making such a great game, by the way), but everytime I try to register by pressing R, it said I am unable to register.
I am using the latest version (200504250) on Windows XP. Any help would be appreciated, since I have got a few solutions shorter than that shown on record... *evil grin*
|Hmm. Are you able to download new levels and upgrade? If so, registering should work, unless you're playing as "Default" (or if perhaps your player name has funny characters in it). I'll look in the logs to see if I can figure anything out.|
|The reason is that you apparently already registered this exact player file. In that case the server gave an error, but now I changed it so that it just gives you back your old registration number again. You should be able to register now, so hook us up with some speedruns!|
|Stephan: I ran valgrind on the newest version, and wasn't able to cause any problems going through the load screen, managing and watching solutions, or anything. So if you can narrow down the kinds of behavior that causes a crash, that would be helpful. (Hopefully it is not a Windows-only bug of some sort!)|
|I forgot to add another information:
I have downloaded Escape on two separate computers with the same username, and only one of them has the speedruns stored. However, I think I have registered the other one instead...
What can I do to get the other one registered?
|You should be able to register on both computers now; just press R. But the server won't share the solutions between the two accounts for you.
If you have problems registering now, let me know what happens.
|Great job tom .... keep going
chris from Greece
|My keyboard is not the US standard keyboard, so to see the "more options", I have to press <:> instead of <?>
Instead of using <?> for more options, use <ctrl><+> (num keyboard plus sign).
|Hmm, strange. SDL should be able to tell what key you're pressing, so ? should work. I just made it so num+ work too (next version).|
|Just for your record:
I use Win XP with "Portuguese (Brazilian ABNT2)" keyboard.
great game BTW ..;)
here (on a Mac G5, German Keyboard), neither num+ nor ? work for more options... whereas upload, comment and others seem to work.
I haven't uploaded the version where num+ gives more options yet... that question mark thing must be a bug with SDL, though. Anyway, try again next time the game updates.
|What relation does this game have to the popular Mac OS X game also called Escape made by Nuclear Nova (nuclearnova.com). It is very similar and predates this by a fair margin.|
|Looks to me like you just ripped off Nuclear Nova's game of the EXACT SAME NAME AND GAMEPLAY, which has been around for about a year or more. Way to be creative! Except not.
|I'm aware of the other "Escape", but mine has been around since like 1996. (This is a port of an older DOS version.) Is the Mac game really older?|
|Bug: in the 200505210 version, the death-by-dalek animation sometimes is displayed underneath the dalek, only super-imposing after the last frame. So the electrocution is effectively hidden for a few seconds.
This doesn't happen every time and is possibly affected by the directions the dalek and the player are moving at the time of collision
|Yeah, I need to go back and fix the orders of things that are happening right on top of each other, now that animations are sorted by y-order.|
|It would be nice if spheres and movable blocks could start life placed on a panel. The would allow for some deeper puzzles and potentially smaller levels. (Of course, this could also be abused by creating levels which were extremely difficult because the panels needed were 'hidden' under spheres or blocks.)
Also, are you planning on making 'one-way' floor? I see the light-green arrows in the lower center of tiles.png. This too could make for interesting puzzles.
|I'm using Escape on Mac OS 10.4.1. Every now and then, a key I press gets "stuck" and it behaves as though I was holding it down, even though I only pressed once. The repeating happens immediately, unlike when I intentionally hold down and there is a pause before repeating. The result, of course, is the little dude suddenly flying across the screen for no discernible reason.
It happens in all directions, so I don't think it is a keyboard problem. It is pretty rare, maybe once every 40 games. I don't think I seen in any programs other than Escape.
|Stephan: It was a deliberate choice not to allow that, since I'm trying to minimize the amount of "hidden information" possible in levels. Sometimes you can force the player or a bot to push a block atop a panel as the level starts, if you want to achieve the same effect--but then at least the player sees it happen.
(You can, however, put broken bots on panels to start.)
I was thinking about the one-way floor (and drew some crummy graphics, as you saw), but it will actually be tricky to implement (not because of any interesting reason, just lack of foresight back in 1996 and then again in 2003). I'll probably make it eventually, but it's generally pretty easy to make one-way devices in Escape out of other tiles for now.
|nLogic: Huh, I've never noticed this in OSX. Is it perhaps because you're switching to another application (or another application pops up, like an instant message?) while the key is held? That seems to be a problem on Windows. (For instance, if you alt-tab out of the game.) Unfortunately, it's a bug in the graphics/IO library I'm using, so it will be harder for me to fix than if it were a bug in the game itself.|
|I tested having my mail client recieve a message while I'm playing, and then having my mail alert app pop up while playing. Neither one triggered the sticking. Neither did switching apps while playing (command-tab). Today it stuck twice while iTunes was the only other thing running. It didn't coincide with iTunes advancing to the next track. I can't see a pattern to it, but I would say it's a really insignificant problem. |
|Thanks for testing those things out. There's not really any chance of me tracking it down unless there's a way to reproduce it, but maybe it will clear up in a new version of SDL, whenever they make a new version and I incorporate it into Escape.|
|Crash: on Windows XP, a fast double-click in the level loading screens appears to make the application try to load the level [..], producing a crash. (At least, when the crash dialog appears, [..] is still hilighted.)
This seems happens when the line item that was clicked isn't at the same position as the [..]. That is, I don't get a crash if I double-click on 'Triage' (instead it correctly enters and returns from the Triage section), but I can get a crash every time if I quickly double-click 'Deleted Levels' or 'Annoying Sophmoric'.
|Yes, I can reproduce this. Thanks! I'll fix it.|
I am unable to register. It says:
"Unable to register. Try again later!"
I am unable to register. It says:
"Unable to register. Try again later!"
|Hi, I am unable to register.
|Hi, I am unable to register.
|Dorothy: When you try to register, and it gives you that error message, what does it say at the bottom of the screen? (You don't have to repeat any numbers and stuff, just the general idea..)|
|Hi Tom, It says:
This is: Escape (200505210; win32)
Connecting to escape.spacebar.org:80...
try 21181 1302500489...
try 32308 1299749136...
Also, if i check alternate connect in preferences, it will have this info:
This is: Escape (200505210; win32)
Connecting to escape.spacebar.org:8888...
try 15778 1463124305...
try 1998 1460649003...
Thanks! (sorry about all the duplicate posts too)
|It looks like it's just unable to connect to the website (but there should clearly be a better error message). Does level update/upgrade work?
Are you connecting through a proxy, maybe?
Thanks Tom. It was my firewall blocking the application. I have set it to allow and now it works.
Thanks Tom. It was my firewall blocking the application. I have set it to allow and now it works.
|Minor Bug: on Windows, if you delete one of your completed levels using the delete key, the graphical level preview/animation doesn't update until you move the mouse/highlight a different level. (Everything else updates though, which is odd.)|
|OK, fixed that.|
|Is there a way to save alternate solutions (of your own) for a level if you already did one that is faster? If not, then it would be cool if there were. It only seems to save the original solution and whatever is faster.|
|The new 'partial solution' saver (maybe I will give this a name like "bookmarks") will allow you to do this, but it is merely in planning, not actually implemented yet.|
|I see that you can now scroll with the keyboard while setting a panel's target. This works, but note that the yellow target hilight doesn't appear when the target is initially clicked (as it does when no scrolling has occurred).
Also, you can scroll further left than the left edge of the board, wrapping around in memory and doing strange and probably unwanted things. Bug?
|Yes, that's clearly a bug! It's pretty fun, though, because you can see what your memory looks like as an escape level, and you can also find a bunch of other escape levels that have the same width that are still in the memory. Anyway, I fixed it for the next release.
The yellow highlight showing up was just a happy accident of the way this used to work, so it's no surprise that it doesn't work if you scroll. Some confirmation of this process, delivered in a regular way, would cleary be a good idea. I put it on the list for the future.
Thanks for all your bug-hunting, Stephan! What's your last name again? I want to thank you in the docs.
|How about having an icon that appears next to the number of moves (or somewhere in the title line of a level, like the key) indicating that you have the speed record?|
|Oh yeah, another thing: is it a bug, intentional, or just practically unfixable that a panel in the foreground and a panel in bizarro world can't refer to two different locations? I think it could be potentially confusing (but there are already a lot of ways to be confusing ;) ) but very useful in designing levels...|
The panel thing is intentional, and basically fundamental to escape. Every tile has exactly one destination, so if you flip between a panel and teleport (for instance), both will necessarily target the same spot.
|After updating escape I tried to update levels, but I get an error
"This version cannot accept any collections. Please upgrade"
I try to update but there is no new version
|I released an emergency bug-fix today on the server, and whenever I do that I bump the version on the level collections so that there aren't any confusing mismatches. But I couldn't make a windows release until I got back home. It should be there now.|
1) In solution playback mode, it would be nice to see what move number you are on. (It can lead to discussion about how, "In move 23, you could save time by going left.", etc.)
2) In the editor, how about copy, cut and paste an area that's been hilighted with right-click?
3) Also in the editor, a flood fill tool or a fill highlighted area could be handy.
4) Daleks can teleport. So why shouldn't I be able to push a sleeping Dalek through a teleport?
5) It would be cool if electric field could be a tile state, (perhaps overlaid on the image using SDL's alpha blending?) This could allow electric field on top of other tiles and might allow for some interesting puzzles. Right now when the field gets turned off, you're just left with floor; kind of a waste of space.
|6) And hey, in the editor, when you cancel placing a panel or teleport down by pushing the escape key, the editor should remember what was there when you started and restore the tile, not just put floor down!|
|Ok, A few more for the editor:
7) A toggle for bots between hugbot and dalek. It's a pain to have to erase a bot to switch, and then have to renumber. You can toggle sleep/wake, why not hugbot/dalek too?
8) Not needed, but would be nice: 'erase all bots button' or maybe shift-click the erase button?
9) Have you considered directional lasers, not just 4-way? It seems like the 4-way can inhibit some level design simply because you have to block the unwanted laser directions with additional tiles.
|10) I think when you decide to delete a level from triage, you should be prompted to leave a comment explaining why, as when you report having cooked a level. We haven't had any incidents leading to confusion yet, but there is definitely potential.|
|Oops, sorry, apparently you just changed that in the latest update!|
|Yeah, but only on Windows. It will be there in the next mac version.|
|Thanks for the suggestions. I did 1 and 6, since those are easy. I have been planning on doing 2 (especially) and 3 for some time, but haven't got around to putting the advanced features in the editor (it will take a little more work to do it right, especially copy/paste).
As for 3, it's basically an arbitrary decision about what entities can be pushed into. I restricted it to things that you'd normally walk onto, and I consider the teleporter a "button", not a "walk into" (otherwise, you could push bots off it as well). Actually, this idea is slightly violated, since a Dalek can't walk onto another dalek that's standing in electricity (only possible by teleport or starting condition). Maybe I will change that (?). Anyway, the pushing code is about the most complicated thing in the game rules (maybe second to steel interactions with panels), so I don't want to play with it too much. ;)
7: There will be more bots soon, at which point a toggle won't make much sense. But it should let you change a bot's type by putting another one on top of it. Actually, I just fixed that.
It's true that you could get a little more mileage out of electric tiles if you could electrify anything, but it would mean major changes to implement (there is no such thing as "tile states" currently). I could introduce a bunch of individual electrified tiles, but I think this is a slippery slope. Same goes with directional lasers, although I am inclined to think that these may be more useful. In any case, I'm trying to resist adding new tiles that do something that can be accomplished another way. For directional lasers it's easy to see how to do this, for electricity, you could make a hugbot push some steel to change the level right after the electricity is turned off (although this is limited by the number of bots and level space you're willing to kill).
Thanks for the suggestions!
|About your question of what kind of editor tool would help heavily mechanized levels involving lots of panels -- how about something that can select multiple panels at once (right click)and then select multiple spaces (maybe shift+right click) for the panels to automatically refer to. I have no idea how practical this idea is, but it's worth a shot I guess.
Also, using the proposed "fill" tool, if you were to fill a space with panels, would you then have to choose a tile for each panel to refer to or have them all refer to one tile with just one click? Each of these options would be useful.
|And another thing (I get lots of Escape ideas at work), how about making it so that when someone reports a cook, they are prompted to submit the solution?|
|...And how about allowing you to add a comment as you upload a level (have a dialogue say the space is for introducing the level, if desired -- spoiler box may be checked if desired) to appear as i.e.:
'[level]' uploaded by [person]: This level is sooo boring omg
|Sorry to overload this with so many less-than transcendant suggestions, but how about making it so that when you move a selection with ctrl+arrows for several spaces, it remembers what tile was in the spaces before instead of paving over everything with just plain ground?|
|Yeah, the level upload thing should have a comment, just like deleting and the other operations that post info messages.
I'm going to improve the cut'n'paste mechanism, which should make the shifting thing unimportant.
I'm not sure what to do about the cook thing, because I don't want the server cluttered with too many solutions--basically, I want to discourage uploading solutions, period, unless they are really interesting, or a single shortest solution for each level. Some levels have lots of cooks, and many people have the wrong idea of what cooking is, so I don't want to make it so easy to upload solutions that are useless in the long run. (OTOH, some day when I upgrade spacebar, maybe space considerations will be such that I can tolerate an unlimited number of solutions.)
I'll think about this panel thing a bit. I guess what I'm getting at for the moment is something like Excel's automatic drag-completion (if you've ever used it), where it tries to extend a region doing the "obvious" thing. So in the case where the region is a series of panels pointing to a series of locations, in order, it would continue extending those panels and that series. If the panels were of different colors, following a repeating pattern, then it would be continue that pattern. I think this could be general enough to handle most of the common cases, with the slight downside that it would be somewhat unpredictable.
|That all sounds good. Pretty much any basic building block tool for multiple panels would be very helpful for mechanized levels however unpredictable it may be.
Another thing that I would find very handy would be a way to find out which panel is referring to a given tile. For example, if I have like 60 panels referring to 60 tiles, and I have one tile that I later decide should not be affected by a panel, I currently have to scroll over each individual panel until I find the right one.
Also, I think it would be totally awesome if there were two bizarro worlds (jk).
What about something that drew an arrow from every tile to its destination? (as a toggled mode) I've often thought of implementing that.
|Yeah as a toggled mode, that would be pretty cool. But potentially quite confusing if there are many panels (imagine how this would look on "Collapses"!). I'm thinking of a mode where scrolling over a tile will light up any panel(s) (with an arrow could be cool too) or teleport(s) that is/are referring to that tile.|
|> What about something that drew an arrow from every tile to
> its destination?
Yeah - I often simulate this mode using a dry-erase pen on my CRT. Some levels its kind of fun to have to poke around & figure out what all the buttons do. But in general, I agree with Tom's total disclosure philosophy.
I like Max's interactive idea, too.
|I have an idea for a new game feature: a block which functions in a similar manner as electricity. If you push a block onto any object, both the block and the object will explode. If a robot pushes it onto you, you will explode. This feature would be good for breaking through walls, destroying annoying wire switches, blowing up robots, and more! :-)
|panel arrows are in the editor for the next version (press d). I could improve the display a bit, and it is useless for huge panel levels, but I think it is helpful in many cases. The only thing keeping me from implementing max's suggestion is that it would require storing and maintaining a separate index from tiles to panel/teleport sources, since that information is only one-way right now.
also, I started implementing an Excel-like pattern extension tool, which I think is pretty cool, and should handle the series-of-panels stuff nicely.
brian: wow, writing on your monitor is pretty hard-core!
jl: bombs! yes, that would be fun. actually, I think that would be pretty easy to implement and draw, so maybe I will do it. but, bugs first...
|> brian: wow, writing on your monitor is pretty hard-core!
Only in my office, though!
How about Max's interactive suggestion in reverse? Mousing over a panel or teleport will show you its target. Arrows will be useful, though! Wow, that will change some things. Not much hidden info left. Only bot ordering now?
|Well, I was just talking about the editor, which of course already has the mouse-over behavior. I dunno if I am ready to change the gameplay yet...|
|Minor suggestion: could the level sorting be stable?|
|It should be stable in the sense that repeatedly sorting the same way produces the same result (this used to not be the case, and it was bad!). But this was done by making each sort order completely distinguishing (so that if two levels have the same number of solution moves, then it falls back on alphabetical comparison, etc.). I think then what you're asking for is trivially satisfied. ;) What is it exactly that's annoying or that you want to do and can't?|
|Actually, I meant stable as in preserving the existing order among ties (like merge sort, insertion sort, etc.). No important reason; it just occurred to me that it'd be cool to be able to see the unsolved levels ordered somehow other than alphabetically. If sorting was stable, then you could do Ctrl-N, Ctrl-V to get the unsolved levels on top, newest first. Or you could see the unsolved levels in style order, or a particular author's levels in difficulty order, or whatever.|
|Another note about lasers:
It's counterintuitive that the player stand on a single laser tile and be safe, but will be killed if there's a second adjacent laser.
Also, the following animation seems odd:
Start the level being shot by a laser, while standing next to an immovable tile. Push into the tile. The move counter won't go up, since it's not a valid move, but the laser animation will trigger, flashing the player.
|The first thing is consistent: The tile you're standing on doesn't block lasers (even if it's something like a wall). I think standing on a laser shouldn't kill you, because how can those four laser prongs hit you when you're standing "behind" all of them? But anyway it's too late to change, since several levels rely on it.
The second thing is basically a bug, but it's kind of fun, right? ;)
|In the editor, is there a way to find out the tile position? I haven't been able to see it if there is.
I think a good suggestion would be, maybe if when you put your mouse over a tile, hugbot.. etc. it would be to nice have it show the position in the bottom left hand corner of the screen, if that isn't already implemented. I think it would be an easy tool in creating both the alternate and normal worlds with the transports and panels.
|You mean the coordinates? Yeah, I guess that's probably a good idea. If you're just trying to make sure that something has the same position in normal/alternate worlds, you can use 'y' instead of clicking the button to switch between them, and then leave your mouse in the same place. If you're trying to coordinate the destinations of transporters and panels, then showing destinations with 'd' might help.|
|Tom, that's just what I was looking for. Thanks. :)|
|BUG (I think): At least in the OSX version, you can apple-click and drag from top to bottom and left to right only. This means that you have to start at the top left of an area and drag to the bottom right whenever you want to capture more than a single line of tiles.
By the way, the panel pattern reproducer is very cool and saves tons of time on automated levels -- thanks!
|It was intentional. I thought I had some reason for only allowing dragging in this direction (one minor one is that it gives you an easy way to remove the selection, by dragging in the opposite way), but I can't remember right now what that is. If I can't justify it, I'll put it on the to-do list to allow dragging in any direction.
I'm glad you like the pattern tool!
I have some problems with the display of the level record in the level browser. It doesn't always show the record, no matter if I or someone else broke the record.
If I broke the record it is displayed in green as my personal best, but the level record doesn't get updated. Even uploading the solution, downloading new solutions, updating the levels or restarting the game didn't help.
In one level it shows the correct record, but yesterday it didn't. Is there some delay somewhere?
Yesterday I couldn't upload faster solutions to several levels, I got the message "Upload failed: fail (bug) bad solution". (I couldn't check if the bug is still there because meanwhile other players got the same number of moves, so I don't have a record anymore :(
One hour ago or so I successfully uploaded a new speed record but it is not shown as speed record in the solution browser and not as record in the level browser. Even downloading solutions / levels / restarting the game didn't help.
Oh and for the question-mark-bug in SDL: this is not a bug (but I thought the same when learning SDL a few weeks ago) since SDL doesn't report the character entered but the key pressed. For example when checking for a press of "A" you get SDLK_a and have to check for the shift key yourself. You can get the character from the unicode field of the key event (instead of sym or scancode) but before you have to enable unicode support in SDL. Code example is here: http://www.libsdl.org/cgi/docwiki.cgi/Handling_20the_20Keyboard#eventsmoredetailed
This will work for all keyboards, not just us-keyboards!
Oh and by the way: Great game!
|Hi Tom, I think I found a bug...???
I was just playing one of the levels and pressed the "y" key...and it switched to the alternate world. I thought maybe it was just that level only, so I tried it on a few others and it worked also.
|Markus: the display on the level browser is based on the last time the collection was updated. This happens when someone uploads a new level (and I plan to have it update at regular intervals, but have not implemented that yet). The same is true for ratings. I admit this is a little confusing, so I may change it some day, but that would require more communication with the server, so it's not at all trivial to do.
However, the solution manager is instant, so you should be able to see your speedrun there. If it's not there, it may be because it was beaten by someone else.
The reason you couldn't upload anything yesterday was that the server was out of space (it's an old computer and sometimes fills itself up), but that's fixed now.
Thanks for the tip on the keyboard. I am indeed using unicode, but still baroquely doing a case on SDLK_ values, which is a bad idea for punctuation since it varies so much from country to country.
|Dorothy: It's not a bug; there are a few "secret" keys for playing levels, meant to discourage the use of hidden information. Y toggles layers like in the editor, [ and ] zoom in and out, S saves state, R restores it, U is undo, and there are even some other advanced ones that you should probably avoid...|
|Here's an idea for a new type of tile, "Security Laser" (or whatever). This may be complicated to implement, but I think it would be cool if there were tile that sent out a "ray" like a laser, but the ray doesn't kill you. Rather, as long as the ray is not blocked by anything, the exit remains open, but while it is blocked by any solid tile (i.e. anything that blocks a laser) the exit is "barred" (similar to asleep) and cannot be entered. I went to extremely great lengths to implement a mechanism that results in the same effect in "Collapses" and I often wish there were something like this when creating levels.|
|P.S. there would also need to be a corresponding "target" tile that ends or receives the ray, otherwise it would always be "blocked", duh!|
I prefer to provide smaller concepts that can be connected to achieve those kinds of results. What would be the simplest thing that would allow you to achieve this? An "optical beam" for wires, perhaps?
|Hey, that sounds pretty cool.
If it only fired in one direction, then you wouldn't need a target--you could just use pairs of rays.
A more general restriction than barring the exit would be to have a laser that only fires if a ray is blocked (or better yet, if a ray connected to it with wires is blocked). You could place one next to the exit to get the same effect as before, but you could also lock and unlock different sections of the level, protect individual panels/buttons, have people move wires to turn off the ray, etc.
|Actually, come to think of it, the ray could also just work like a panel. You wouldn't need a target that way, either, because only the "edge effect" of pushing a block in or out of its view would do anything.
(Actually, come to think of it some more, the blue block itself could be the target, or the stop sign or arrows...)
|I don't really care about the specifics, as long as there can be a way to make sure you have to move blocks out of the path of something in order to solve a level -- but there is currently no way to do this without using a really complex system as in "Collapses". [At the moment, there is only a simple way to make sure you have to move blocks INTO the path of something (i.e. lasers that block exit)].
So yeah, I was envisioning something that fired in one direction only. I'm not quite sure what you mean by '"optical beam" for wires' but whatever is the easiest way to implement this I guess. I realize it would probably be a pain, but I figured I might as well suggest it!
|Optical beam would actually be quite easy to implement. It would work like this. Add a new kind of wire that is a "transciever"; when it receives a pulse, it sends it across thin air (same things that allow lasers to travel) in the appropriate direction to another transciever, which passes the pulse on. Then, your security beam could just be a button that you need to press in order to trigger a light via the transciever to get to the exit.|
|That works, awesome!|
If cancel out of the level title dialog w/esc, it forgets what was there and renames the level 'untitled'.
If you hilight an area and use shift-arrows to expand, it affects both worlds. (If bizzaro land has tiles in the same area, the pattern expands.) This is generally undesirable.
|Hmm, the first is just laziness on my part, which I should fix.
The second I did on purpose and I thought was the right behavior. Is it generally undesirable? What do others think?
|Well, it means that if I have something in one world already laid out and then extend a pattern in the other world, it's likely to mess up what I've already done.
How often are you going to have patterns of the same dimension and position that you want to extend on *both* worlds at the same time?
|Well, I thought about it a little more, and thought about implementing a mode for linked/unlinked editing (note this is also the case for moving the selection), but I think it just doesn't make sense to do them unlinked. The reason is that the foreground and background share the same destinations, so you can't really edit them independently.|
|I definitely think it is most desirable to have them linked (panels/teleports would be a total pain otherwise!), but I can see benefits for having an unlinked mode available. But I don't think this is a really high priority if it's hard to implement since there are probably much more pressing issues to address...|
|I definitely think it is most desirable to have them linked (panels/teleports would be a total pain otherwise!), but I can see benefits for having an unlinked mode available. But I don't think this is a really high priority if it's hard to implement since there are probably much more pressing issues to address...|
|Your posts are linked|
| WHEN I STARTED AFTER UPGRADING IRUN INTO A LASER BEAM PRESS U AND BACK UP SOME THING HAS CHANGED NOW WHEN I RUN INTO A LASER PRESSING U HAS NO EFFECT DO YOU KNOW HOW TO RETURN THE U FEATURE THANKS FOR YOUR HELP
|I just checked the newest windows version and 'u' does indeed work when dead. Make sure you don't have control, shift, or alt pressed (the game sometimes gets confused about these, so you might want to press and release them to reset its knowledge). If that doesn't work--well, what version does it show in the title bar? It should be 200507020.|
|On the OS X version, you probably should change the way the program quits. Using the escape key is fine, but not having Apple+Q work probably is the cause of logout failure when you try to shut down your computer without quitting Escape. Normally, it will automatically quit all applications when you shut down, but Escape remains open and cancels logout until you quit it by pressing escape. If possible, you should also add the option to "Quit" under the menu that reads "Escape" at the top, in keeping form with all OS X programs.|
|Max: I wish I knew how to fix this, but I don't think I do. When using SDL, the menu isn't under my control. One thing I don't do correctly is that SDL_QUIT messages (which is probably what gets sent when the OS is trying to close) usually get translated into a "local quit" (like hitting escape) instead of a global shutdown. That's a bug. Does escape exit if it's on the main menu when you try to log out?|
|Yes, it exits if it's on the main menu. Maybe just send a few more SDL_QUIT messages. This will still cancel logout if there's something that needs to be saved, but this is the way that all other OS X programs work so that's good.|
|It's the OS that sends 'em, not me. ;) OK, well, I'll get around to fixing that bug soon enough. It won't quit from places where you have data to save (editing/playing), though.|
|Transponders implemented! Also a new wire present.|
|When will we see bombs? :-)
|I have been thinking about bombs, but they are tricky. So, I'm not sure the right way to do them yet.|
|Discussion welcome, of course.
1. Nothing except bots should require looking at the whole level every turn -- so nothing can be activated "automatically." This would include timers on bombs. Instead, they have to be activated by the player being near them or pushing them.
2. Bombs shouldn't be bots, because we should be able to have lots of them in a level. (??)
3. I thought that there could be a few states for bombs:
(b) after pushed or touched by the player, they become active
(c) after the player steps away, they explode
.. but stepping away is tough to define. the player should be able to switch directions while pushing it, so that would mean that we'd need to include at least the diagonal directions. what about transports? what if the bomb is swapped into bizarro world when it's active? if bots activate bombs too, would a bot standing next to an active bomb prevent it from exploding? what if the player steps away but a bot steps in his place? what if a bot activates a bomb but then the player steps away from it?
4. do bombs activate panels? set off chain reactions with other bombs?
|These things sound like a lot of fun.
I think having bombs explode when you push them into things makes a little more sense than activating/stepping away, mostly because of all those potentially confusing scenarios you listed. Perhaps it could act like a red block normally, but if you pushed it into something that would stop a red, it'd blow up and take the other thing with it (the same way grays remove holes)?
Although I don't know what would happen if you pushed it into electricity--would it disappear, or would it take out the electricity, too? (Hell, maybe you could clear out a region of electricity by pushing a bomb into it.)
Not sure about holes, either. Doesn't seem like a bomb should be able to "blow up" a hole--maybe it could just fall in.
Inactivity could be done with sleeping bombs/heart framers.
Chain reactions would be fun. I'd vote for panel activation, too, and for bot-killing.
|Hmmm...perhaps the bombs should be "timed." Instead of pushing them and making them blow up objects when they make contact with them, you could push them somewhere and then hit a special switch that will set off a timer. Then, after a set number of moves, it'll go off...
Just a thought.
|In terms of level flexibility, a timed bomb (three moves of no contact after initial touch?) would be interesting from a level design perspective. This presumes a blast radius. Alternatively, simply pushing the bomb into another tile could trigger it.
Bombs making holes could be fun, though probably less useful.
Instead of bombs and timing complications, how about a controllable (movable?) laser that destroyed tiles in its path?
|Well, the pushing-bombs-into-things solution assumes that there's no blast radius. But I'd like to have a blast radius. (Otherwise it's impossible to have chain reactions, or situations in which one is trying to delicately avoid collateral damage.) The timer solution requires that I look at every tile on every move, which I want to avoid.
I have throught about the blaster (triggered by an electricity pulse). That would be pretty easy to implement; the main problem seems to be that I would need four of them, one for each direction (something I've also tried to avoid as much as possible). Anyway, I don't think it's really a substitute for bombs, but it's something that might come.
|If the player is invulnerable to explosions, then there could be a blast radius with pushing-into-things type bombs. (Hey, how about a couple of different bomb sizes, even?)
Maybe they could also be triggered by electrical pulses, for variety? (like if they're positioned next to a dangling wire)
|It seems to me that making the player invulnerable to the explosion would make bombs too powerful. It's important that tiles have both menacing and useful aspects.|
|Hmm, one last attempt for the pushing-things-into variety:
Have the bombs explode outward in straight lines, like in Bomberman, except not in the direction they're pushed from. The player couldn't be killed by a bomb he's pushing, but he could be killed by a chain reaction, or by a robot pushing a bomb.
|That sounds doable, but having the explosion extend doesn't seem to make much sense if the bomb is already on top of the wall. Or are you saying that it would explode in the position that it's already in, instead of the position that it would be if the push were successful?|
|Argh, Tom, you are torturing me. You released a new windows build but not one for OSX. I only get about 15 minutes to play at work (on Windows). I really looked forward to trying the transponders at home (on OSX). Boo, hoo.|
|Sorry, that sounds too much like a complaint. Thanks for releasing the Windows build. It makes my workday more bearable|
|I can't update on OSX either...:-(
I want TRANSPONDERS!!! :-)
|Should the new cross-over wire block be pushable?|
|Oops, it's not?|
|Really? I was pretty sure I released an OSX update, but I guess I screwed it up somehow. I'm doing another release right now to make crossover wires pushable, so I'll make sure that OSX is updated.
|Well, damn, I guess it will have to wait until tomorrow, since sourceforge's OSX compile server is down right now.|
|It's still down, sorry...|
|Okay, they finally got the machine back up, and now there is a new version for OSX.|
|I've built a level using transponders, which I've played and solved. But when I go to upload it to the server I get "upload failed: fail bad lev: The solution is invalid!"
(I'm using Escape 200507261; win32)
Which files should I send you to help resolve this?
|Also, I'm still seeing occasional crashes when navigating the menus for loading a level. Here's what I've discovered:
1) This seems to be a mouse-message processing issue. If I use the keyboard, there are no problems.
2) If I quickly single-click a menu item, I can generally get a crash. (This seems to happen most often on the deleted levels menu item, but I've managed to crash every menu item other than Triage; though Triage sub-menus can crash too)
3) If I click slowly, i.e. click the mouse and hold the button down briefly before releasing, the crash doesn't happen.
Perhaps this is something related to how you process the mouse-up message?
|bad lev bug: Hmm, that's strange. The server should be using 200507261 too. The only thing that changed around that time that could cause this is that crossover wires went from unpushable to pushable. Actually, I just tested it and that seems to be the problem. And now it is fixed.|
|mouse crash bug: I just recently took a look at this and made it unreproducible on my laptop, which might mean that it is fixed. (Unfortunately I couldn't find a specific thing that was going wrong, since the problem didn't show up when debugging, urgh.) Can you get the new version and try it?|
|Yes, my level involved pushing a crossover wire. Your fix allowed me to upload the level. Also, the mouse bug seems fixed in this new build. Thanks!|
|I wanted to ask when the next version will be released? I also wanted to know if I had a name before can I restore it if I lost the game and got a new computer because i want the created levels i made but didn't post to the site? If anyone can help me I would apprecieate it you can reach me at my yahoo address firstname.lastname@example.org
|Hey, I also wanted to know how you made the game.|
|how can I make my own game?|
|How do you beat Transponders?|
|Hi Brandon. I'm not sure when the next version will be released; I usually just accumulate fixes until I think that the number of fixes and improvements outweigh the burden of downloading a new version.
You should be able to get back your old player and levels by just copying them from the old computer. Levels are usually saved in the "mylevels" subfolder of escape. You can just copy those over. Your player file is called (something).esp, and it's in the escape folder--if you copy that to the new computer's escape folder (make sure you don't overwrite a player file of the same name on the new computer; rename it if you need to), then you can import it from the player list.
I made this game by programming it up in C++ using the SDL (http://libsdl.org/). I don't think that's the best way to learn programming, and I don't really recommend C++ to anyone. I've been programming for a really long time, so I'm not sure what the best resources are today for learning to program. Maybe somebody else has a suggestion?
As for transponders, are you talking about the tutorial level? If so, my only hint is to remember that transponders are pushable...
|i figured out how to beat transponders, and thanks for the advice! I appreciate it.|
|Back to the bombs discussion.
What if you had a few different kinds of bombs -- up, down, left, right -- that you could push around with the same rules as a red block, and that blow up one tile in the direction they are labeled with. You blow them all up by pushing a button that sends a signal through wires (or transponders!) to a detonator (detonator : blow up bomb :: blue light : change state of blue tile).
In any case, I think the explosion should turn its target tile into a hole (thus when targeting a hole, it can "fall through") and kill the player and any bots on the tile.
Well there's my two cents!
|I like that idea.I found a websit that any of you can visit if you want to mkae your own game!|
|Ooh, I like the idea of bombs creating holes. Makes a kind of sense that there should be some kind of "damage" to the level, and you could still use them to clear stuff out from between transponders.
Although I guess they'd be no good for going through walls, unless you also had a gray block handy.
|Oh, and Brandon: I'd recommend QBasic (or its cousin QuickBasic) for learning how to program. It's downright ancient by now, but it still runs fine on Windows. (Well, Windows 2000, anyway; I haven't tried it on XP but I'd be surprised if it didn't work.) The only problem is that it no longer comes with Windows, so you might have to find it on the internet somewhere.
Anyway, it's very easy to use and there's a lot of stuff built in (graphics, particularly) that could be a pain for beginners in a more modern system. Also, the help system is great--I learned the basics of programming almost entirely by browsing through the help and reading the examples.
|And the original DOS version of Escape was written in QB. ;)|
|ok i'll have to check it out.
|Sorry for all the clutter, but I've got some more bomb suggestions:
I think a bomb should target one tile as the "epicenter" of the explosion. When exploded, this tile should become a hole, the player should die if he is on this tile, and any bots (including dead bots) should be vaporized as if they moved into electricity.
There should also be a blast radius of one tile that doesn't change any tiles, but kills the player and turns living bots into dead bots (dead bots should be unaffected). This blast radius could also trigger chain reactions with other bombs.
Since four different directional bombs is probably not desirable, maybe they could be able to be pushed on top of any tile except one occupied by a bot or player (though I don't know if they should be impervious to electricity? Probably not.)
As far as activation, maybe rather than a detonator activated by buttons like lights, they can be detonated by an independent detonator tile that blows up any bombs within a certain radius when pushed, maybe 4 tiles or something like that.
[One more thing, maybe bombs should target tiles as panels and teleporters do???]
|These are interesting suggestions, everyone.
Remember: the name of the game is simplicity; the general design principle is that of putting together simple building blocks to make complex behavior. Simple things are easier to implement, too.
There are some technical reasons why some of these things won't work. It's not possible to push regular tiles on top of anything except for panels, because of a lack of foresight almost ten years ago. It's not possible to give a moving thing a destination, since there is a single destination per grid space and it remains the same.
Although turning tiles into holes certainly seems "realistic", I think it's a bad idea because holes are pretty useless. That is, it seems like there'd hardly ever be any reason to destroy a tile. At least, that is my opinion. I think 'rough' would make some sense too and be more useful, since you could at least walk over it.
I want to add more things that can be triggered with wires, but I generally think these should not be 'single-use' things like detonators or electricity-off buttons. Part of the tension of wires is that you send out pulses in every direction, so pressing a button can force you to activate more than one thing, or one thing more than once (which can have good or bad consequences). Activating single-use things seems thematically wrong, but that's just a vague sensation I get.
Perhaps the easiest route is to make a bomb a kind of bot (sedentary, like broken or sleeping bots). Bots can be pushed on top of things, and bots can be "activated" (like exploding or moving) from afar. This would have a few drawbacks: first, the number of bombs would be limited. Second, there would be a few oddities; standing on a bomb would kill you, and daleks would walk right on top of bombs (turning them into broken bots) instead of pushing them. You wouldn't be able to push them "into" walls, rather, they'd be activated by a timer (this is good if there is a blast radius, anyway). But mostly I think this makes sense, at least, more sense than what I can imagine with regular tiles... I just can't see a good way to implement them as regular tiles.
Anyway, I'm trying to make changes/additions to the game slowly, so let's see transponders become cannon before we get more crazy stuff...
|Agreed (but you did ask for it! ;) ).|
|I'm not at all trying to discourage discussion.. keep the ideas comin', if you like, just know that I probably won't add any new tiles for a month or so...|
|I edited the level Seige reloaded from the triage folder and saved a new level into the triage folder with a new title and author. I then played and solved the level. Escape prompted me for ratings, and then tried to upload the rating -- but failed when it found that the level didn't exist on the server yet.
1) Should I have saved the level I was editing into 'my levels', not the triage folder that was set by default?
2) I returned to the level menu and uploaded the level. When I go to manage solutions though, my solution shows as 'untitled' not 'original'. This appears to be the case for all of the levels I've uploaded. Does the 'original' moniker only appear for other players?
|(1) Yes, you should never save into triage or any web collection, since it will also move stray levels out of there when updating. (They are sent to the attic, at least, instead of being deleted.) I have a to-do that I should warn against saving into triage.
The reason that it prompted you to rate was that it was in a web collection directory, so it assumes the level is on the server. But, no harm done anyway.
(2) You only see it as "untitled," because that's the name that the solution is stored as in your player file.. like any other solution that you make. It's named "original" on the server, however, and anyone who downloads it will see it under that name. The reason that you don't see that name when you download solutions is that it doesn't overwrite pre-existing identical solutions, so the copy that you have (which is called "Untitled") just stays as is. I suppose when uploading it would be slightly bette behavior if it renamed Untitled solutions to "Original."
|You've probably already considered this, but just in case, I think it might be cool if you animated a blocked transponder beam, making it travel until it hits an obstruction. This could make it clearer to beginners what exactly is going on with them, and there are possibilities for very complex transponder arrangements that would be more immediately understandable (and it would look cool!).|
|Yes, I am going to do that when I rewrite the animation code for wires (which is currently wrong; see those two bug reports in the graveyard). You'll also see electricity travel along wires even if it goes nowhere.|
|About rating levels -- I think it would be cool if there were an option to abstain from rating each of the three aspects of the level. That way, you could just rate the difficulty of a level you haven't yet solved without having decided on a style rating or other such combinations.|
|I've thought about perhaps if there was some code to do tile merging, this is where a tile is effected by the tiles around it, if done efficiently can be very nice for graphics for instance if you have blue blocks which can't be moved, imagen having them merged so they looked more like walls, or having arrays of wires and switches look flat and imposing like one solid object.|
|You know, I tried that DoctorMO, and it didn't work as well as I thought it would. Anyway, the main problem with trying it again is that it would interact very badly with animation, which is the 2nd hardest piece of code in the program... so it is unlikely I'll ever get the courage to do it. ;)|
|By the way, I realize that I have a tendency to respond to suggestions frequently with what amounts to "I already know that" or "That's a bad idea," which might make it sound like I don't appreciate comments, but I really do. I just (a) have put a lottt of time into thinking about Escape and future directions for it and (b) am very picky. Thanks everyone!|
|I've had my ibook (mac os X) go very glitchy and I have enormous problems with crashing ever since downloading the latest version of escape. I still haven't solved the crashing problems, it's an ongoing nightmare. I won't be playing or downloading this game again.|
|"Marc (h00102b024a85.ne.client2.attbi.com) - 02.23.05 09:18:06
Oh Tom, do I need to lecture you about Mac OS X system architecture? You so so so should not be writing user data into an application's bundle! For many reasons. You should write to me describing what you are doing so that I can tell you everything that's wrong about it and why and how you should be doing things..."
I suggest you pay attention to what this guy is saying. This is a disaster for macs.
|Wow, is it really possible to make the OS unstable by writing, while in userland, to a folder that you *have* write permission for? That sounds a little dubious.
My girlfriend has an iBook, BTW, and has been playing and updating Escape with no issues. (but, man, I guess I'd better read up on the OS X so *I* don't make something explode...)
|I'm not interested in your sarcasm. It's rude.
I would like to know why this is crashing my mac and what to do about it.
|I'm sorry that you are having trouble with your computer. I am quite sure it has nothing to do with my game. I say this with some authority because (a) I wrote it, so I know what it does and (b) I have a degree in computer science (working on a PhD now) and understand how operating systems work. It's possible that your trouble started, coincidentally, at the same time you downloaded it, but it doesn't make sense that Escape would cause troubles like that, and it is unfair to think that starting a smear campaign against the game is going to help your computer troubles.
Under no circumstances should a user-level program be able to make your computer glitchy and crash. If it does, that's a bug with the operating system. But, moreover, Escape is at its heart a very simple program; it doesn't mess with operating system files in ANY way. In fact, if you just delete the application bundle it will have had NO net effect on the rest of your computer. So, if you think it's Escape, just delete the bundle, empty the trash, and you are rid of it forever.
[Also, this has nothing to do with Escape writing into its own application bundle; I talked with Marc about it and essentially the only reasons not to do that are (1) it is non-standard from a user's point of view and (2) it makes it impossible to securely install the game for multiple users without installing it multiple times. This same issue comes up on Windows and Linux too, but it's not obvious how to balance the convenience of a single-user self-updating distribution with the option for a multi-user install. Anyway, it's by no means a "disaster for macs."]
|Here's an easy one: the status line of the editor doesn't always refresh after a canceled operation (e.g. click player start button, press esc, click another tile in the pallette. You can now lay down tiles on the board while the status bar still reads "Click to choose player start." A similar problem exists for teleports if you cancel before setting target.)|
|Thanks, I fixed it.|
|Should bots placed on top of wires stop electricity? It seems a mildly inconsistent that they don't, but do block electricity between transponders...|
|In my opinion, the current bot behaviour is good. Take lasers for example: You can stand on top of them without dying. If the bot is standing on the top of a transponder, it doesn't block electricy. So, in a way, the behaviour is consistent.|
|No, they shouldn't, because the player on a wire has never stopped electricity. "Beams" like lasers and transponder beams are meant to be different from the electricity flowing through wires, which is why you need transponders to mediate between the two.|
|Sorry, Anonymous--I wasn't actually being sarcastic, but I guess I could have worded that better. I was just trying to say that it seemed unlikely that writing to the bundle could be the culprit, for the same reasons that Tom said.|
|I can't seem to upload my new level with the Mac OS X version... hmmm.|
|DoctorMO: why, what goes wrong?|
|It dosn't do anything, I hold down ctrl and press 'u' and nothing... I tried all the other modifier keys but nothing happens.|
|I know new tiles are a long way off, but I thought of a candidate for later: blue-yellow and yellow-blue blocks. Blue-yellow behaves like a blue, yellow-blue behaves like a yellow, and the 0/1 switch swaps them the way it swaps horizontal/vertical blocks. (I think this could make for some interesting yellow-pushing puzzles.)|
|It'd be good to have some blocks that you can pull as well as push...|
|noname i just wanted to say that im 13 and i don't really know that much about this game except that its fun:||
|Don't worry, Brandon, some of us block-pushing geeks have been doing this longer than you have been alive (yikes, old!) so we just have really "advanced" notions of what makes a good puzzle. That doesn't mean that we never started out plaing this kind of game just for fun, and I don't want to discourage you from playing, or from making levels!
I think mostly people were just upset that you uploaded a level using someone else's name, so if you avoid that, I'm sure there won't be any more fights... ;)
By the way, you know how to post comments on levels from the game, right? Just select one and press ctrl-c.
|DoctorMO: Yes, I've often thought the same.. the main problem is that I am firmly committed to there being only four inputs in the game: the four arrow keys. So any block that would require you to (say) hold down another key to pull it is not gonna happen.
The closest to a pushable block that I have considered making is 'jelly', which the player can swim through, "pulling" it behind him when he does. But this would be a really annoying way to move things across the level, because you'd have to keep walking around the jelly block for each square you wanted to move it.
Actually, hugbots are already a bit like pullable blocks, in a way.
|Idea: sticky block. Push into it, then pull back and the block will move with you until you move orthogonally to the direction of pull.
Unrelated: is there any particular reason that exit doors open when bots walk across them?
|Yeah, that could maybe work, but it would be a bit tricky to implement, unless implemented as a bot.|
|(Things that are tricky are things that are not activated directly by stepping onto or pushing into them; in this case being activated by walking away from or orthogonal to a block.)|
|About all the levels in the graveyard, could it be possible to update levels without ever having to move them into the graveyard first? That would solve the problem with losing comments of old versions and make uploading new versions generally a little easier. And more clean. (The messages would go to the same place for all versions of the level.)|
|To do that would mean changing the way the server works substantially, because it identifies a level by a hash of its contents, so changing the level at all means it has to have a different entry on the server.
But again, I don't really think there's much of a problem with the way things work now. The only thing I'd like to add is a "previous version" link to each level, so that someone reading the comments can follow along to the comments that came before it.
|Ok. I have naturally no ideas how things work. If it's a too big thing, it's better to not do changes like that.
I just began to think about it, because there have been many versions of a few certain levels lately.
|True. But that is what I had always hoped for from triage. (Although, I guess it's better if the changes are the result of feedback, rather than just the author realizing on his own that something is screwed up. ;))|
|You could always but into the engine the ability for all switches to do more than one thing, this adds a little bit more complexity as stepping on a switch could make the puzzel very diferent. adds a bit of depth anyway. when it comes to how to make the level editor manage this, I'd say instead of a 'layer' having 'change this square to this' and then have a compound of those instructions. you could even keep the layer for backwards compatability.
btw, I have a really good level i want to post but can't, [ctrl]-u does not work on the Mac-OS-X version, nore does any of the options when holding down [ctrl]. (non of the other keys work either)
|really? Does it just do nothing? I have several friends who use osx and upload levels, and also I have tested it myself, so I am interested to know what the issue is. Maybe you are not using a US keyboard, and that is the source of the trouble?|
|Yes I'm using the UK keyboard layout, but I would have suspected [ctrl] to be the same encoding.
Is there a way to get around this problem? any way to test it?
|Yeah, I would expect it to work too. Using apple or alt or altgr or whatever doesn't do anything either? It's essentially an SDL bug if it's not using ctrl, which is a pain since there's not much I can do to fix it (since I don't understand that code). But I can try it out next time I'm on an OSX machine.|
|I've tried with a US keyboard set...
OSX Tiger 10.4.2, with XCode 2.1 installed
UK keyboard, uk language settings.
perhaps I'm doing somthing wrong?
|Well heres the interesting thing, when I hold down any of the other modifiers, it goes to a level begining with U, C or R (which ever one I try)
I forget, is this a GPL game, can you get me to test it?
|It fails with US keyboard layout, too?
I just thought of something: Have you registered your player with the server? (R on the main menu?)
Yes, it's a GPL game, and I'm glad to have you test it, I just don't know what test to do!
|Ah! there we go, registered my user and now uploaded the level. lol
perhaps a warning if you try and do somthing without your user being registered...
|Yes, that's definitely my fault for making that non-obvious! Anyway, I'm glad it works. Thanks for making levels.
I added warning messages and they'll be in the next release (along with some more exciting changes!)..
The only problem I have had is that the small font is almost impossible to read on a monitor with good resolution, which is most annoying when trying to see what the record time is.
|That's a reasonable complaint.. unfortunately, hard to do anything about. (The best I could imagine would be a 2x zoom mode for very high resolutions.) On the other hand, I could complain that if you can't make out the individual pixels, your resolution is set too high for your monitor/eyesight... ;)|
|Indeed, this is a great game. Great work, Tom 7.|
|Congratulations Tom 7, great game and PhD|
|I didn't get my PhD yet. ;)|
|Oops, I thought you did! ;-) So I hope you'll get it very soon!
Question: Can I get help anywhere when I'm stuck on a certain level without having found any solution by myself yet? Or might it be that I'm just too stupid and some levels are made only for extraordinary clever people...?
I've tried to edit a level - OSX 10.3., iMac G5 - it seems rather complicated to find out where exactly certain positions on the hidden (2nd, background) layer are - is this normal, or a Mac specific problem? Is it possible to define a position, for example coordinates x,y? I realize that some problems might be due to my swiss keyboard, so "?" does not work, but ctrl-+ . ctrl-u does undo, ctrl-s would not safe any progress.
|Why am I banned from scribble? Does making a negative comment here get one banned? |
|Anon: No, I just fixed a problem where bans weren't actually doing anything on scribble, so a bunch of old bans went into effect. The reason I wrote was "Excessive immaturity on scribble." Your whole ISP is banned, so it's quite possible that you are just getting unfairly banned because of something someone else did, and a long time ago. I don't usually ban people unless they are being unreasonably mean without provocation. I definitely don't ban people for merely posting civil but negative comments!
Anyway, the ban is pretty old so I removed it. Let's hope that whoever was being uncivil is not planning on striking again.
|Kirima: I'm workin' on it.. a few more years, I guess.
As for hints, you can ask people for hints (maybe here), or you can read the comments on levels with the spoilers turned on; that will usually give something away. But I find that solving a level with hints is a lot less fun. It is DEFINITELY the case that some of these levels are REALLY HARD. There are several that I've wasted many hours on and not solved!
For editing: I'm not sure what problem you're reporting. What do you mean when you say you want to find out where certain positions "are"? If I'm guessing correcly, then this might help: instead of using the menu at the top to switch between the layers, put your mouse pointer over the place where you want to edit the alternate layer, and then press 'y' on the keyboard to toggle. That way your mouse is already in the right place.
Sorry about the international keyboard issues. I want to sort this out at some point, but I think it's more a problem with the SDL than with my code. (Unfortunately, as I only have US keyboards around, the problem is somewhat distant for me...) BTW, ctrl-s doesn't do anything. While playing, 's' alone saves, and 'u' alone undos. While editing, 's' saves the level, and 'u' doesn't do anything that I recall.
|Thank you, Tom 7. So I've tried to find help "here", read the comments, and found out that some levels seem to be REALLY HARD - I've had a HUGE problem on level 617... - I realized that I'm not the only one, so I feel less stupid now! :-) And now I know that you are sure, positive, that there does exist a solution for every single level.
While playing, "u" alone does undo, and BTW ctrl-u does it, too! "s" alone does not do anything - or maybe I just can't understand the way it does save or what exactly this saves? I couldn't figure out what to do AFTER "s" - the file might be saved anywhere, but where? Do you know what I'm trying to ask? (Sorry, my english...)
For editing: you were guessing right, I've tried to do it the way you suggest, and it works. "s" works as well, and no problem to find the saved file.
|Yeah, revenge of the computers is definitely one of the hardest levels out there. I actually wrote a computer program to solve it, though some people have done it by hand.
's' should work; it silently saves your current position and if you later press 'r' then it will restore it. This only persists while the same level is open, so if you quit back to the load screen, then the checkpoint is lost.
BUT -- the new version which I will release this week (almost done!) has "bookmarks", which are saved in your player file and are much more straightforward. So don't fret that 's' isn't as useful as you might like. ;)
|I knew you did write a computer program to solve this revenge of the computers, that's WHY I don't feel too stupid anymore. ;)
"r" will restore - ok, thank you, I did not get that.
I'm looking forward to the new version - and I'm curious! I'm sure it will be just great and "better" and wonderful! :)
|The new bomb tiles are pretty interesting. The rules for the bomb are a bit confusing though, regarding what tiles the explosion affects.
Destroyed by bombs:
blue, red, green and gray and gold blocks (including broken)
buttons, wire and transponders
trigger panels (both gray and colored)
decorative tiles (stop, arrows)
lasers and bots
steel blocks and spheres.
traps, holes and teleports
on/off switchs, 0/1 blocks
electricity or colored floor of any state
This complexity makes more interesting levels possible, but means that players will have to learn (by trial and error?) which blocks can be destroyed.
IMHO bombs should be pushable into holes, resulting perhaps in either the bomb vanishing completely, leaving the hole, or perhaps exploding upwards and filling the hole in with a broken grey block.
|Wow, I've really messed up my playerfile with this build. I tried to play through my recent level again; I launched into it, and then tried pushing R to restore. Escape put me at the exit door, with bots and walls intact. I moved off the exit door and back on to finish the level and got a Bug error message (something about the solution optimizer having an invalid start position).
I was prompted to press enter to file a report. When I did so, Escape crashed.
Upon relaunch my player file in the menu reads:
stephan.esp **ERROR** (-1)
and selecting it yields
"Couldn't read player stephan.esp"
|Stephan: humm, sorry about that. Was everything working fine before the restore thing, like, you think that's what caused it? Did you restore without having saved first? It sounds like a pretty crazy bug, so if you can give me any more information (or steps to repeat it), let me know. These dataloss bugs are by far the worst, so fixing 'em are a high priority.
Your player file should be backed up automatically every few days. Go inside the escape directory, and there should be a group of files named stephan.esp~nnnn where nnnn is some number. Copy the one with the largest number to a filename like "stephan2.esp" and it should be good again. Also, it might be helpful if you could send me the broken "stephan.esp" if it's not empty.
|Stephan: I agree that bombs require learning a new property of tiles (that is, their bombableness), and all things equal, that's undesirable. But bombs are way too hard for level designers to control if they can destroy anything. I've tried to make sure that there are some blocks from each broad category (wall, pushable, etc.) that are destroyable and some that aren't. BTW, you got it slightly wrong, so here is the actual list from the code. The "true" ones at the top are bombable and the false ones are invincible.
/* some level of danger */
/* useful */
/* obvious */
/* a soft metal. ;) */
/* ?? sure? */
/* don't want walls made of this
ugly thing */
/* but doesn't count as picking it up */
/* ?? easier */
/* obvious */
/* for symmetry with holes.
maybe could become holes,
but that is just more
/* useful for level designers */
/* Seems sturdy */
/* made of metal */
/* shouldn't bomb the floorlike things,
so also their 'up' counterparts */
As for pushing bombs into holes, well, too late for that now. Although it makes sense in a way, I think it's less regular, because bombs are bots and other bots can't be pushed into holes.
|And: I made a new thread for Escape feedback, so you might want to use that one instead so that others can follow the discussion.|
|how do you make it so like an exit apears if you get the ball on its color circle?
|this whole editing the ip address can be mighty confusing, Tom 7. ;)|
|Anon: Just set the destination of the panel (color circle) to be some tile, then put an exit in the alternate layer there (press 'y' to edit the alternate layer).
Anon (t!): Err, what do you mean?
|now you've edited those two comments away! You are a slippery one, Tom 7.|
|Ah, I understand now. Both posts were made by someone other than me (probably the same person). Actually, anybody can post as any name, but if someone posts pointless things as "Tom 7" I'll probably delete it rather than change the name.|
|i cant upgrade my escape. it said it couldn't get upgrade info. what can i do???|
|all what accomplish up to berries. often plants often to ramble neighborhood more than playing I know|