I'm surprised that no-one has posted Ashen's review of the PCP station yet:
https://www.youtube.com/watch?v=nBBMnY7mANg
Wukl
@Wukl
Best posts made by Wukl
-
RE: These Chinese knockoffs are hillarious
-
RE: Re: Go stand behind him
@kazitor Yes it does! The preprocessor replaces comments with a single space.
-
RE: Trustworthy e-mail provider
I use Mailfence, the Entry subscription at €2.50 per month. This subscription has IMAP, CalDAV, a web interface and up to 10 domains and aliases. As well as a document storage thingy that I don't use.
I picked Mailfence over Protonmail or Tutanota because the latter two don't support IMAP. Protonmail does have a "bridge" service, but you need to install this on every device you need IMAP on.
They also have a transparency report.
Before Fastmail I used TransIP, but they're getting expensive. Before TIP I self-hosted, but that was a nightmare. Every upgrade or modification had a chance of breaking the setup. Cannot recommend.
-
RE: Discourse 1.0
The thumbnail of the embedded video clearly illustrates Discourse's current state.
-
RE: Representing a dungeon as a data structure
a) representing such a tree in code (such as a built-in data structure for such things)
There are three common options. I'd go for a graph stored as an adjacency list. Each room has an identifier and a list of identifiers for adjacent rooms. A separate dictionary maps identifiers to room instances. This also makes it very easy to serialize.
b) generating such a tree? Recursion? Some form of iterative tree/graph traversal?
You can use a modified randomized Prim's algorithm: keep a list of walls (or wall segments). While the list is not empty, pick a random wall and generate an adjacent room, adding its walls to the list. You can randomly leave out walls or entire rooms from this list to bias the size of the dungeon and the number of terminal rooms.
If geometry is important, i.e. you don't want impossible, overlapping rooms, you can keep rerolling the room dimensions, use a grid system and "grow" rooms around a seed room, use a spatial tree, and so on. The possibilities are endless. I built a genetic algorithm for generating floor plans based on this paper.
For printing, if the dungeon is more graph-like than tree-like, I'd construct a tree breadth-first so you don't end up with a very deeply nested output. Implementing this is easy: you create a "to-be-visited" queue and a "visited" set. Put the root in the queue, and while the queue is not empty, dequeue a room and add any unvisited neighbors to the set and queue, while erasing the edges to the visited neighbors.
You can then print the tree using depth-first traversal. There may be a more efficient way to do this, though.
-
RE: Asking the TDWTF hive mind [choice of language]
@Gąska said in Asking the TDWTF hive mind [choice of language]:
(and it's all software rendered - be aware)
SDL does have OpenGL-accelerated 2D rendering. It's fairly basic, but enough to build a simple game with: https://git.wukl.net/ancient-project-archive/lbs/-/blob/master/src/main.c. It also has an audio plugin, SDL_mixer.
It's all easy to use, provided you know C. It's probably best to forget about C++ for now. For more serious game projects I'd consider a managed platform first, like C# and Unity.
And then there's this: https://pecl.php.net/package/sdl
-
RE: Moar Cooties
OVH had an outage: https://www.theregister.com/2021/10/13/ovh_outage/
Latest posts made by Wukl
-
RE: Representing a dungeon as a data structure
a) representing such a tree in code (such as a built-in data structure for such things)
There are three common options. I'd go for a graph stored as an adjacency list. Each room has an identifier and a list of identifiers for adjacent rooms. A separate dictionary maps identifiers to room instances. This also makes it very easy to serialize.
b) generating such a tree? Recursion? Some form of iterative tree/graph traversal?
You can use a modified randomized Prim's algorithm: keep a list of walls (or wall segments). While the list is not empty, pick a random wall and generate an adjacent room, adding its walls to the list. You can randomly leave out walls or entire rooms from this list to bias the size of the dungeon and the number of terminal rooms.
If geometry is important, i.e. you don't want impossible, overlapping rooms, you can keep rerolling the room dimensions, use a grid system and "grow" rooms around a seed room, use a spatial tree, and so on. The possibilities are endless. I built a genetic algorithm for generating floor plans based on this paper.
For printing, if the dungeon is more graph-like than tree-like, I'd construct a tree breadth-first so you don't end up with a very deeply nested output. Implementing this is easy: you create a "to-be-visited" queue and a "visited" set. Put the root in the queue, and while the queue is not empty, dequeue a room and add any unvisited neighbors to the set and queue, while erasing the edges to the visited neighbors.
You can then print the tree using depth-first traversal. There may be a more efficient way to do this, though.
-
RE: Asking the TDWTF hive mind [choice of language]
@Gąska said in Asking the TDWTF hive mind [choice of language]:
(and it's all software rendered - be aware)
SDL does have OpenGL-accelerated 2D rendering. It's fairly basic, but enough to build a simple game with: https://git.wukl.net/ancient-project-archive/lbs/-/blob/master/src/main.c. It also has an audio plugin, SDL_mixer.
It's all easy to use, provided you know C. It's probably best to forget about C++ for now. For more serious game projects I'd consider a managed platform first, like C# and Unity.
And then there's this: https://pecl.php.net/package/sdl
-
RE: Moar Cooties
OVH had an outage: https://www.theregister.com/2021/10/13/ovh_outage/
-
RE: Trustworthy e-mail provider
I use Mailfence, the Entry subscription at €2.50 per month. This subscription has IMAP, CalDAV, a web interface and up to 10 domains and aliases. As well as a document storage thingy that I don't use.
I picked Mailfence over Protonmail or Tutanota because the latter two don't support IMAP. Protonmail does have a "bridge" service, but you need to install this on every device you need IMAP on.
They also have a transparency report.
Before Fastmail I used TransIP, but they're getting expensive. Before TIP I self-hosted, but that was a nightmare. Every upgrade or modification had a chance of breaking the setup. Cannot recommend.
-
RE: Re: Go stand behind him
@kazitor Yes it does! The preprocessor replaces comments with a single space.
-
RE: Site to report crime anonymously delivers tracking cookies
Reminds me of StemWijzer (a kind of vote compass), which stored all preferences and advices, returned polling stats based on them and had Google Analytics events all over the place.
-
RE: The Official Status Thread
@Tsaukpaetra
ThanksUsually people ask me why I have a penis as my avatar.