[racket-users] Re: Puzzler - A Language for Puzzle Games

2020-04-22 Thread Jack Firth
Wow this is really, really cool. It reminds me a lot of Baba Is You.

On Wednesday, April 22, 2020 at 3:51:41 PM UTC-7, Alex Owens wrote:
>
> Hello everyone! 
>
> My name is Alex Owens and I've been a lurker on this mailing list - and in 
> the Racket community in general - for a while. While I'm still relatively 
> new to Racket, I wanted to share a project I worked on called Puzzler.
>
> Puzzler is a DSL to enable easy creation of 2D grid-based puzzle games. It 
> features a very concise and readable syntax for representing puzzle games 
> through a small collection of built-in constructs like win/lose conditions 
> and entity interactions. Most of the actual work for Puzzler was done about 
> a year ago at the end of my undergrad, and while I'm not planning any big 
> new features soon, I have recently been cleaning up the implementation and 
> adding documentation.
>
> Mostly I hope that if you're interested in language-oriented programming 
> for game development you will check it out. It is a small language, but 
> even if it doesn't suit all of your needs you may find it a useful 
> reference project for what a language for puzzle game development might 
> look like! If you do decide to use Puzzler and you find any bugs or 
> functionality you think is missing, feel free to submit an issue (or better 
> yet a pull request) on my GitHub. I can't promise I'll fix things 
> immediately, but I will try my best to respond in a timely fashion - I'm 
> always up to learn more Racket. Of course, you are also free to clone/fork 
> it and build onto it however you see fit.
>
> Puzzler on the package catalog: 
> https://pkgs.racket-lang.org/package/puzzler
> Source code: https://github.com/aowens-21/puzzler
>
> Stay safe and healthy, and I look forward to getting to know you all and 
> being more active here in the future!
>
> - Alex
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/45eb124e-8b3c-4c6c-9982-430e1e8a8307%40googlegroups.com.


[racket-users] Puzzler - A Language for Puzzle Games

2020-04-22 Thread Alex Owens
Hello everyone! 

My name is Alex Owens and I've been a lurker on this mailing list - and in 
the Racket community in general - for a while. While I'm still relatively 
new to Racket, I wanted to share a project I worked on called Puzzler.

Puzzler is a DSL to enable easy creation of 2D grid-based puzzle games. It 
features a very concise and readable syntax for representing puzzle games 
through a small collection of built-in constructs like win/lose conditions 
and entity interactions. Most of the actual work for Puzzler was done about 
a year ago at the end of my undergrad, and while I'm not planning any big 
new features soon, I have recently been cleaning up the implementation and 
adding documentation.

Mostly I hope that if you're interested in language-oriented programming 
for game development you will check it out. It is a small language, but 
even if it doesn't suit all of your needs you may find it a useful 
reference project for what a language for puzzle game development might 
look like! If you do decide to use Puzzler and you find any bugs or 
functionality you think is missing, feel free to submit an issue (or better 
yet a pull request) on my GitHub. I can't promise I'll fix things 
immediately, but I will try my best to respond in a timely fashion - I'm 
always up to learn more Racket. Of course, you are also free to clone/fork 
it and build onto it however you see fit.

Puzzler on the package catalog: https://pkgs.racket-lang.org/package/puzzler
Source code: https://github.com/aowens-21/puzzler

Stay safe and healthy, and I look forward to getting to know you all and 
being more active here in the future!

- Alex

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/bd5b60fa-7145-42cf-ab91-a628b3bf769c%40googlegroups.com.


[racket-users] bitmap% performance

2020-04-22 Thread 'racket' via users-redirect
 
Hi,
I’m writing to the group looking for help with a performance issue. 
I’m coding a gallery like application, using the racket/draw library, but the 
bitmap% class seems to be pretty slow. The (make-bitmap 4000 3000) operation 
takes more than 4 seconds on my computer (a macbook pro with a 3.1GHz dual core 
i5 and 16GB ram). 
What I'd need to do is simply read and resize some jpeg files to display them 
in a canvas. I could use some external program to resize the photos but I would 
prefer to work with racket only. The make-platform-bitmap is 20 times faster 
than the make-bitmap, but I didn’t find a way to draw a jpeg on it.
Do you have any suggestion? 

Thanks,
Andrea 

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/etPan.5ea0ab6b.35178ff7.17869%40andreagiardina.com.


Re: [racket-users] minicosm - a Racket universe/big-bang inspired game engine in ClojureScript

2020-04-22 Thread Stephen De Gabrielle
Thanks this is interesting
S.

On Thu, 16 Apr 2020 at 11:33, Annaia Danvers  wrote:

> Hey folks!
>
> This is technically slightly outside the remit of this list, but I felt it
> proper to give credit where it's due.
>
> minicosm is an FP-oriented game engine for the browser that was
> significantly inspired by the approach in Racket's universe.
>
> https://github.com/jarcane/minicosm
>
> The idea here was to have a similar concept of a system of functions
> happening on a game state, with user API being purely functions that take
> data and return data, with all mutable behavior handled by the game loop
> runtime. It goes in a bit different direction, especially with the picture
> language, but it may be of interest.
>
> I'll be hopefully given a talk later this year (barring ongoing events),
> and possibly a game jam in the coming months.
>
> Have a good one,
> A.C. Danvers
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/CA%2BHVF0AE%3DSMwz5RmggUaAJPmWLNUTqATb1xz%2Bz1T8VF%2B%2BCdq0A%40mail.gmail.com
> 
> .
>
-- 


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAGHj7-L19%2Bh37Tt1ca2j_%2BOW1HdcbeovXDuxdWc8NN-NJJNhhA%40mail.gmail.com.


