# Would like to join Ludum Dare 48

**URL:** <https://swi-prolog.discourse.group/t/would-like-to-join-ludum-dare-48/3757>\
**Category:** Split Topic\
**Created:** [March 22, 2021, 12:50pm UTC](https://swi-prolog.discourse.group/t/would-like-to-join-ludum-dare-48/3757 "2021-03-22T12:50:28Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![hnbeck](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/hnbeck/32/3149_2.png) [@hnbeck](https://swi-prolog.discourse.group/u/hnbeck)\
**Post date:** [March 22, 2021, 12:50pm UTC](https://swi-prolog.discourse.group/t/would-like-to-join-ludum-dare-48/3757/1 "2021-03-22T12:50:28Z")

</div>

Hi Annie,

according to the Website it is a week later, April 24-April 27. [https://ldjam.com](https://ldjam.com) If this is true I would like to join 😀

Cheers

Hans

---

<div class="post-metadata">

**Author:** ![anniepoo](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/anniepoo/32/12_2.png) [@anniepoo](https://swi-prolog.discourse.group/u/anniepoo)\
**Post date:** [April 7, 2021, 2:58pm UTC](https://swi-prolog.discourse.group/t/would-like-to-join-ludum-dare-48/3757/2 "2021-04-07T14:58:51Z")

</div>

Great, will consider you on the team! Aaargh, this complicates my life…

---

<div class="post-metadata">

**Author:** ![hnbeck](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/hnbeck/32/3149_2.png) [@hnbeck](https://swi-prolog.discourse.group/u/hnbeck)\
**Post date:** [April 30, 2021, 8:47am UTC](https://swi-prolog.discourse.group/t/would-like-to-join-ludum-dare-48/3757/3 "2021-04-30T08:47:26Z")

</div>

Hi,

compo is over, playing is on going, and I’m happy that I was part of the team. I learned a lot of things, especially with respect of a multinational and muli-timezone team. Our result is really cool [https://ldjam.com/events/ludum-dare/48/perchance-to-dream](https://ldjam.com/events/ludum-dare/48/perchance-to-dream) 😀  
It has js css animation in front, SWI Prolog to manage and read game data and an Python based tool to create XML based game data from Markdown written game texts.

Btw: there was told “Prolog is no game engine”, Well … 😁 that’s an interesting point. Yes SWI Prolog is not optimized for games - because you can do a lot do with it. On the other side, I like the idea to have an rule based (Prolog based) game creation thing. During the jam I thought it would be nice to have a Prolog system which helps to create css / svg / html code, for example for simpler pure html5 based games. Maybe a project for later

Cheers

Hans

---

<div class="post-metadata">

**Author:** ![anniepoo](https://yyz2.discourse-cdn.com/free1/user_avatar/swi-prolog.discourse.group/anniepoo/32/12_2.png) [@anniepoo](https://swi-prolog.discourse.group/u/anniepoo)\
**Post date:** [April 30, 2021, 12:45pm UTC](https://swi-prolog.discourse.group/t/would-like-to-join-ludum-dare-48/3757/4 "2021-04-30T12:45:02Z")

</div>

Yes- I think we had a team member who expected Prolog to be a game engine. But it’s kind of the point of organizing these things - run Prolog in a space where it’s not ‘comfortable’.

And if you’d like to try our game, the game is at [http://robo.digitexel.nl:8888/](http://robo.digitexel.nl:8888/)

The Ludum Dare page is at [https://ldjam.com/events/ludum-dare/48/perchance-to-dream](https://ldjam.com/events/ludum-dare/48/perchance-to-dream)

Prolog actually did a lot for us.  
The game jam starts with announcing a ‘theme’. This time the theme was “Deeper and Deeper”.  
For me, in Europe, that was at 3am. So I was up only an hour, while the many talented writers we had on the team this time started planning an interactive fiction type game.  
By the time I woke up, we had a problem. They’d written over a thousand lines of short cards type prose, with different style formatting. AAAAAA!  
I thought I could massage all this into XML, and I could quickly write an xml reader.  
Writing the xml reader was a single line, but finding things in it went slower than I wanted, simply because it took me a while to figure out the SWI-Prolog xpath notation. Once I figured it out, it went quickly. So I have a to-do item to push improvements to the xpath documentation.

That really didn’t cut it, XML is still unlovely stuff to work with - but one of our teammates had experience with a python markdown reader library and wrote a markdown to xml converter.

With all the ‘cards’ (individual text descriptions of current state) in place, we discovered there were a lot of loose ends. So I quickly wrote some prolog graph traversal tools to find things like broken links.  
Great task for Prolog.

We had used pengines because we thought we’d be using CHR heavily to keep state. As it turns out, we didn’t use state at all in that sense - the game just takes you from one card to another.

Anyone interested, the code is at

> **[SWI-PrologTeamLudumDare32/LudumDare48](https://github.com/SWI-PrologTeamLudumDare32/LudumDare48)**
>
> Team SWI-Prolog's entry for Ludum Dare 48. Contribute to SWI-PrologTeamLudumDare32/LudumDare48 development by creating an account on GitHub.
