Racket meet-up Saturday, 4 Jun 2022 at 18:00 UTC

Racket meet-up Saturday, 4 Jun 2022 at 18:00 UTC :racket:

2022-06-04T18:00:00Z

Online: https://gather.town/app/wH1EDG3McffLjrs0/racket-users

When: First Saturday EVERY month at UTC: 18:00

  • Show and tell
  • News & rumours
  • AOB

30 minutes but can overrun

Central European Summer Time, CEST    Sat, 4 Jun 2022 at 20:00 CEST    
British Summer Time, BST              Sat, 4 Jun 2022 at 19:00 BST     
Eastern Time, ET                      Sat, 4 Jun 2022 at 14:00 EDT     
Central Time, CT                      Sat, 4 Jun 2022 at 13:00 CDT     
Mountain Time, MT                     Sat, 4 Jun 2022 at 12:00 MDT     
Pacific Time, PT                      Sat, 4 Jun 2022 at 11:00 PDT     
Corresponding UTC                     Sat, 4 Jun 2022 at 18:00 UTC        

https://www.timeanddate.com/worldclock/converter.html?iso=20220604T180000&p1=tz_cest&p2=tz_bst&p3=tz_et&p4=tz_ct&p5=tz_mt&p6=tz_pt

Note: Discussion on this thread/topic is fine. If you need low volume announcements only please adjust 'watching first post' in notification preferences.

Prefer to chat? Join us on Racket Discord or Slack

1 Like

Reminder: The meet-up is today in four hours. :slight_smile:

1 Like

Now at

Here's a link to my repository with the toki pona as music chords:
https://github.com/AlexKnauth/toki-pi-kalama-musi

6 Likes

It was nice to see everyone!

There was a lot of discussion:

Alex started the meet-up leading a discussion about his project (see previous message)

Other topics included red-black tree implementation with reference to the paper Red-Black Trees in a Functional Setting, a Racket Rogue-like and the Qi design challenge happening in the racket discord #qi channel

I’ll rely on the other attendees to report on anything I missed as I’m sure I’ve forgotten something and I had to leave before the end.

Best wishes

Stephen

3 Likes

Sorry I had to run, but you all heard my voice... It was a refreshing meeting anyway!

I'll cleanup the Red-Black Tree implementation a bit and post the Racket implementation of aforementioned paper later on.

Regarding the Racket Rogue-likes - there was an interesting idea to run a sort of competition / event for producing Racket Rogue-likes - something along the lines of 7DRL Challenge [1]. However, as I said, I assume most of Racketeers are more like me and are more interested in the algorithms and DSL-approach to writing Rogue-likes than actually finishing a game within a reasonable time (years and years in my case). But maybe others will have different opinion - I'd like to hear those as well!

Also an interesting idea was mentioned - as there is R-cade [2] for arcade games, maybe it might be feasible to implement a Racket Rogue-like library (RRLL as @sschwarzer named it :wink: ).

And for those who weren't there yesterday - the obligatory screenshot at my labyrinth generator "game":

It uses UTF-8 terminal with emojis to do all the hard work, growing tree algorithm (basically a random spanning tree algorithm) is used for the labyrinth itself, doors are placed completely randomly and then DFS[3] is used to determine which areas behind the doors are accessible first and keys are placed in areas accessible before given area door. The gems are placed randomly and the exit is always at the area found last by DFS (and activated only upon collecting all diamonds). When I clean it up a bit I'll probably publish it as well. It's not a real project - just a collection of various ideas I implemented as I am finishing some house construction works :slight_smile:

[1] https://7drl.com/
[2] GitHub - massung/r-cade at 0cce22885aad28234d3f6e1d88568cdc16daf3e6
[3] Depth-first search - Wikipedia

6 Likes

Fun meetup today!

Re: the Design Challenge in the Qi room, that is now concluded and the entries are here on the new Qi wiki (thanks Hendrik for the suggestion to use a wiki! At least, I think it was Hendrik, it was hard to tell who was highlighted in the Gather):

Design Challenge #1

All of the entries were interesting, and although they are in many different languages, they have annotations (provided by the authors) for readers to understand the ideas behind them.

Incidentally, this revealed at least one concrete avenue for improvement in Qi, which was the initial motivation for the event :slight_smile:

1 Like

Nice maze generator!

A small sugestion: Delay placing the diamonds to the last step, so you can ensure that each area has at least a key or a diamond. There are a few small areas that have one block and are empty, they may be a secret closet that stores a gem.

Are you checking that the doors have at least a block on both sides?

Why is the exit sign a red circle with a line? It looks like a non-parking or something similar for me. (It may depend on where you live.)

2 Likes

I can take only a small part of the credit since Dominik had already named his project/directory rrl for "Racket rogue-like." :slight_smile:

We also spoke about command line parsing in Racket. We got to the topic from this discussion thread, but also discussed command line parser approaches that aren't as imperative as in Racket's command-line function.

There's an SRFI-37, which has an implementation in Chicken Scheme (and maybe other Schemes). According to Racket's SRFI index there's no implementation for Racket. @countvajhula also mentioned his cli #lang for Racket.

2 Likes

And I think it was Raoul who shared this video about probabilistic map generation in Prolog.

1 Like

Thanks :slight_smile:

However, it is just a proof of concept (or more like proofs of a few concepts).

Yes, the diamonds can be placed after generating the areas to get more even distribution - but is that really a good idea? By default there is a "fog of war" and some areas might be empty but the player will find about that only after getting there. Not all surprises must be pleasant.

Yes, the doors can be placed only on empty tiles with two opposing adjacent walls and two opposing empty tiles. Actually this is the part of the algorithm that can use some improvement - place the doors in a way that ensures more evenly sized areas (a bit more of DFS on both sides should do the trick though).

And yes, the exit sign is "no entry" until you collect all diamonds :wink:

But anyway - this is not a game, just an idea and actually I will probably focus on creating the RRLL in the (hopefully) near future and only then try something more serious. The algorithm for placing keys to areas accessible before the area being locked by such key is one of the thing that interests me the most. Imagine expanding this idea further - for example you can dynamically create quests where an actor will ask the player to bring a certain thing for reward (or later kill some specific monster) and you can chain these quite easily. Then only a decent name-generator is needed and you have a rogue-like with rather unique features (yes, Dwarf Fortress in Adventure mode has these algorithms and they are quite advanced).

1 Like