Announcement: Why not try our official idea generator for inspiration when making puzzles?


Caravel Forum : DROD Boards : Architecture : Porthole Demo (Now you're puzzling with Portholes!)
123
Page 4 of 4
New Topic New Poll Post Reply
Poster Message
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged
icon Re: Porthole Demo (0)  
*Accidentally killed this message by confusing "quote reply" and "edit". No big deal, except I'm ghost quoting myself in the next post.*

____________________________
http://beepsandbloops.wordpress.com/

[Last edited by RoboBob3000 at 04-10-2012 09:51 PM]
04-09-2012 at 07:53 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged
icon Re: Porthole Demo (+1)  
If I set things up to run as global scripts, they run first in the overall turn order in subsequent rooms, in the order they were activated, correct?
I tested my hypothesis and it was incorrect. Regardless of when a global script was started, global scripts in subsequent rooms will run in the order in which the corresponding character was created. The only way to edit the global script turn order is by deleting and recreating characters. Editing a global script or renaming a character doesn't alter this turn order.

I can work around this, but it is unintuitive. I would expect that global scripts would be run in the order they were started with the appropriate script command.

____________________________
http://beepsandbloops.wordpress.com/

[Last edited by RoboBob3000 at 04-10-2012 09:54 PM]
04-10-2012 at 09:50 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged

File: Porthole Editor V16.hold (30.4 KB)
Downloaded 62 times.
License: Public Domain
icon Re: Porthole Demo (+5)  
Attached is the latest version of the editor. This contains several additional improvements, and is the most usable version of the editor so far by a mile. I still want to generalize elements as much as I can - that will be a goal of future revisions.

Seth - I love your energy ball/spawner/receptor graphics. Can you fit them into the standard character image template to give them n/s/e/w directions? Thank you!

Combining changelog for the past two versions:

v15
Fixed jump - you no longer need to "land" on a tile to be able to jump from it
Fixed item bump system
Removed appear-at scripts with simpler version using _MyScript variables (reducing total lines of code by an incredible 95%!)
Removed self-location detecting scripts (thanks to _MyX and _MyY variables)
Replaced many orientation-related variables with _MyO variables
Changed turn order system to simplify adding additional objects
Imperative ghost for many NPCs - prevents need for all npcs to disappear/reappear when throwing portal

v16
Added improved turn order management to support deletion of NPCs without code change
Generalized input-gathering NPCs
Set default scripts for all major elements
Set player, portholes, feeler, and logic NPCs as global scripts
Added GlobalInitializer character to initiate global scripts
Changed event handler NPC so that it's only job is to handle game events
Added StartingPosition chacacter - place this character as the player's starting position in a room
Exit character - This character represents the exit, and will set appropriate flag
Particle effects for fired portholes!


Things to know when editing with v16:

1. Your first room must contain an NPC of GlobalInitializer character type as the first item you place. This character is indicated with a (!) in the list.
2. Characters marked with (*) are placeable. You should not place characters marked with (-).
3. Place StartingPosition and Exit characters as your entry point and exit to your room. You can have one starting position, but several exits. StartingPosition will use its own location and orientation.
4. Place cubes and turrets in your level by declaring them as the appropriate character type. There are five pre-made characters, all functionally identical. Each NPC you place must be a unique character, so at the moment you can place a maximum of five of these apiece. Numbering order doesn't matter as far as you're concerned.
5. Energy balls/receptors/spawners must be placed as a numbered trio. The location of the energy ball doesn't matter - it will spawn in the spot the spawner is facing.A receptor will accept any ball that lands in in.
6. Cubes/turrets/balls/spawners/receptors cannot be placed with a diagonal direction.
7. Place NPCs of character type Invisible to create no-portal walls.
8. Located in the character type EventHandler is a skeleton script for handling Exit and EnergyBallRecptor events. Importantly, this is where you will indicate what level entrance you want to travel to when reaching the exit. Copy the code from the default script and use as you see fit.

____________________________
http://beepsandbloops.wordpress.com/

[Last edited by RoboBob3000 at 04-11-2012 01:09 AM]
04-11-2012 at 01:05 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Seth
Level: Master Delver
Avatar
Rank Points: 264
Registered: 02-17-2012
IP: Logged
icon Re: Porthole Demo (+1)  
RoboBob3000 wrote:
Attached is the latest version of the editor. This contains several additional improvements, and is the most usable version of the editor so far by a mile. I still want to generalize elements as much as I can - that will be a goal of future revisions.

Seth - I love your energy ball/spawner/receptor graphics. Can you fit them into the standard character image template to give them n/s/e/w directions? Thank you!

Combining changelog for the past two versions:

v15
Fixed jump - you no longer need to "land" on a tile to be able to jump from it
Fixed item bump system
Removed appear-at scripts with simpler version using _MyScript variables (reducing total lines of code by an incredible 95%!)
Removed self-location detecting scripts (thanks to _MyX and _MyY variables)
Replaced many orientation-related variables with _MyO variables
Changed turn order system to simplify adding additional objects
Imperative ghost for many NPCs - prevents need for all npcs to disappear/reappear when throwing portal

v16
Added improved turn order management to support deletion of NPCs without code change
Generalized input-gathering NPCs
Set default scripts for all major elements
Set player, portholes, feeler, and logic NPCs as global scripts
Added GlobalInitializer character to initiate global scripts
Changed event handler NPC so that it's only job is to handle game events
Added StartingPosition chacacter - place this character as the player's starting position in a room
Exit character - This character represents the exit, and will set appropriate flag
Particle effects for fired portholes!


Things to know when editing with v16:

1. Your first room must contain an NPC of GlobalInitializer character type as the first item you place. This character is indicated with a (!) in the list.
2. Characters marked with (*) are placeable. You should not place characters marked with (-).
3. Place StartingPosition and Exit characters as your entry point and exit to your room. You can have one starting position, but several exits. StartingPosition will use its own location and orientation.
4. Place cubes and turrets in your level by declaring them as the appropriate character type. There are five pre-made characters, all functionally identical. Each NPC you place must be a unique character, so at the moment you can place a maximum of five of these apiece. Numbering order doesn't matter as far as you're concerned.
5. Energy balls/receptors/spawners must be placed as a numbered trio. The location of the energy ball doesn't matter - it will spawn in the spot the spawner is facing.A receptor will accept any ball that lands in in.
6. Cubes/turrets/balls/spawners/receptors cannot be placed with a diagonal direction.
7. Place NPCs of character type Invisible to create no-portal walls.
8. Located in the character type EventHandler is a skeleton script for handling Exit and EnergyBallRecptor events. Importantly, this is where you will indicate what level entrance you want to travel to when reaching the exit. Copy the code from the default script and use as you see fit.

(The signs can be a mosaic floor in a texture pack or something).
LOVE your work!!!

And you made the turns faster yay!

Still same prob about endless turn though.

____________________________
997 error exceptions in the code,
997 error exceptions,
you take one down, patch it around
1278 error exceptions in the code...

[Last edited by Seth at 04-11-2012 03:09 AM]
04-11-2012 at 02:39 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged
icon Re: Porthole Demo (0)  
Seth wrote: Still same prob about endless turn though.
Can you post a hold using v16 that produces this problem so that I can try to understand what causes it? Thanks!

____________________________
http://beepsandbloops.wordpress.com/
04-11-2012 at 03:20 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Seth
Level: Master Delver
Avatar
Rank Points: 264
Registered: 02-17-2012
IP: Logged

File: Seths Porthole Editor V16.hold (30.8 KB)
Downloaded 46 times.
License: Public Domain
icon Re: Porthole Demo (+2)  
RoboBob3000 wrote:
Seth wrote: Still same prob about endless turn though.
Can you post a hold using v16 that produces this problem so that I can try to understand what causes it? Thanks!
I copied your hold and copied the entrance room to 1E. When I playtest this room, it starts an endless loop on the first turn.

Oh -- you know about Ctrl-F7 to watch variables while playing, right?

Oh and the last thing to do on the images now is to fix the orientations so expect it soon now.

____________________________
997 error exceptions in the code,
997 error exceptions,
you take one down, patch it around
1278 error exceptions in the code...
04-11-2012 at 03:27 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged
icon Re: Porthole Demo (+2)  
Seth - in your hold you have two turrets of character type "Turret1". Each turret in your hold needs to be a different character type. Change one to "Turret 2" and your hold will work again. Have fun!

____________________________
http://beepsandbloops.wordpress.com/
04-11-2012 at 04:49 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Seth
Level: Master Delver
Avatar
Rank Points: 264
Registered: 02-17-2012
IP: Logged
icon Re: Porthole Demo (0)  
RoboBob3000 wrote:
Seth - in your hold you have two turrets of character type "Turret1". Each turret in your hold needs to be a different character type. Change one to "Turret 2" and your hold will work again. Have fun!
Thanks!

____________________________
997 error exceptions in the code,
997 error exceptions,
you take one down, patch it around
1278 error exceptions in the code...
04-11-2012 at 04:51 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Seth
Level: Master Delver
Avatar
Rank Points: 264
Registered: 02-17-2012
IP: Logged

File: Portal tiles.rar (17.8 KB)
Downloaded 53 times.
License: Public Domain
icon Re: Porthole Demo (+2)  
HERE YOU GO!!!

It was hard and messy at the end but I did it!

____________________________
997 error exceptions in the code,
997 error exceptions,
you take one down, patch it around
1278 error exceptions in the code...
04-12-2012 at 01:49 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Seth
Level: Master Delver
Avatar
Rank Points: 264
Registered: 02-17-2012
IP: Logged
icon Re: Porthole Demo (0)  
Hmmm I might try to modify his so it goes half life style so the portal gun turns in to a pistol!

____________________________
997 error exceptions in the code,
997 error exceptions,
you take one down, patch it around
1278 error exceptions in the code...

[Last edited by Seth at 05-04-2012 12:34 AM]
05-04-2012 at 12:34 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: Porthole Demo (0)  
Robobob, we've imported V16 of the porthole demo. Looking at your custom character default scripts, it looks like there's a broken Speech command about three pages down in the "*EnergyBall1" (through 5) default scripts. That is, we see "Speech ?".

Can you check whether that speech exists in your local copy of the hold file? If the speech exists properly in your copy (i.e., it doesn't say "Speech ?", but has a filename displayed there), then it's likely we can reproduce the long-standing export bug where attached data can get lost during export.

In that case, I'm hoping I can have you send me your .dat files as-is so that I can try exporting the hold on my end in order to reproduce the problem in my debugger and hopefully fix it.

Edit: hmm...wait...I just tried importing the hold again and now see:
Speech "$EnergyBall1Timer$",Normal,Self,1,.
That looks fine. Wonder why it went bonkers in the other copy we have... This looks like a false alarm. Sorry about that.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 05-22-2012 06:31 AM]
05-22-2012 at 06:22 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged
icon Re: Porthole Demo (0)  
mrimer wrote:
Edit: hmm...wait...I just tried importing the hold again and now see:
Speech "$EnergyBall1Timer$",Normal,Self,1,.
That looks fine. Wonder why it went bonkers in the other copy we have... This looks like a false alarm. Sorry about that.
It's the old Speech copy bug, I'm sure. It got mentioned during D4 development, but probably got forgotten about again. I'll remark the topic on the DRPG board for now as Bug Verified, but it does need to be dealt with for GatEB as well.
05-22-2012 at 06:41 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged
icon Re: Porthole Demo (+1)  
mrimer wrote:
Robobob, we've imported V16 of the porthole demo. Looking at your custom character default scripts, it looks like there's a broken Speech command about three pages down in the "*EnergyBall1" (through 5) default scripts. That is, we see "Speech ?".

Can you check whether that speech exists in your local copy of the hold file? If the speech exists properly in your copy (i.e., it doesn't say "Speech ?", but has a filename displayed there), then it's likely we can reproduce the long-standing export bug where attached data can get lost during export.

In that case, I'm hoping I can have you send me your .dat files as-is so that I can try exporting the hold on my end in order to reproduce the problem in my debugger and hopefully fix it.

Edit: hmm...wait...I just tried importing the hold again and now see:
Speech "$EnergyBall1Timer$",Normal,Self,1,.
That looks fine. Wonder why it went bonkers in the other copy we have... This looks like a false alarm. Sorry about that.
The "Speech ?" does exist in my copy. I'm not sure when or how that might have creeped in, but I wouldn't be surprised if it was my doing. It was never attached to a file. That line was likely originally written in 3.0, and has seen numerous copy/pastes (since I edit my scripts outside of DROD).

I pruned a bunch of variable names at one point, but the timer variables wouldn't have been one of them (evidenced by the fact that they are still referenced in several other locations).

My dats are attached. Please edit them out of this post once you've grabbed them. :)

Edit: No they're not. 18MB.

____________________________
http://beepsandbloops.wordpress.com/

[Last edited by RoboBob3000 at 05-22-2012 07:35 AM]
05-22-2012 at 07:32 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged
icon Re: Porthole Demo (+1)  
I've been developing this hold on two different computers - my laptop and my desktop. What I posted last night (where I saw "Speech ?") was from my desktop. I think I originally exported v16 from my laptop, so what I was reporting last night from my desktop was probably from an imported version of the hold.

More importantly, v16 on my laptop *does* contain the correct speech.

Attached are the .dat files from my laptop installation.

This is a work laptop and will actually no longer be in my possession by Friday afternoon, so if there's anything else you could use, let me know.

Edit: Attachment grabbed & removed by Schik.

____________________________
http://beepsandbloops.wordpress.com/

[Last edited by Schik at 05-22-2012 07:37 PM]
05-22-2012 at 07:25 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged

File: Porthole Editor BugTest.hold (23 KB)
Downloaded 50 times.
License: Public Domain
icon Re: Porthole Demo (+3)  
I can reproduce the speech loss bug on my system. Try this out on yours. If it doesn't work, I'll provide my .dats again.

1. Import the attached hold.

2. Look at the character type "-EnergyBallScript". This character contains the only line of speech in the hold, shortly before the label "Birth". Verify this speech exists.

Speech "$EnergyBallScript$",Normal,Self,0,.

(You might be better off copy/pasting the script into somewhere where you can ctrl-f it.)

3. From the hold selection screen that you are brought to right after you click "Build Levels" from the title, select "Porthole Editor BugTest" and choose "Copy".

4. Go to the "Manage" screen and delete the new copy of the hold you just created.

5. Select "Porthole Editor Bugtest" again. Ding! If you go back in, you'll find that the speech has disappeared.

____________________________
http://beepsandbloops.wordpress.com/

[Last edited by RoboBob3000 at 07-04-2012 08:17 PM]
07-04-2012 at 08:17 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged

File: Porthole Editor V17.hold (30.2 KB)
Downloaded 90 times.
License: Public Domain
icon Re: Porthole Demo (+5)  
Attached is v17 of the Porthole editor. This update is another significant revision to the scripting and makes level creation even easier than before, successfully generalizing element scripts even further. After this release, I'm going to be able to move forward with tweaking actual game mechanics. Level design comes soon after!

v17
-Generalized each element type into a single default script. No more Cube1, Cube2 and Cube3 characters. Now if you want a cube, just create an NPC with character type "Cube". (Due to DROD limitations, the maximum number of elements created this way needs to be hard coded, and is currently set to a maximum of 20 for each type.)
-Completely revamped turn order system such that it behaves more like a mutex. This allows the in-game turn order to be used.
-Removed dependence on global scripts. All necessary initializing is now done by the player character.
-Changed diagonal portal-launching mechanics.
-Added Seth's energy ball/launcher/receptor graphics


How to edit with v17

1. Characters marked with (*) are placeable. You should not place characters marked with (-).
2. The character named ***Player needs to be placed before any other character in the room. Place only one.
3. Place Cubes/Turrets/EnergySpawners/EnergyReceptors in your level by declaring them as the appropriate character type. You can place a maximum of 20 of each type, though once you have that many you may notice performance issues. They cannot be placed in a diagonal direction.
4. Place NPCs of character type Invisible to create no-portal walls.
5. Place an Exit character as the exit to your room.
6. Located in the character type EventHandler is a skeleton script for handling Exit and EnergyReceptor events. Importantly, this is where you will indicate what level entrance you want to travel to when reaching the exit. Copy the code from the default script and use as you see fit. Don't place a character of EventHandler type - just copy/paste its script into a new character.
7. Ensure that your room has a player entrance at (36,1). When playtesting, always start from that square.

____________________________
http://beepsandbloops.wordpress.com/
07-05-2012 at 10:03 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
RoboBob3000
Level: Smitemaster
Avatar
Rank Points: 1978
Registered: 10-23-2003
IP: Logged

File: Porthole Editor V19.hold (30.8 KB)
Downloaded 53 times.
License: Public Domain
icon Re: Porthole Demo (+5)  
Hey there, Porthole thread. Long time, no see!

I was told that v17 was corrupt. I loaded it into TSS and sure enough there was an error. No idea what the problem is, but I do remember that this was originally developed in TCB, so maybe there's an incompatibility?

Anyhow, I found a file on my PC named "Porthole Editor V19.hold". I have no idea what's different about it from previous versions, but I loaded it in to TSS and it worked. It's dated 2013, so I think I must have been exploring TSS scripting additions at the time. It's otherwise untested. I provide it here for history's sake. :D

____________________________
http://beepsandbloops.wordpress.com/
12-03-2019 at 10:42 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
123
Page 4 of 4
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Architecture : Porthole Demo (Now you're puzzling with Portholes!)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.