Excellent - cheered me up no end whilst migrating (read re-installing) the
60-odd virtual machines from VMware ESXi to XenServer (it is currently
1.05AM in the UK so desperately needed a cheer)

Thanks for sharing the source - I fully expect to learn a lot after reading
it - keep up the good work :)

On 18 August 2011 09:08, Matthew Gilliard <matthew.gilli...@gmail.com>wrote:

> > Very cool! Now the logic of pacman is in a form I can easily read :-)
>   I assume you are referring to the gameinternals post not my code !
>
> I do not know why it only works in Chrome.  The error "too much
> recursion" is confusing.  It happens before the game is rendered so I
> suspect it's in the code which parses the board.  The only explicit
> recursion I do is my implementation of (range) here:
> https://github.com/mjg123/pacman/blob/gh-pages/src/pacman/board.cljs
> - but that uses (recur).  There's also the nested for loop in that
> same file, I have no idea how (for) works internally.  The gameloop
> uses a javascript timer-with-callback to call itself so that won't
> consume stack space.  Another thing is that it seems to be machine
> dependent - it works fine in ff6 on my work pc but not on my (much)
> older home PC.
>
> There are also rendering bugs in Firefox which seem to be caused by
> SVG arc-segments with negative radius - I assume this is just an
> implementation difference in a grey area of the spec.
>
> If there's interest I can try to pare down the code to a minimal case
> which throws the "too much recursion" error?
>
>  mg
>
>
>
> On Thu, Aug 18, 2011 at 8:04 AM, Sam Aaron <samaa...@gmail.com> wrote:
> > Very cool! Now the logic of pacman is in a form I can easily read :-)
> >
> > Out of interest, do you know why it only works in Chrome? Doesn't the
> closure library do any work to shield you from from the browser differences,
> or is it simply a performance issue with the Chrome js engine the only one
> operating fast enough to smoothly render the game?
> >
> > Sam
> >
> > ---
> > http://sam.aaron.name
> >
> > On 17 Aug 2011, at 23:00, Matthew Gilliard wrote:
> >
> >> I've been playing around writing a fun little ClojureScript project -
> >> it's a bit different, so I thought you might like to see it:
> >>
> >> http://mjg123.github.com/pacman/pacman.html
> >>
> >> As I was feeling my way quite blindly through ClojureScript and
> >> gClosure I have let the code get into a bit of a mess and I don't
> >> think I'll really work on it much more.  I have learned an awful lot
> >> though (which was the main objective) - my main lessons are:
> >>
> >> - ClojureScript is awesome.  The performance and stability of it are
> >> really astounding.  Really great work guys.
> >> - Debugging a ClojureScript app is hard.  I never figured out how to
> >> get js/console to work.  My best solution was to compile & run very
> >> often, so that errors were caught quickly.  Better yet would have been
> >> thorough testing ;)
> >>
> >> - it *is* possible to write a game with no mutable state (well, I use
> >> an atom to hold the most-recently-pressed key, but apart from that...
> >> The state-of-the-world datastructure is immutable)
> >>
> >> - Some functions missing from ClojureScript which surprised me: range,
> int
> >> - Some functions behave differently between Clojure and ClojureScript
> >> (due to underlying platform differences): mod
> >>
> >> - Testing is very important.  The gClosure jsunit stuff looks nice
> >> but I'd love a midje-like API for it.
> >>
> >> Browser-compatibility:  Chrome - OK, Firefox 6 - sometimes crashes
> >> with "too much recursion", IE/Safari - Forget it.
> >>
> >> Happy to answer any questions, otherwise I'll be over here hacking
> >> some Clojure   :)
> >>
> >> Matthew
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> >> Groups "Clojure" group.
> >> To post to this group, send email to clojure@googlegroups.com
> >> Note that posts from new members are moderated - please be patient with
> your first post.
> >> To unsubscribe from this group, send email to
> >> clojure+unsubscr...@googlegroups.com
> >> For more options, visit this group at
> >> http://groups.google.com/group/clojure?hl=en
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Clojure" group.
> > To post to this group, send email to clojure@googlegroups.com
> > Note that posts from new members are moderated - please be patient with
> your first post.
> > To unsubscribe from this group, send email to
> > clojure+unsubscr...@googlegroups.com
> > For more options, visit this group at
> > http://groups.google.com/group/clojure?hl=en
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to