A different level

13 posts / 0 new
Last post
WayneCa
Offline
Joined: 2014-07-13
A different level

I have created a level named Hundred. It is 100 x 100 cells and the solution is almost 200,000 moves. I designed it using Sokoban++ (it was the first engine I found that would support that large of a level). I designed it to be a test bed for development of large puzzles. While it is not the most difficult puzzle to solve, I think it does have merit. (What do I know? I am the author. Wink

Would anyone here be interested in seeing/playing this level? (It takes a long time to play. I solved it in 4 sessions.)

If uploading it is an option, please tell me so I can do that. I have it saved in text format (the level followed by a level number). The solution is in a separate text file.

ben
Offline
Joined: 2012-04-02

I think you can just post the XSB here.

WayneCa
Offline
Joined: 2014-07-13

Collection: Hundred Square
Level: Hundred

There is a story that goes with this level. I will post that separately. Other details include the following:

Directive #1: Solve SW Quadrant First
Directive #2: Solve NE Quadrant Second
Directive #3: Solve NW Quadrant Third
Directive #4: Solve SE Quadrant Fourth

These directives add to the difficulty of the solution by requiring the player to solve one part of the puzzle at a time, in a specific order. My solution is 197,300 moves. There is no hard or fast rule that says you must follow the directives, but I did design this level to go with the story.


  

WayneCa
Offline
Joined: 2014-07-13

Not Just Another Day At The Office

This story goes with the Sokoban Level Hundred. Hundred is a 100x100 grid, and contains four quadrants, Northwest, Northeast, Southwest and Southeast. The layout is that of a small business location. The business assembles and sells Widgets.

The Northwest Quadrant is the Shipping and Receiving Area and the Loading Dock.

The Northeast Quadrant is the Assembly Area, where the sub-assemblies delivered by the Contractor are assembled into complete Widgets.

The Southwest Quadrant is the Sales and Marketing Area and the Offices, along with the Outgoing Storage Room for completed Widgets awaiting shipment.

The Southeast Quadrant is the Reception Area and Employee Area (including Restrooms, Custodian's Closet, and the Employee Break Area). There are also Storage Closets on the east wall, and the Conference Room is in the southwest corner of the quadrant, adjacent to the Offices.

The Tandy Color Computer variant of the original game identifies the warehouseman as "Wally", and I have borrowed this name as the name of the Widget Company Shipping Manager.

=====================

Here's the storyline:

The Widget Company has just begun to move into their new location. Business has been so good that more space was needed to assemble and store Widgets and their sub-assemblies. Little did the owner know that the company's supplier and contractor would deliver on the same day, and just when all of the completed Widgets have already been moved into the new building and placed where they could be easily gotten to for outgoing shipments.

Because of this, the owner and her executive assistant spent the entire day and night putting boxes and crates containing sub-assemblies and supplies closer to where they need to be stored, and the owner had her assistant make a map of where to store things. Then the owner wrote the following memo to her Shipping Manager, Wally (you). Below is the memo she left for Wally.

=====================

Good morning, Wally,

I hope you got a good nights rest after the hard work you've been doing getting things ready to be shipped over here from the old building. You're going to need the energy.

While my assistant and I were here yesterday storing the completed Widget assemblies (849 of them) in the Shipping and Receiving Area and Outgoing Storage Room, the contractor showed up with the Widget sub-assemblies. All 239 of them. While he was here, the supplier showed up with our monthly allotment of custodial, office and assembly supplies times 12! So now there are 283 boxes of supplies to store. Add to that the 42 remaining completed Widgets that need to be put in the Outgoing Storage Room.

Because we were inundated with the deliveries, we weren't able to finish everything, so I had my assistant make you a map of where to put things. Use the following as a guide of what is where, and where it needs to go.

The 42 completed Widgets are in the Offices. The 37 boxes in the Small Office are office supplies, and just need to be put in the designated places in the Conference Room. The 4 boxes blocking the double-doors to the Conference Room are supplies we will be bringing into the Offices tomorrow, so just leave them. The 42 completed widgets need to be put in the Outgoing Storage Room. They are in the Big Office, surrounding the Small Office and in the Sales and Marketing Area where there was a place to put them. You will have to figure out how to get them to the Outgoing Storage Room, as there are extra cubicles in the Sales and Marketing Area that are blocking the easy route. We did not have time to move them out of the way.

In the Employee Area (including the Restrooms, Custodian's Closet, Storage Closets and Employee Break Room) and the Reception Area are marked out 246 places to store the rest of the custodial and assembly supplies. I'm glad we have so much more floor space now! We would not be able to store all of this in the old building!

The Closet in the Big Office, and in the hallway between the Closet and the Conference Room contain office supplies that need to be stored in the Reception Area. The 9 crates in the upper part of the accessway need to go into the small passageway just north of them. However, the Sales and Marketing staff will need the boxes blocking the south doorway, so they need to be left there. The rest of the boxes in the Employee Area need to be stored in the Closets, Restrooms and Custodian's Closet. There are more than will fit into those areas, so places marked on the floor in the Accessway are for the extra Custodial and Assembly supplies.

Most of the sub-assemblies need to be stored on the Loading Dock. Again, because we have already placed the outgoing completed Widgets as we wanted them in the Shipping and Receiving Area, and of course this happened *before* the deliveries, we deemed it better to make you a path than to try and re-arrange all of the crates. The remaining sub-assemblies can be stored in the designated places in the Assembly Room.

I know you can do this, as you have been the hardest working Shipping Manager I've ever had. There will be a bonus in your pay envelope this month. To recap what there is, where it is and where to store it, refer to the list below.

Location: Assembly Area
239 sub-assemblies (Store on Loading Dock and in Assembly Area)
Location: Offices, Employee Area/Reception Area and Assembly Area
283 supplies, [37 office supplies and 246 other supplies] (Store in Employee Area, Reception Area, and Conference Room)
522 total delivered boxes and crates
Location: Offices
42 completed widgets (Store in Outgoing Storage Room)
564 total boxes and crates to move

The Owner

=====================
Here's the Map:

IMAGE(http://3.bp.blogspot.com/-EY5tvhAg2TI/U8gRCYRNDVI/AAAAAAAAAQY/2Evbg8lDbJc/s1600/Hundred_Map.PNG)

WayneCa
Offline
Joined: 2014-07-13

Hundred solution: 197300/82523

  Moves/Pushes/Box-lines/Changes/Steps/Pusher-lines: 248236/94187/23327/2091/23262/101411
WayneCa
Offline
Joined: 2014-07-13

I had to paste the solution in sok solution format (70 characters per line) in order for it to post. You will likely have to remove all the extraneous carriage returns before trying to import it, as I do not know that Sokoban for Windows will recognize this format.

ben
Offline
Joined: 2012-04-02

Thank you for sharing the level and story!

It just feels odd that a Shipping Manager would do all of these work.
A warehouse worker would do these, not the Shipping Manager.

I can load the solution ok without change, simply copy and paste -- no need to edit to remove newlines.
As for playing, the level can be solved relatively quick and easy all in one session using the double-click method.
By the double-click method, I mean you click on a destination (then the program will show you which box can be pushed to this destination), and then if you click against on the same destination, it will push the nearest boxes to this destination.

WayneCa
Offline
Joined: 2014-07-13

Thank you for sharing the level and story!

You are very welcome. Smile

It just feels odd that a Shipping Manager would do all of these work.
A warehouse worker would do these, not the Shipping Manager.

This is true, in a real-life situation, but isn't it also odd that the owner and her assistant would do all the work they did, and not the other employees? This is the nice part of fiction. You can have it any way you want. The story was written after the level was designed, although I had the story in mind while designing the level.

I can load the solution ok without change, simply copy and paste -- no need to edit to remove newlines.

I am happy to know this. It makes it much easier for me to know how to deal with long solutions.

By the double-click method, I mean you click on a destination (then the program will show you which box can be pushed to this destination), and then if you click against on the same destination, it will push the nearest boxes to this destination.

I have never tried solving the puzzle by clicking the destination and letting the engine decide what block to move. I select the box I want to move and click the destination where I want it to go. I will give the method you speak of a try and see what happens.

ben
Offline
Joined: 2012-04-02

Here's my solution played using the double-click method.

Mostly, I tried not to move any boxes already on goal.

I also tried to fill the goals in a different order.
I see that we can make the level harder by closing some paths.

attachment: 
WayneCa
Offline
Joined: 2014-07-13

Thank you for your solution. I will look it over.

I tried your method of double-clicking, and I am not sure if I am getting something wrong or not. When I double-click on a specific goal or floor space where I want a block to end up, all that happens is the pusher moves to that location. No boxes are moved at all. I tried this in SfW, S++ and YASC. None of them behaved the way you say. Can you please elaborate on how you are doing this? Is there a specific setting somewhere that I need to set to make this behavior become active?

ben
Offline
Joined: 2012-04-02

I use YSokoban to do this.
In the options panel, you can configure the mouse buttons for different task.

I set the left mouse button to do "Show pushable (always)".

Once this is set, click on any place that the player can access and if any box is able to push to that particular place, those boxes will be shown.

But in YSokoban, if you click on the same square (where you want a box to be pushed to here) again, it will select the *nearest* box to this spot.

YSokoban allows you to define what "nearest" means -- either by pushes or moves or a mix of both.

Pages