The Wisconsin Geocaching Association

  Login or Register

Website Navigation

62.png Home

49.png Information Center
26.png WGA Newsletters
24.png Reviewer's Words
53.png Presentation Resources
39.png Geocaching Files
27.png Bookmarks
56.png Location Rules and Regs
49.png BOD Info Center

17.png Forums
16.png New Posts
20.png Unanswered Posts

calendar_day.png Upcoming Events
mapicon.png Map
29.png Calendar
11.png Submit Event

mapicon.png WGA State Park CachesNew content !

shield_star.png Cache of the Month
mapicon.png Past Winners Map

LonelyCache.png Lonely Cache Game
mapicon.png Current Map
26.png Scoreboard
11.png Submit Report

rescueiconsm.png Cache Rescue
11.png Submit a Mission

icon_community.gif Members
27.png Your Account
47.png Private Messages
contact_blue.png WGA Member Map
Geocaching_LIVE_poweredby_16.png GC.COM Authorization

icon_members.gif News
tree-T.gif Topics
tree-T.gif Archives
tree-L.gif Submit News

image_cultured.png Photo Gallery
tree-T.gif Updates
tree-L.gif Popular

shield.png Fun Stuff
28.png Recent Logs
TB.gif Picnic to Picnic TB Race Standings
TB.gif WGA Hauler

49.png Board of Directors
 
Contact Us

 
Facebook

Wisconsin Geocaching Association

 
Follow Us

Twitter Button

 
Subscribe to Newsletter

Subscribe to our mailing list

* indicates required
 
Geocaching.com Search
View Search Syntax
 
COTM
Winner -
September 2014 Northern Zone:
Bunyan's Bowling Ball

Winner -
September 2014 Northeast Zone:
Gardner Swamp Thing

Winner -
September 2014 West Central Zone:
Upper Dells SNA

Winner -
September 2014 South Central Zone:
Old Meets New

Winner -
September 2014 Southeast Zone:

Winner -
September 2014 Series of the Month:
Meet the WGA series


More Info >>>

 
 
Wisconsin Geocaching Association: Forums
 

 

View next topic
View previous topic
Post new topic   Reply to topic
Author Message
CodeJunkie
WGA Member



Joined: 2009-07-21
Posts: 8237
Location: Berlin, WI

PostPosted: Mon Dec 07, 2009 11:19 pm Reply with quote Back to top

Just "played" with a sample from Gotta Run. Working with a real file made this a lot easier than trying to muddle through on my own.

Here's my take as a programmer:
1) Classic object oriented architecture. Objects have properties and events that act on them.
2) The designer is very rudamentary and isn't exactly user friendly or intuitive.
3) Simple things like double clicking in the designer don't work like I would have expected.
4) The logic constructs are different than standard programming languages I've worked in.
5) Visible / Active are very normal programming constructs. I'll have to give some more thought to how they fit within this framework though. Generally these are used in combination to make textboxes work.
Active / Visible - User can see and enter data
Inactive / Visible - User can see but not change data
Active / Invisible - Hidden field which isn't normally used
Inactive / Invisble - Hidden field used for calculations / data storage you don't want the user to see.
5) This is just another programming language and once a person learns the quirks it would be pretty easy to program.

Although most of my points were on the negative, I think this is a very viable programming platform. I think with a few tweaks to the designer this could be much more user friendly.

I think the key here is the same as any programming project I've worked on. You need to "storyboard" the project first. This includes being very specific about what can / should / should not happen. If this is well done, then the rest is just building it which just becomes working within the constraints of the development tool.
 
View user's profile Send private message
Team Black-Cat
WGA Webmaster
WGA Webmaster



Joined: 2007-09-13
Posts: 6096
Location: Somewhere in Central WI

PostPosted: Mon Dec 07, 2009 11:29 pm Reply with quote Back to top

I did some serious playing around with the builder today and actually created a working cart with a few interactive characters and objects.
It's hard to get used to scripts being synchronous. You can't, for instince, ask for user input and use the result from that input in the same event because the script doesn't wait for the input before continuing.
I've got an idea for a storyline. If it looks like something that anyone else might enjoy, I'll create a WhereIgo cache somewhere in Wausau.


