u p d a t e |
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... |
| Sweet. |
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. ;) |
| Selection rectangle! |
| 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... |
Tom,
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.
Great game. |
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. |
Ah, good.
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.
Stephan:
(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.
(3) Yeah...
(OT) Sure. |
| Great, next you're gonna tell me I need three different kinds of spacebars... |
Tom,
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:
Error signature
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 <?>
Suggestion:
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. |
hi
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.
|
Thanks!
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.
Linky: http://nuclearnova.com/escape.php |
| 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? |
| Oh snap. |
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. |
Hi,
I am unable to register. It says:
"Unable to register. Try again later!"
Thanks,
Dorothy |
Hi,
I am unable to register. It says:
"Unable to register. Try again later!"
Thanks,
Dorothy |
Hi, I am unable to register.
Thanks,
Dorothy |
Hi, I am unable to register.
Thanks,
Dorothy |
| 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...
fail: []
try 32308 1299749136...
fail: []
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...
fail: []
try 1998 1460649003...
fail: []
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? |
Hi Tom,
Thanks Tom. It was my firewall blocking the application. I have set it to allow and now it works.
Thanks again! |
Hi Tom,
Thanks Tom. It was my firewall blocking the application. I have set it to allow and now it works.
Thanks again! |
| Phew! |
| 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"
Press Cancel
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. |
Suggestions:
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?
And finally,
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). |
heh.
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.
Thanks |
| 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! |
Hi!
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! |
OMG complex!
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! |
Editor Bugs:
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... |
| whoops, sorry... |
| 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
RALPHDMOONEY@HOTMAIL.COM |
| 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. |
| Okay cool. |
| 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:
(a) inactive
(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?
errr |
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! |
| Great! |
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 krazzy_kidd2005@yahoo.com
THANKS |
| 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." |
|