Jump to content

Making Your Cartridge as Crash-Free as Possible


St.Matthew

Recommended Posts

About to complete my first Wherigo soon, and I was curious what are the common aspects that crash cartridges? I've read about problems with having too many zones open at once, but how many open zones is too many? Also, I've read that auto-save can crash Garmin devices?

 

What are the most common problems so that I can sort of crash proof my cartridge?

Link to comment

NoGos for Garmin and other devices, teh handbook is in german, perhaps the google online translater is a help for you.

The absolutely most important thing is NEVER to fire a message (such as a zone entry "welcome" on stage 1") while the player has an input dialog open (to enter an answer). Garmin crashes always (the emulator too).

I think the most programmers forgot to do a workaround for these case. Many things the programmer can do, to prevent this, but not many do an errorhandling in their cartridges, they simply say "a Wherigo can crash sometimes, it isn't stable".

Link to comment

You can't say that garmin crashes oftener than iphone & co. The open input together with a message is the most known problem which always crashed. Besides the garmin is very slow, so that player sometimes pushs a button (item command) twice or more, because it seems nothing happened, but in the background the garmin calculates. Thats a reason for a crash too. You always must highlight in your listing "Be patient and wait, sometimes 5 up to 10 seconds !"

 

Many programmers use autosave when the player enters a zone. This isn't a good way, because many actions will start on enter (move, set, sound ...) and may disturb the save progress. I never have heard about problems and i use autosave on exit after the last command.

Link to comment

I try to keep open zones below 7. I also don't use the OnClick feature. Outside that I haven't had to many issues with locking up, least that I can attribute to a set Wherigo design. Oh Audio, don't try to run two audio files at the same time, and stick to MP3s versus any other format.

Link to comment

Is there a way to detect that an input dialog is open (and thus not fire a message)?? Only thing I can think of to stop this (such as an onEntry messageWindow like you mentioned is diong a showscreen in the onExit of a zone to remove the input dialog, but I am not sure that is a great idea either.

 

I think the only time a message window would come on top of an input dialog is via onEnter/onExit or a timer.

 

Message Windows on top of Message Windows will just cancel the first one, so no crash there.. just not sure how to stop this like you mention ("Many things the programmer can do, to prevent this")

 

Do you mean just running through it in emulator to try to get these things to occur (to see it happening)?

 

NoGos for Garmin and other devices, teh handbook is in german, perhaps the google online translater is a help for you.

The absolutely most important thing is NEVER to fire a message (such as a zone entry "welcome" on stage 1") while the player has an input dialog open (to enter an answer). Garmin crashes always (the emulator too).

I think the most programmers forgot to do a workaround for these case. Many things the programmer can do, to prevent this, but not many do an errorhandling in their cartridges, they simply say "a Wherigo can crash sometimes, it isn't stable".

Link to comment

SAVE is relativly safe (I use it a lot) but SAVE AND CLOSE will crash garmins.

 

SHOWSCREEN for anything other then MAINSCREEN can cause crash problems, works fine for MAINSCREEN

 

Too many Zones (mentioned already) can cause problems

 

Too much text in a display window (I think the limit is 850 but forget, URWIGO now warns on this) can cause a crash, split it into multiple dialog/message windows

 

Play Sound can cause Garmin crashes (already mentioned) Depends on the sound format though (there is one that works for garmins, I forget what it is, but it basically is just beeps)

 

onClick does not work (not a crash, but it won't work.. ) talking onClick on items. Workaround is to make a 'command' (shows up as a button on items & characters)

 

zone commands do not work (instead make an item or character and put the command on that)

 

Garmins do not show the cartridge icon (not a crash, just an annoyance). Smartphone players will show this.

 

That's all I can think of offhand.

 

About to complete my first Wherigo soon, and I was curious what are the common aspects that crash cartridges? I've read about problems with having too many zones open at once, but how many open zones is too many? Also, I've read that auto-save can crash Garmin devices?

 

What are the most common problems so that I can sort of crash proof my cartridge?

Link to comment

Is there a way to detect that an input dialog is open (and thus not fire a message)??

 

Have a look at the source attached. I have translated it to english. First load these file and let it run (crash).

Then enable the disabled parts and try again.

An interesting thing i have found...the crash only appears if the input variable is of the type string ! Disable the parts again and change the variable to type number. It works without using the "InputActive" variable.

InputCrash.zip

Link to comment

There is a difference, onClick is not the same as onClicked. I often use onClicked events in message and dialog boxes.

Not only with the showscreen mainscreen element, but also with longer actions including if/else, set, move and so on.

Sometimes I define 2 buttons in a message box (for example "Go on" / "Back") and the make a compare in the onclicked event. So I do not need an input or a variable (this is "message button"...if message button 1 = true then ...)

Never have heard of crashes on any device.

Link to comment

This thread is exactly 2 years old, but regarding the amount of active zones :

I made my first cartridges simple tours with only one active waypoint at a time.

Recently I created a Pacman game and decided to push the boundaries a bit - after all, most people use smartphones rather than older Garmins to play the cartridges.

And 24 active zones have worked fine thus far, on Apple, Android and even a Garmin.

 

Pacman 3D - GC4Z8WB

 

PS. This is not about what is good coding practice or catering to the lowest common denominator - just an illustration of what is realistic and possible.

 

Many thanks to Ranger Fox - when I was about to give up on my first cartridge and had a simple question, he replied immediately here on this forum and gave me the confidence I needed to persevere. And it does get easier and easier after the initial hurdles.

Thanks also to the other developers (Urwigo and all the builders, and the smartphone player apps) for making Wherigo such a viable and enjoyable platform.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...