Hmmm... In Wausau it might have to be another canoe cache. Twisted Evil
 
View user's profile Send private message Visit poster's website
gotta run
WGA Member



Joined: 2007-11-26
Posts: 3306

PostPosted: Tue Dec 08, 2009 10:07 am Reply with quote Back to top

What's the possibility of using notepad to make basic changes to the lua file and bypass the builder?

I have a whole set of scripts that I'd like to change from an "on enter zone" to "on proximity zone" and I don't want to rebuild them in the builder. But neither do I want to bodge things up by tinkering with the code.
 
View user's profile Send private message
CodeJunkie
WGA Member



Joined: 2009-07-21
Posts: 8237
Location: Berlin, WI

PostPosted: Tue Dec 08, 2009 10:35 am Reply with quote Back to top

gotta run wrote:
What's the possibility of using notepad to make basic changes to the lua file and bypass the builder?

I have a whole set of scripts that I'd like to change from an "on enter zone" to "on proximity zone" and I don't want to rebuild them in the builder. But neither do I want to bodge things up by tinkering with the code.

Not sure. Try making a copy of the LUA file (i.e. xyz_new.lua or xyz_2.lua) and then edit it manually. You could then open this one up in the builder to see what happens and your original would still be untouched.
 
View user's profile Send private message
CodeJunkie
WGA Member



Joined: 2009-07-21
Posts: 8237
Location: Berlin, WI

PostPosted: Tue Dec 08, 2009 10:37 am Reply with quote Back to top

Team Black-Cat wrote:
I did some serious playing around with the builder today and actually created a working cart with a few interactive characters and objects.
It's hard to get used to scripts being synchronous. You can't, for instince, ask for user input and use the result from that input in the same event because the script doesn't wait for the input before continuing.
I've got an idea for a storyline. If it looks like something that anyone else might enjoy, I'll create a WhereIgo cache somewhere in Wausau.

Another classic programming paradigm called "state management". I haven't played enough yet, but it looks like "state management" could be achieved by using variables to keep track of the state. The first example that comes to mind is using a hammer to pound a nail and it needing 3 or 4 hits to complete the task.
 
View user's profile Send private message
CodeJunkie
WGA Member



Joined: 2009-07-21
Posts: 8237
Location: Berlin, WI

PostPosted: Tue Dec 08, 2009 10:59 am Reply with quote Back to top

CodeJunkie wrote:
gotta run wrote:
What's the possibility of using notepad to make basic changes to the lua file and bypass the builder?

I have a whole set of scripts that I'd like to change from an "on enter zone" to "on proximity zone" and I don't want to rebuild them in the builder. But neither do I want to bodge things up by tinkering with the code.

Not sure. Try making a copy of the LUA file (i.e. xyz_new.lua or xyz_2.lua) and then edit it manually. You could then open this one up in the builder to see what happens and your original would still be untouched.

I took a few minutes to look at the file format and it appears to be standard text. Manual edits should work fine. I was concerned there may be some kind of checksum or other "tracker" in the file to ensure it's integrity, but I'm not seeing anything.
 
View user's profile Send private message
gotta run
WGA Member



Joined: 2007-11-26
Posts: 3306

PostPosted: Tue Dec 08, 2009 1:59 pm Reply with quote Back to top

CodeJunkie wrote:
I took a few minutes to look at the file format and it appears to be standard text. Manual edits should work fine. I was concerned there may be some kind of checksum or other "tracker" in the file to ensure it's integrity, but I'm not seeing anything.


I'm not sure if this works to edit outside the builder. I think the builder may be including some additional data/variables when it compiles the .lua file into a playable cartridge. This would also seem to be indicated by the warning line "don't edit anything beyond here because it will be overwritten by the builder."

Specifically, I have a line in this cartridge that reads:

function zoneParkPavillion:OnProximity()
There is no variable there, nor is one shown (20 feet) elsewhere in the code. So where does the value come from in the final cartridge?

