Rubicon Forum
Welcome, Guest. Please login or register.
October 21, 2014, 08:44:26 AM

Login with username, password and session length
Search:     Advanced search
Undeletable components are now shaded blue when loading a level in.
5463 Posts in 238 Topics by 2430 Members
Latest Member: Shreyas
* Home Help Search Login Register
+  Rubicon Forum
|-+  General
| |-+  Support (Moderator: Bucky)
| | |-+  Call for Rubicon beta testers
« previous next »
Pages: [1] 2 3 Print
Author Topic: Call for Rubicon beta testers  (Read 30901 times)
jnz
Director
*****
Posts: 493


View Profile
Call for Rubicon beta testers
« on: September 19, 2009, 06:14:32 PM »

UPDATE: This version is now live on the site.  Thanks to everyone who helped with testing.




A while back Kevan was kind enough to send me a copy of the Rubicon source code to see if I could fix some bugs and make some improvements in areas that were bothering me.  I've made some progress and I'd like to share what I currently have with the community for feedback and testing. 

Changes (1b27):
  • Upgrade to Processing 1.0
    • Should stop the occasional lockups on computers with SpeedStep or Cool'n'Quiet
    • Changed font rendering.  I'm interested to hear if this results in any noticeable change, especially for people not on Windows
  • Fixed Locked Pieces Bug
  • Changes to Copy-and-Paste:
    • Add ability to Cut (press X)
    • Paste rectangle now snaps to the grid
    • Use alternate drawing routine which should be much faster
  • Pixel-accurate click handling on all buttons.  This was especially noticeable when clicking on the right hand side of the Game and Sandbox buttons
Changes (1c27):
  • Fix "accidental draw" bug when dragging selection rectangles
  • Selection rectangles can now be resized after you initially draw them by holding shift again.  This is experimental.  I'm not sure if the advantage outweighs the annoyance.
Changes (1d27):
  • Framerate not locked to 10fps when machine is not running
Changes (1e27):
  • Some drawing optimizations to save CPU time on most levels
  • Fix crash when trying to load a level while your network connection is down
  • Load dialog can be canceled by pressing Esc
  • Fix high CPU usage when moving mouse on the Main Menu or alert dialogs (introduced in 1d27)
  • Shift-clicking always starts a new selection rectangle (revert change from 1c27)
Changes (1f27):
  • All alerts now respond to Enter and Esc
  • When solving a user-created level the Clear button now only clears your pieces, not the pieces from the original level
Changes (1g27):
  • Machines that are solved temporarily during execution now report the last time they become solved instead of the first
  • Single stepping (press 'S')
Changes (1h27):
  • Allow changing the selected item with the arrow keys, 0-9, A-F, and ?
Changes (1i27):
  • Allow toggling between barrels and crates when using the 0-9, A-F, and ? keys
Changes (1j27):
  • Add the ability to save levels to browser cookies (Shift-click the Save button)
  • Fix some crashes when performing a load that is disallowed by the same-origin policy
Changes (1k27):
  • Don't allow placing pieces when any key is being pressed
Changes (1m27):
  • Upgrade to Processing 1.1
  • Fix odd behavior when loading a level with invalid characters in the level data
Changes (1n27):
  • Fast forward (shift+click on the Play button)
« Last Edit: May 01, 2010, 04:22:42 AM by jnz » Logged
Rene
Director
*****
Posts: 715


View Profile Email
Re: Call for Rubicon beta testers
« Reply #1 on: September 21, 2009, 08:20:37 PM »

Thanks, jnz, for working on improving the applet! And well done, good improvements!

I have used your updated version when solving Gee66's Half and Half. The copy-paste speed is quite an improvement. It is actually possible to drag large copies around now, the cpu does not go 100% anymore while dragging - no more cooling fan hair blower anymore ;-). The snap-to-grid is also a handy improvement.
The Cut is a nice idea, and works well, but I expected it to erase the origin when you press X, not when you paste it (- but then put it back when you cancel the paste)

The locked pieces bug seems to be solved now, although I was never bothered that much about it (and it prompted the creation of the silhouette puzzles ;-)
Pixel accurate click works.

I did not notice anything different in the fonts - but then again, I am on a Windows Vista system.

Did you fix the "accidental draw" bug as well? You know, when you want to select something with shift-click, but accidentally draw over it? I tried to reproduce it in your version, but did not manage. The old version kept on drawing when you press shift while holding the mouse down. Your version switches to selecting as soon as you press shift. One improvement on that could be to reset the selection origin the moment you press shift