Re: [racket-users] Re: Lightweight, lazy trees (new package)

2020-04-22 Thread Jason Hemann
This seems quite cool and useful.

Thank you for sharing!

JBH

On Wed, Apr 22, 2020 at 11:41 AM Simon Schlee  wrote:

> Hi Sid,
>
> this looks like a nice, clean, simple to use interface,
> that could replace some of my adhoc tree traversals hidden within,
> some of my code.
> I am looking forward to playing around with it and seeing where I can use
> it, thank you for creating it!
>
> Have a great day!
>
> Simon
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/47c44020-4f17-4581-a973-3c519a9f33ea%40googlegroups.com
> 
> .
>


-- 
JBH

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CALcHBdFyqFKZYPssN6kiqNm4pT4ZnD1qipe1AA4ymty6JT8Ecg%40mail.gmail.com.


[racket-users] Re: Lightweight, lazy trees (new package)

2020-04-22 Thread Simon Schlee
Hi Sid,

this looks like a nice, clean, simple to use interface,
that could replace some of my adhoc tree traversals hidden within,
some of my code.
I am looking forward to playing around with it and seeing where I can use 
it, thank you for creating it!

Have a great day!

Simon

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/47c44020-4f17-4581-a973-3c519a9f33ea%40googlegroups.com.


Re: [racket-users] New week, new Racket! What are you folks up to?

2020-04-22 Thread 'John Clements' via Racket Users
Alongside everything else, I started exploring writing code to post GraphQL 
queries (specifically in order to interact with Canvas). The language’s syntax 
is yet another needlessly complicated approximation to s-expressions, but I do 
have some things working. Not sure if I should put together a CRAPL-licensed 
starter kit as a package.

John Clements

> On Apr 19, 2020, at 10:04 AM, Stephen De Gabrielle  
> wrote:
> 
> New week, new Racket! What are you folks up to? 
> 
> Answer here or on 
> - https://racket.slack.com/ (Sign up at https://racket-slack.herokuapp.com/ ) 
> - `#racket` IRC on freenode.net https://botbot.me/freenode/racket/ 
> - Tweet @racketlang on Twitter 
> - Racket discord https://discord.gg/6Zq8sH5 
> - [r/racket](https://www.reddit.com/r/Racket) 
> 
> Don’t forget to sign up for, and contribute to Racket News at 
> https://racket-news.com/ AND submit your links to Racket Stories 
> https://racket-stories.com/
> 
> Kind regards, 
> 
> Stephen
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/racket-users/07e9a208-c896-46e1-8a7e-9a94bceda393%40googlegroups.com.



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/01900ebd-a385-411a-9fad-0c2f9fe53e6c%40mtasv.net.


Re: [racket-users] New week, new Racket! What are you folks up to?

2020-04-22 Thread Hendrik Boom
On Sun, Apr 19, 2020 at 10:04:18AM -0700, Stephen De Gabrielle wrote:
> New week, new Racket! What are you folks up to? 

# Related to Racket

## Working on the OpenGl binding.

Still wrestling with Khronos's new XML specification for OpenGL.
I have a somewhat confusing parser that processes sxml's output;

The parser nees at least three representations for types:  XML expressione, 
ctypes for the ffi, and Racket types for the documentation (and, peresumably
someday, for the typed-Racket binding for OpenGL.)

I'm changing the parser from Racket to Typed Racket, gaining much clarity in 
the code.

## But Typed Racket brings its own problems.

For example, take a list of type (Listof Foo).
Check if it in null.
In the branch where it's not null, the tyechecker now knows the list
is of type (Pair Foo (Listof Foo))

Undersome circumstances (which aren't quite clear to me) operations take an 
argument of type (Listof Foo) don't seem to recognise that a
(Pair Foo (Listof Foo)) is also of type (Listof Foo)

IIRC, map is on of these operations.

And why can't Typed Racket error messages contain a line number?  In DrRacket 
it means I can easily fix one error per run.  Although the error areas get 
attention-getting pink backgrounds, they aren't in the same order as the error 
messages, and all pink the backgrounds disappear as soon as I start to fix 
the first error.

* Unrelated to Racket.

I spent a weekend on LudumDare, not managing to produce a game, but 
ending up with a rudimentary terrain generator with rivers, written in 
Javascript mbedded in HTML.  See https://github.com/hendrikboom3/LudumDare46 
for source code; http://topoi.pooq.com/hendrik/ld46/game.html to see a map 
being generated.

I've also enjoyed attending math seminars all over the world; COVID-19 has 
forced then to go online and that means they're easy for me to go to.

-- hendrik

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20200422153344.mlwnrsbyngiqklsu%40topoi.pooq.com.


[racket-users] ‘beginners get the *impression* Racket is slow’

2020-04-22 Thread Stephen De Gabrielle
There was a very interesting thread on #beginners about speed of Racket
https://racket.slack.com/archives/C09L257PY/p1587535427171800?thread_ts=1587488943.145200&channel=C09L257PY&message_ts=1587535427.171800
What I took away from the discussion is beginners get the *impression*
Racket is slow due to some design decisions a in DrRacket:
•  Debugging is on by default (hidden in #lang dialog under ‘advanced’)
• The Run button includes debugging (unlike other IDE’s)
• The Debug button steps through the code- but does it turn on debugging
and profiling if they are turned off? (I don’t think so but I’m not sure)

I’m not suggesting the design decisions are wrong - but I’m interested in
working on DrRacket code to try improve the experience for all users.

Kind regards
Stephen



-- 


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/CAGHj7-Kt96YJTYUsOt9srps4qR3J72i_Z8QO5MJUsQPkhEyCSg%40mail.gmail.com.