Anyway, I tried to change the function:

function zoneParkPavillion:OnEnter()
to

function zoneParkPavillion:OnProximity()

but that didn't work, at least when I opened it in the builder. Now it simply treats the command as if it's not there. So it looks like I'll have to manually rebuild all my "onenter" comands to be "onproximity" commands in the builder, in order to help improve the playability of the game. (Again, this gets back to the bug that it doesn't matter how big you make the actual zone itself; you have to reach the EXACT coordinates to fire the task if you use an onenter command.)
 
View user's profile Send private message
CodeJunkie
WGA Member



Joined: 2009-07-21
Posts: 8237
Location: Berlin, WI

PostPosted: Tue Dec 08, 2009 2:40 pm Reply with quote Back to top

gotta run wrote:
CodeJunkie wrote:
I took a few minutes to look at the file format and it appears to be standard text. Manual edits should work fine. I was concerned there may be some kind of checksum or other "tracker" in the file to ensure it's integrity, but I'm not seeing anything.


I'm not sure if this works to edit outside the builder. I think the builder may be including some additional data/variables when it compiles the .lua file into a playable cartridge. This would also seem to be indicated by the warning line "don't edit anything beyond here because it will be overwritten by the builder."

Specifically, I have a line in this cartridge that reads:

function zoneParkPavillion:OnProximity()
There is no variable there, nor is one shown (20 feet) elsewhere in the code. So where does the value come from in the final cartridge?

Anyway, I tried to change the function:

function zoneParkPavillion:OnEnter()
to

function zoneParkPavillion:OnProximity()

but that didn't work, at least when I opened it in the builder. Now it simply treats the command as if it's not there. So it looks like I'll have to manually rebuild all my "onenter" comands to be "onproximity" commands in the builder, in order to help improve the playability of the game. (Again, this gets back to the bug that it doesn't matter how big you make the actual zone itself; you have to reach the EXACT coordinates to fire the task if you use an onenter command.)

I just tried this in a simple example and it seemed to work OK.
 
View user's profile Send private message
gotta run
WGA Member



Joined: 2007-11-26
Posts: 3306

PostPosted: Tue Dec 08, 2009 8:50 pm Reply with quote Back to top

It worked this time. Confused
 
View user's profile Send private message
sandlanders
WGA Member



Joined: 2008-01-18
Posts: 19424
Location: Adams, WI

PostPosted: Tue Dec 08, 2009 8:55 pm Reply with quote Back to top

cheezehead wrote:
YUP!! I understand EVERYTHING you guys just said...... Shocked Shocked Shocked Shocked Confused Confused Confused Rolling Eyes Rolling Eyes wink Question Question

Ditto for this page, too.
 
View user's profile Send private message
Display posts from previous:       
Post new topic   Reply to topic

View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2008 phpBB Group
:: Theme & Graphics by Daz :: Ported for PHP-Nuke by nukemods.com ::
All times are GMT - 6 Hours
 
Forums ©
 
Legal Notice | Privacy Policy | Terms of Use | Parental Consent Form | contact | Comments ]

All content © 2013 Wisconsin Geocaching Association, except comments and forum entries which are property of their posters.

The Groundspeak Geocaching Logo is a registered trademark of Groundspeak, Inc. Used with permission.
 


Use of this Web site constitutes acceptance of the WGA Terms of Use


Distributed by Raven PHP Scripts
New code written and maintained by the RavenNuke™ TEAM


(Original PHP-Nuke Code Copyright © 2004 by Francisco Burzi)
Page Generation: 0.27 Seconds

:: fisubice phpbb2 style by Daz :: PHP-Nuke theme by www.nukemods.com ::
:: fisubice Theme Recoded To 100% W3C CSS & HTML 4.01 Transitional & XHTML 1.0 Transitional Compliance by RavenNuke™ TEAM ::

:: W3C CSS Compliance Validation :: W3C HTML 4.01 Transitional Compliance Validation :: W3C XHTML 1.0 Transitional Compliance Validation ::