Then, my requests  Smiley
  • What annoys me most, is that you cannot save to the warehouse directly from the applet. Now you have to remember the cryptic code for the level and retype that in the warehouse dialog. Shouldn't it be possible to invoke the warehouse directly, fill in the code, and even fill in the "follows or solves" field. At minimum it should be possible to copy-paste the level name
  • Copy-paste between levels should make it easier to re-use. With that, you could copy (parts of) an old solution, or copy part of the solution to an empty level to try some things. You could even make a "handy components" level - you know: with a template copier, a row of 0-F barrels, a F-0 crate generator, etc
  • While on the subject, a "handy components" library would be nice  Wink
  • A pause button, that would freeze the action (you would still have to push "stop" to make any changes to the solution). When we have the pause, then a "do one step" option, or "slow motion" option would be very handy. I now sometimes use a screen capture tool like Easy Screen Capture (http://www.longfine.com/), to understand what is going on.

Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #2 on: September 22, 2009, 03:09:54 AM »

Thanks, jnz, for working on improving the applet! And well done, good improvements!

Thanks, Rene.  Glad you like it.

The Cut is a nice idea, and works well, but I expected it to erase the origin when you press X, not when you paste it (- but then put it back when you cancel the paste)

Yes, the "Excel style" cut and paste is a little weird.  It was just easier to do it this way.  And after I got it working I found that it had a couple of advantages.  You can easily see how far you are moving something relative to the original location.  And you can switch back and forth between Cut and Copy on the fly by pushing X or C before you Paste.

Did you fix the "accidental draw" bug as well? You know, when you want to select something with shift-click, but accidentally draw over it? I tried to reproduce it in your version, but did not manage. The old version kept on drawing when you press shift while holding the mouse down. Your version switches to selecting as soon as you press shift. One improvement on that could be to reset the selection origin the moment you press shift

I'm pretty sure it is still in there.  This is actually a problem in both Processing and the way Rubicon detects shift-clicks.  The Processing bug is http://dev.processing.org/bugs/show_bug.cgi?id=638.  The problem on the Rubicon side is that it doesn't pay attention to the shift modifier on the mouse event.  Instead it sets a flag when it sees the shift key pressed and clears it when the key gets released.  Fixing either of these will fix the problem but they should probably both be corrected.  I'm still working on some refactoring of the clipboard selection code.  Once that's done I'm hoping it will be easier to fix this.

What annoys me most, is that you cannot save to the warehouse directly from the applet. Now you have to remember the cryptic code for the level and retype that in the warehouse dialog. Shouldn't it be possible to invoke the warehouse directly, fill in the code, and even fill in the "follows or solves" field. At minimum it should be possible to copy-paste the level name

I think there should be some way to do this but I think it would require coordinating with the warehouse.php page which I don't have the source to.  Java applets can't access the Windows clipboard unless they are signed.  Sad

Copy-paste between levels should make it easier to re-use. With that, you could copy (parts of) an old solution, or copy part of the solution to an empty level to try some things. You could even make a "handy components" level - you know: with a template copier, a row of 0-F barrels, a F-0 crate generator, etc
While on the subject, a "handy components" library would be nice  Wink

I don't know how to communicate between two different Java applets running in different pages.  Anybody have any ideas?

A pause button, that would freeze the action (you would still have to push "stop" to make any changes to the solution). When we have the pause, then a "do one step" option, or "slow motion" option would be very handy. I now sometimes use a screen capture tool like Easy Screen Capture (http://www.longfine.com/), to understand what is going on.

Oh, don't worry, that's on the todo list.  Smiley  I did an experiment where I could single-step the machine.  It's quite useful for getting tricky timing right and for figuring out how other machines work.  Unfortunately it also introduces some bugs so it isn't ready for release yet.  I'll probably need to change around some input handling and drawing code to get everything working properly.

Thanks for the testing.  Now you other lazy bums should give it a try.  Wink

Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #3 on: September 22, 2009, 04:55:05 AM »

New version (1c27).  Use the same link from above.  You may need to clear your cache.
Changes:
  • Fix "accidental draw" bug when dragging selection rectangles
  • Selection rectangles can now be resized after you initially draw them by holding shift again.  This is experimental.  I'm not sure if the advantage outweighs the annoyance.

And one more new version (1d27).  No list of changes this time.  I don't want to spoil the surprise.

« Last Edit: September 23, 2009, 02:49:54 AM by jnz » Logged
Rene
Director
*****
Posts: 715


View Profile Email
Re: Call for Rubicon beta testers
« Reply #4 on: September 29, 2009, 08:10:59 PM »


Did not see much change in 1d27 (what's the surprise  Huh).

With respect to 1c27, the accidental draw bug seems to be solved, but only when there is a selection already made. If you cancel the selection (right mouse button), then start drawing (hold down left mouse button), then press shift, it still keeps on drawing.

And I am afraid I do not like the selection resize feature. Almost all of the time, the reason that I start selecting again is because the origin of the original selection was at the wrong spot. Therefore, a resize keeping the original origin is exactly what I do not want to do.
Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #5 on: September 30, 2009, 02:24:04 AM »

The change in 1d27 was variable FPS.  The original applet ran at 10fps all the time, in both design mode and when running the machine.  This meant that designing suffered some unneeded lag between the time you clicked/dragged and the time the update would show up on the screen.  And the applet took up CPU time constantly redrawing the screen even when nothing had changed.  So now it runs at 10fps while the machine is running but when it is not running the framerate isn't locked.  When you're not doing anything it doesn't redraw at all.  When you're making changes it updates as fast as it can.  Try drawing a line of girders or doing a copy-and-paste to see the difference.  You can also leave several copies in the background as long as they aren't in Play mode and they won't bog your whole system down.

With respect to 1c27, the accidental draw bug seems to be solved, but only when there is a selection already made. If you cancel the selection (right mouse button), then start drawing (hold down left mouse button), then press shift, it still keeps on drawing.

I thought that was the desired behavior.  You have to have shift held down before you click.  The problem before was that even if you did have shift down first it would sometimes pick up the click first and not start selecting.  Do you often start drawing something and then want to switch to selecting without letting go of the mouse button first?  I can't recall ever wanting to do that myself.

Anyway, another new version (1e27):
  • Some drawing optimizations to save CPU time on most levels
  • Fix crash when trying to load a level while your network connection is down
  • Load dialog can be canceled by pressing Esc
  • Fix high CPU usage when moving mouse on the Main Menu or alert dialogs (introduced in 1d27)
  • Shift-clicking always starts a new selection rectangle

Logged
Rene
Director
*****
Posts: 715


View Profile Email
Re: Call for Rubicon beta testers
« Reply #6 on: September 30, 2009, 05:26:15 PM »

The change in 1d27 was variable FPS.  The original applet ran at 10fps all the time, in both design mode and when running the machine.  This meant that designing suffered some unneeded lag between the time you clicked/dragged and the time the update would show up on the screen.  And the applet took up CPU time constantly redrawing the screen even when nothing had changed.  So now it runs at 10fps while the machine is running but when it is not running the framerate isn't locked.  When you're not doing anything it doesn't redraw at all.  When you're making changes it updates as fast as it can.  Try drawing a line of girders or doing a copy-and-paste to see the difference.  You can also leave several copies in the background as long as they aren't in Play mode and they won't bog your whole system down.

Aha, good thinking  Wink I did not notice the difference explicitly, but I thought it "felt" faster when drawing. But I assumed that was due to the fact that you run it stand-alone instead of inside the browser.

With respect to 1c27, the accidental draw bug seems to be solved, but only when there is a selection already made. If you cancel the selection (right mouse button), then start drawing (hold down left mouse button), then press shift, it still keeps on drawing.

I thought that was the desired behavior.  You have to have shift held down before you click.  The problem before was that even if you did have shift down first it would sometimes pick up the click first and not start selecting.  Do you often start drawing something and then want to switch to selecting without letting go of the mouse button first?  I can't recall ever wanting to do that myself.

I agree with you that I don't want to do that. But if the system would switch to select mode when the shift key is depressed, then the consequences of the bug would be drastically reduced to only one spot, instead of drawing over your whole solution  Undecided

Anyway, another new version (1e27):
  • Some drawing optimizations to save CPU time on most levels
  • Fix crash when trying to load a level while your network connection is down
  • Load dialog can be canceled by pressing Esc
  • Fix high CPU usage when moving mouse on the Main Menu or alert dialogs (introduced in 1d27)
  • Shift-clicking always starts a new selection rectangle



Will try it out soon...


Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #7 on: October 29, 2009, 02:39:57 AM »

New in 1f27:
  • All alerts now respond to Enter and Esc
  • When solving a user-created level the Clear button now only clears your pieces, not the pieces from the original level
There aren't a lot of visible changes but I've been doing a lot of refactoring under the hood.  I wanted to get this out here as another checkpoint.
« Last Edit: October 29, 2009, 02:41:50 AM by jnz » Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #8 on: November 10, 2009, 06:55:45 AM »

New in 1g27:
  • Machines that are solved temporarily during execution now report the last time they become solved instead of the first
  • Single stepping (press 'S')
Logged
immibis
Engineer
****
Posts: 176


View Profile
Re: Call for Rubicon beta testers
« Reply #9 on: November 16, 2009, 02:51:29 AM »

What annoys me most, is that you cannot save to the warehouse directly from the applet. Now you have to remember the cryptic code for the level and retype that in the warehouse dialog. Shouldn't it be possible to invoke the warehouse directly, fill in the code, and even fill in the "follows or solves" field. At minimum it should be possible to copy-paste the level name

I think there should be some way to do this but I think it would require coordinating with the warehouse.php page which I don't have the source to.  Java applets can't access the Windows clipboard unless they are signed.  Sad

You don't need to access the Windows clipboard. Just go to warehouse.php, and choose view source. You won't get the source of the PHP parts, but it isn't too hard to fake an HTML form submission.
Logged

jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #10 on: November 16, 2009, 03:38:13 AM »

What annoys me most, is that you cannot save to the warehouse directly from the applet. Now you have to remember the cryptic code for the level and retype that in the warehouse dialog. Shouldn't it be possible to invoke the warehouse directly, fill in the code, and even fill in the "follows or solves" field. At minimum it should be possible to copy-paste the level name

I think there should be some way to do this but I think it would require coordinating with the warehouse.php page which I don't have the source to.  Java applets can't access the Windows clipboard unless they are signed.  Sad

You don't need to access the Windows clipboard. Just go to warehouse.php, and choose view source. You won't get the source of the PHP parts, but it isn't too hard to fake an HTML form submission.

Sorry I wasn't clear.  I was actually responding to two different parts of Rene's post.  In order to allow copy-pasting the level name I'd need access to the Windows clipboard.

I can do an HTML submission but that means I'd have to provide the same UI that warehouse.php provides and do it entirely within the applet.  I was trying to avoid doing that.  An easier way would be to pass some tentative values to the warehouse.php script.  Then it could provide the form pre-filled with those values, let you edit them if desired, and then submit.  For that plan to work I'd need some cooperation from warehouse.php.

Has anybody tried out the latest test version?  I think it is about ready for prime-time.  The single-stepping is worth the download!

Logged
Rene
Director
*****
Posts: 715


View Profile Email
Re: Call for Rubicon beta testers
« Reply #11 on: November 17, 2009, 07:02:58 PM »


The single-stepping with the 'S' key is definitely a big pro. After I used it the first time, I wondered how I have ever lived without it... I used to use paper storyboard diagrams to visualize why a construction was not working the way I thought it would; now I just single-step through them.
It made me immediately wish for a "step backwards" option as well.

The "fast forward" function is also welcome, although it is not very intuitive that you need to hold down the 'S' key for that. I would have expected that holding down the 'S' key would invoke a "slow motion" function.

Were you able to contact Kevin already about putting this up as the official version on the web-site?

Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #12 on: November 17, 2009, 11:00:40 PM »

The single-stepping with the 'S' key is definitely a big pro. After I used it the first time, I wondered how I have ever lived without it... I used to use paper storyboard diagrams to visualize why a construction was not working the way I thought it would; now I just single-step through them.
It made me immediately wish for a "step backwards" option as well.

The "fast forward" function is also welcome, although it is not very intuitive that you need to hold down the 'S' key for that. I would have expected that holding down the 'S' key would invoke a "slow motion" function.

Were you able to contact Kevin already about putting this up as the official version on the web-site?

"Step backwards" is not impossible but it would probably be quite a bit of work.  I don't think I'm going to plan to tackle that one right away.
Holding the S key down only acts like "fast forward" because of key repeat.  If you want it to go slower, turn down the repeat rate in your OS.  Wink
I emailed Kevan but haven't heard back.  Anybody have any ideas on how to get in contact with him?  I'm thinking I should add some sort of visual indicator that you're in single-stepping mode before final release.  But I haven't decided what that might be yet.
Logged
jf
Director
*****
Posts: 656


View Profile
Re: Call for Rubicon beta testers
« Reply #13 on: November 19, 2009, 12:50:59 AM »

That is very cool, jnz. I just happened to check in on the Rubicon forum after a long absence and found this nice surprise. I will definitely take this jar file for a run when I have some time for puzzling. The single-step feature is fantastic. How about another key that jumps things forward, say 100, or even 1,000 clicks? Great work.
Logged
jnz
Director
*****
Posts: 493


View Profile
Re: Call for Rubicon beta testers
« Reply #14 on: November 19, 2009, 02:48:55 AM »

Thanks, jf!  Here's another version, just for you. Wink
New in 1h27:
  • Allow changing the selected item with the arrow keys, 0-9, A-F, and ?
Logged
Pages: [1] 2 3 Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.0.22 | SMF © 2006-2011, Simple Machines LLC Valid XHTML 1.0! Valid CSS!