Hi Soso,
I've had a bit of a play with the game, and a few brief comments.
(1) Maybe you need a few less "filler" scenes in the woods.
I looked at the source and there are 28 scenes in the woods, all with the same description, and I assume, nothing to do in these scenes? Maybe think through your map and reduce this number by half? I think it will still be enough to give the impression of a large forest.
One thing that is very clever however is the fact that all woods scenes seem to have a slightly shifted graphic. That gives a very convincing impression of movement. I haven't yet been able to find a location to location transition with exact the same graphic , which does feel very nice.
(2) Because your game does not have much text, and because the font you chose is very low height, maybe better to increase the size of the font, add this to your theme {} section of your game:
columns = 40 columns_mobile = 28
That should make the font a bit bigger. You already have column snap mode, which guarantees the screen has the number of characters horizontally as specified (at the cost of possible non integer scaling of the image. For your art style, which doesn't depend on pixel perfect dithering, this is a good choice.
(3) The English in the game is a little broken, which is to be expected for a non-native speaker, really you've done very well, and I do hope that someone can help out with that. If I had time I certainly would.
(4) Perhaps the biggest problem with the game is that you are coding get / drop routines manually. There are problems with this, not least that you have to be sure to do a lot of checks before getting and dropping an object (pocket is not useful for getting and dropping). You can see the problem with manually making GET handlers, by going UP at the start, GET CAMERA, then DROP CAMERA -- the camera cannot be dropped because you didn't code a drop handler for the camera.
You don't need to do this for normal objects. I see that you made your object ids capitalized in the object list. Make sure your objects are in lower case, and in the form
camera : object "a camera";
or
red_key : object "a red key";
If there is an underscore then it will register an adjective and a noun against an object. If there is no underscore, adventuron will register the noun against the object alone. All the get and drop functionality is automatic. You only need to use the : pocket ""; command for when you are giving the player something they can't take (such as in response to a puzzle).
So:
- a) Make sure all your objects are made into lower case ids.
- b) Make sure that you remove the get command handlers from your game.
- c) Test it
... I do hope this has not disheartened you. Your game is coming along, it just needs some polish :-)