Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Forestidia86

Pages: [1] 2 3 4
Lix Main / Black screen in macOS build
« on: April 07, 2019, 03:18:30 pm »
There seems to be an issue with a macOS build. From the descriptions of macOS users:

It starts and opens a window, but which has only a black screen. The music plays and at least with ldc it segfaults.

Issue 381 on github

From the #lix log of 4th of Jan, 2019 (concerning Lix 0.9.24):

[11:24:47]    <tarzeau> i've got an up to date 10.14 mojave mac now... i shall retry?
[11:24:55]    <tarzeau> remember what i need to install with brew?
[11:25:55]    <SimonN> brew install ldc dub allegro enet
[11:30:09]    <tarzeau> uncaught exception when i run ./bin/lix but that's surely the releaseXDG
[11:30:27]    <tarzeau> rebuilding...
[11:31:19]    <tarzeau> now i get a window called Lix, which shows black, nothing else
[11:31:59]    <tarzeau> adding --build=release as in windows
[11:32:04]    <SimonN> what is your exact build command?
[11:32:20]    <tarzeau> now it's: HOME=. dub build --build=release -f --compiler=ldc2
[11:33:07]    <tarzeau> oh wow now ./bin/lix goes fullscreen
[11:33:10]    <tarzeau> staying black
[11:33:21]    <tarzeau> pressing esc: segmentation fault
[11:33:23]    <SimonN> yeah, release defaults to fullscreen
[11:34:03]    <SimonN> go into the segfault with a debugger
[11:52:11]    <SimonN> tarzeau: When you build Lix, dub outputs versions of other dub packages. What version is "allegro" in that output?
[11:54:08]    <tarzeau> allegro 4.0.4+5.2.0: building config "no-libs"
[11:54:15]    <tarzeau> maybe i should not have copied that dub packages from linux?
[11:54:47]    <SimonN> hmm, 4.0.4+5.2.0 is correct version.
[11:55:34]    * tarzeau drops HOME=. and rebuilds, removed all the *-n/ dirs too
[11:55:40]    <SimonN> Copying stuff from Linux: dub stores built binaries in .dub dir, thus the copying could cause problems. Delete ~/.dub/ and (lix)/.dub and then build.
[11:56:14]    <tarzeau> i've not taken any binaries, just the sources
[11:56:21]    <tarzeau> but will try as well...
[11:56:28]    <SimonN> ah, hm, then should work. But try anyway.
[11:57:17]    <tarzeau> all black... maybe it doesn't find data files?
[11:58:02]    <tarzeau> oh user/log.txt says
[11:58:06]    <SimonN> in dub.json, in "libs": [ ... ], between these square brackets, add this line including quotes and comma: "allegro_color",
[11:59:17]    <tarzeau> added and rebuilding...
[12:12:51]    <tarzeau> i can't find ~/.dub on macOS but i removed .dub
[12:13:06]    <SimonN> okay, hmm, I'm sure it'll be fine
[12:13:15]    <SimonN> did the rebuild do any good?
[12:15:33]    <tarzeau> but the icon appears when starting it
[12:15:36]    <tarzeau> in the dock
[12:15:43]    <tarzeau> black screen as always
[12:16:35]    <SimonN> okay. Remove `"allegro_color",` again, then `brew install dmd`, then build Lix with `--compiler=dmd`
[12:21:45]    <tarzeau> building...
[12:22:42]    <tarzeau> it also builds fine, however same black window
[12:22:54]    <tarzeau> i run ./bin/lix from the source unpacked tree
[12:23:13]    <tarzeau> however esc just exits, no segfaults
[12:56:37]    <SimonN> tarzeau: download the music: -- extract in Lix's directory, then run the game again. Does music play during the black screen?
[13:02:25]    <tarzeau> back, i already have the music there
[13:02:31]    <tarzeau> let me make louder
[13:02:49]    <tarzeau> yep music plays
[13:06:41]    <SimonN> okay, hmmm, this is tricky then. Lix runs but doesn't display anything.
[13:08:02]    <tarzeau> ack
[13:08:06]    <tarzeau> do you use opengl?
[13:08:45]    <SimonN> Not directly. Via Allegro 5.
[13:09:43]    <SimonN> Okay, I have one abstruse idea.
[13:10:12]    <SimonN> Downgrade DAllegro5 bindings and add allegro_color back. I will instruct you how to do this.
[13:10:35]    <tarzeau> k
[13:11:51]    <SimonN> dub.json, line 13: Replace with: "allegro": "==4.0.3",
[13:12:28]    <SimonN> in line 21 or so, add new line: "allegro_color",
[13:12:40]    <SimonN> (all these times, the trailing commas are important)
[13:13:03]    <tarzeau> done
[13:13:14]    <SimonN> in dub.selection.json, replace line 4 with: "allegro": "4.0.3+5.2.0",
[13:13:34]    <tarzeau> done
[13:13:34]    <SimonN> then run: dub build --force --compiler=dmd
[13:13:47]    <tarzeau> running
[13:14:20]    <tarzeau> built, runs the same
[13:14:33]    <tarzeau> and it's the same windowed or fullscreen
[13:14:37]    <SimonN> i.e., black screen, music plays, and no image? hmm.
[13:14:42]    <tarzeau> yes
[13:14:46]    <SimonN> Okay, then I'm out of ideas :)
[13:15:22]    <tarzeau>
[13:15:23]    <SimonN> I didn't believe this would have helped anyway, but I would have slapped myself had it been the solution and had I not tried it.
[13:16:34]    <tarzeau> ?
[13:16:49]    <tarzeau> al_flip_display(); needed?
[13:17:06]    <SimonN> yes, should be needed.
[13:17:07]    <tarzeau> i remember macOS (well cocoa) has different coordinate system
[13:17:25]    <SimonN> Allegro is an abstaction over any OS-specific stuff.
[13:17:48]    <SimonN> maybe run that example code and see if you get window
[13:17:51]    <tarzeau>
[13:18:00]    <tarzeau> single buffer?
[13:18:11]    <tarzeau> i don't know either. if you want me to retry, tell me
[13:18:47]    <tarzeau> this gh issue produces black display, works windows + linux
[13:20:10]    <SimonN> okay, no time. I think I double-buffer. My code is in src/hardware/display.d, public interface to that module is ALLEGRO_DISPLAY* display to get backbuffer to draw there, then void flip_display()

Non-Lemmings Gaming / Baba is You (puzzle game)
« on: March 18, 2019, 11:16:09 pm »
"Baba is You" by Hempuli Oy is a puzzle game where you have to get your character to the goal of each level.
It's generally a box push puzzle but with a twist: You can change the rules of the level by pushing them around. So you can change the rules in some levels that way that e.g. a boulder becomes the goal etc.
It seems like an interesting idea to me, especially since it allows you to "reprogram" the level, which needs other thinking than a mere box push puzzle.
I only played some of the levels so far, but even in the beginning there were some tough ones for me.
I personally like the idea behind the game since it has programming aspects without need to know programming languages.

(Quite some time ago I came across of a Java based game (forgot the name) where you had to change the rules to get to the exit. It really needed you to get into the programming language, which had its good and bad sides. Baba is you is in the same spirit but non-programmer friendlier and integrates the rules into the box puzzle game mechanics.)

Lix Main / Add test play mode to the editor
« on: February 13, 2019, 05:45:38 pm »
When testing freshly build levels you have to save, go out of the editor and play the build level, which is rather tedious.
Furthermore with normal play all your solutions during testing get auto saved by default what e.g. Ramond finds annoying since it can clutter your replay folder.

Therefore a test play mode from inside the editor seems to be a reasonable feature.

(Corresponding discussion from IRC:
[17:10:03]    <Ramond__> one other thing maybe, while testing your own level the game will auto-save each of your successful attempts, it will clutter after a while
[18:25:10]    <Forestidia> The auto save feature is important.
[18:25:24]    <Forestidia> It can be turned off I think.
[18:26:14]    <Ramond__> yeah it is important for playing, but rather hindering during level testing
[18:26:33]    <Forestidia> But what is your suggestion?
[18:27:06]    <Ramond__> I don't really have any proper suggestion, it only felt a bit annoying to having to clean out the replays manually
[18:27:15]    <Ramond__> maybe someone else has a good idea
[18:27:16]    <Forestidia> okay
[18:27:44]    <Forestidia> You can Esc the level before you hit the save requirement.
[18:27:58]    <Forestidia> I often do that when testing.
[18:29:02]    <Ramond__> that's a possibility but still a slightly tedious workaround (always having to have that in mind)
[18:29:27]    <Forestidia> The thing is to have a replay for the final version is important for coverage.
[18:30:08]    <Ramond__> dunno if feasible but what if there's a way to directly go into a 'test play' mode from the editor (skipping going back to menu to select play) which is identical to the normal play mode except it won't auto-save? (can still be saved manually somehow)
[18:30:49]    <Forestidia> A test-play mode from inside the editor would be good for other reasons as well.
[18:31:28]    <Forestidia> Since it's then generally less tedious to test your level.
[18:31:44]    <Ramond__> yes
[18:31:51]    <Ramond__> though for some reason I thought it was intentionally left out
[18:32:14]    <Forestidia> I don't think so actually.
[18:32:27]    <Forestidia> But I don't know for sure.)

Lix Main / Debug build should start windowed by default
« on: November 16, 2018, 08:51:07 pm »
A debug build is often used for debugging purposes but these can be impeded by the default software fullscreen, e.g. since you can't access crash messages or don't get out of the program window easily.
So at least the debug build should default to windowed mode. 

Lix Levels / Levels by Forestidia
« on: July 04, 2018, 11:43:31 am »
I'm not really into complex level designing, but I'm mainly interested in trick showcase levels.

The attached level is meant to enforce one particular trick but I'm not fully sure if it does.

Lix Main / Reintroducing Tutorial Levels? (issue 336)
« on: June 22, 2018, 04:53:16 pm »
Someone made an issue about reintroducing the tutorial levels.
This is something that could be discussed.
I'm personally ambivalent about this:

On the one hand quite a few users seem to want them.
And it helps not getting stuck only because you don't know the mechanics.

But on the other hand there are advanced mechanics/tricks where the main puzzle of a level is to find that mechanics/trick out.
Furthermore the basic tutorial levels can be very bland.

There are old tutorial levels still available in the forum and in Clam's (Outtakes) and Rubix' pack are levels that are or could count as a tutorial.

Lix Levels / Some tile groups
« on: May 27, 2018, 08:55:37 pm »
Just some tile groups I've built together (with current existing tiles). contains the level files with the tile groups. contains the pictures of these groups for reference.

Description how to integrate tile groups in other levels.

Most of the tile groups are recreations of Simon's culled tiles. bridgetiles are recreations of Matt's old oriental bridge tiles.

Lix Main / Cuber Edge Cases (heavy spoiler)
« on: May 17, 2018, 03:36:44 pm »
Some cuber edge cases:

1. Climber climbs in cube: If you assign a cuber it lasts some time until the cube is created and so lix can get into the cube in the process of cubing. So far so usual. But if you have a climber and cube near a wall it will start to climb and climb up within the created cube. (Showcase replay: cube3.txt)

2. Blocker within cube: In the above mentioned creating process of the cube you can assign a blocker to a lix, which will remain within the cube. Since the cube is created at first in layers, a lix that gets into that process pulls itself up the already created layer. If you assign blocker then, it is not only in the cube but also a bit heightened.
If you free that blocker with a walker you can assign basher which destroys the upper part of the cube. You have a small step then (Showcase replay: cube1.txt) (You can achieve that of course with assigning basher instead of blocker in first place as well.)  But the blocker must have been assigned at the very edge else there remains to one side a thin wall. (Showcase replay: cube2.txt)

3. Lix can get caught within the cube: As long as the cube is in creation process the lix can normally climb out of the already created parts of the cube. But if you delay a lix until the process is finished then the lix gets caught.  You can still assign destructive skills like the basher. The delay can be achieved, e.g. with assigning a batter or having a stunned lix. (Showcase replay with batter: cube5.txt)
A more unusual case is that even a faller if it is timed right can get caught. (Showcase replay: cube4.txt)
If the hatch is low enough then lix can spawn within the cube and get caught as well.

All replays were made in the level Any Way You Want.

Lix Main / Builder edge cases (spoiler)
« on: May 02, 2018, 08:46:44 pm »
I just wanted to collect two (known) builder edge cases that can lead to backroutes.

1. Turning around the crowd with two builders (and one blocker)
By stacking stairs you can block the crowd but usually you need three stairs for that.
But you can force the situation with two stairs as well.
For that you need a blocker. The builder turns at the blocker which can lead to copying or stacking of stairs so that you effectively have two stairs next to each other instead of one. So you can simulate having three stairs with just two.
I've created a replay to showcase this called "twostairsblock.txt" (level used is Any Way You Want; I freed the blocker in the end to show that you have indeed a blocking stair wall). It's rather precise to perfom when on flat surface. It could be very well easier to perform on slopes.
Even if you already have to use a blocker which blocks the crowd anyways this has use cases.
For example you can use stairs to cross a gap or catch the lix in a loop but after the route is built you want to free them of the loop or let them go into the gap.
(Theoretically you can make a blocking wall with one stair and two blockers but I don't see a good application case.)

2. Ramond's 2-builder cancelling (issue 268)
Two builder cancelling works in Lix and was found out by Ramond.
It has a very peculiar and precise setup since it depends on the distance between lix, especially when the second lix arrives at the first builder.
But there are ways to manipulate this distance. One of them is using the shrugger animation of the first builder if you have more than two stairs. The shrugger animation lasts multiple frames which lets you readjust the distance between first builder lix and second.
I've created a replay to showcase this called "twobuildcanc.txt" (level used is Any Way You Want).

Lix Levels / An unusual Lix level
« on: April 04, 2018, 08:51:19 pm »
You can take this as a late April's Fools joke. You can just put pictures in the image folder of Lix to have new tiles and in this case it's a very peculiar tile.

Edit: I deleted the attachment since it seems to be deemed as not appropriate. It was never meant to be a serious level, I just found it funny that the Lix were crawling along my plushie tiger. I didn't know where to post it, but yeah it's just lame.

Lix Levels / Some replays to old levels
« on: March 28, 2018, 03:43:09 pm »
Attached replays to:

- Eyesis I + II by Ramon; these levels had originally a time limit of 30 seconds, which should correspond to 450 phyus (both replays stay below that according to verifier.txt).
- Cirque du Solix by mobius; this level had originally a time limit of 120 seconds, which should correspond to 1800 phyus (the replay stays below that according to verifier.txt).
- Tailor-made for athletes by Proxima
- Marching Band by geoo
- The New Compression Method by geoo
- Minefield by geoo

Lix Levels / Some fixes to old levels
« on: March 20, 2018, 08:10:58 pm »
I've fixed, mainly via text edit, some old levels to current tile namings.

Jumpers from Lix tutorial levels by geoo
16 x 16 by Akseli  from the Lix Double-Level Contest 2014
Planet Dulux by Akseli from the Lix Double-Level Contest 2014
Palmtree Pile-up (V1.2) by Simon from the Level Design Contest 5

These levels should show no missing terrain anymore but I can't guarantee their solvability or that they haven't gotten pointless.

All levels should be solvable (Lix 0.9.13).

Edit: There are fixes that remove the gaps to Planet Dulux and 16x16 (both by Akseli) in this post.

Lix Levels / Lix single player level (pack) list
« on: March 17, 2018, 07:14:57 pm »
Here is a list of all single player Lix level packs and scattered levels. It was split off Wafflem's list for all Lemmings-like games. Packs/levels are ordered by author name.

Current but not included in the main release:

Level Packs:


Contest levels:
Some contest levels may depend on features of C++-Lix, e.g. time limits, which are not supported anymore in Lix.

16 x 16 by Akseli
Entry for the Lix Double-Level Contest 2014. Shows missing tiles due to tile renamings.

Planet Dulux by Akseli
Entry for the Lix Double-Level Contest 2014. Shows missing tiles due to tile renamings.

The Climber Predicament by geoo
Entry for the Lix Double-Level Contest 2014.

The Floater Predicament by geoo
Entry for the Lix Double-Level Contest 2014.

Minefield by geoo
Entry for the Level Design Contest 5

Las Ranas Hermanas by geoo
Entry for the Level Design Contest 6. Included in the lemforum pack of the main release.

Marching Band by geoo
Entry for the Level Design Contest 10

Inseparables (V2) by geoo
Entry for the Level Design Contest 11

The New Compression Method (V3) by geoo
Entry for the Level Design Contest 11

Cirque Du Solix by mobius
Entry for the Lix Double-Level Contest 2014.

Cirque Du Solix (part 2) by mobius
Entry for the Lix Double-Level Contest 2014.

Amethyst Nightmare Shrine by NaOH
Entry for the Lix Double-Level Contest 2014.

Temple to the Frog Gods by NaOH
Entry for the Lix Double-Level Contest 2014.

A Day in Lixtown by Nepster
Entry for the Lix Double-Level Contest 2014. Included in NepsterLix, which is part of the main release.

A Night in Lixtown by Nepster
Entry for the Lix Double-Level Contest 2014. Included in NepsterLix, which is part of the main release.

Altruism by Nepster
Entry for the Level Design Contest 6. Included in NepsterLix, which is part of the main release.

Oh Yes, Here Again! (V3) by Nepster
Entry for the Level Design Contest 11

All Around the World by Proxima
Entry for the Level Design Contest 4. Included in the lemforum pack of the main release.

A Necklace of Raindrops by Proxima
Entry for the Level Design Contest 10. Included in the lemforum pack of the main release.

Tailor-made for athletes by Proxima
Entry for the Level Design Contest 10

Oh No! More Tame Levels (V3) by Proxima
Entry for the Level Design Contest 13

Eyesis (Part I) by Ramon
Entry for the Lix Double-Level Contest 2014.

Eyesis (Part II) by Ramon
Entry for the Lix Double-Level Contest 2014.

Waiting For The Answer (V5) by Rubix
Entry for the Level Design Contest 9

Palmtree Pile-up (V1.2) by Simon
Entry for the Level Design Contest 5. Uses an outdated tile.

Long Division (V25) by Simon
Entry for the Level Design Contest 10

Flying Squirrels (V2) by Simon
Entry for the Level Design Contest 11

Key to the Mini Kingdom (V9) by Simon
Entry for the Level Design Contest 13

Included in the main release:

Full pack with 113 levels by Clam: 91 levels plus 22 outtakes.

xmas2018 by F and Simon
Holiday-themed pack with 24 levels.

Miniatures by geoo and Simon
Originally 10, now 17, levels with small level sizes, inspired by the small size of Gronkling's levels. Part of the misc folder.

Tutorials by geoo, Rubix, Simon and Wuzzy
As of 7th Feb 2019 it contains 15 basic tutorial levels. Advanced tutorials are planned.

mobius's levels 2017
A later set of Lix level packs, including "leftovers" (some of them are included in the lemforum pack) and "non-tutorials" (7 levels loosely based off the L1 Tutorial levels). Part of the misc folder.

Full pack of 96 levels.

Nessy's levels
10 levels, some converted from the NeoLemmix pack "Lemmings Migration". Part of the misc folder.

Epic Adventure by RubiX
Full pack of 173 levels. Contains Parallel Universe and the Community Collab Project #1.

Simon's levels
Some levels by Simon that are not miniatures. Part of the misc folder.

lemforum (Lix Community Pack)
Full pack with 240 original levels by various authors, including remakes of Lemmix and Cheapo levels. Some levels are from the abandoned Project Capybara, its remaining levels later became mobius's small level pack in 2017.


Level Packs:

TameLix by Clam
Only for C++ Lix. 20 ONML Tame levels in Lix with new puzzles. Each level has an easy and a hard puzzle.

DoveLems by Dodochacalo and Proxima
Only for C++ Lix. Originally a pack of 125 levels for Lemmini, DoveLems has been converted by Proxima, excluding Lemmings' Ark. This pack needs separate Lemmings tilesets that don't ship with C++ Lix.

Lix tutorial levels by geoo, Rubix and Simon
Levels meant to serve as tutorials for the basic skills. Lix doesn't follow the idea of mere turtorial levels anymore. Some levels use outdated tiles.

mobius's level sets
Lix levels remade from Lemmix. Some of these became part of the Lix Community Pack. Some levels show missing terrain due to the culling of decoration pieces, just save and reload in the ingame editor.

Prob Lem's levels
Several levels. Hrududu made its way into the Lix Community Pack.

Reloaded by RubiX and others
Lemmings 1 levels remade in Lix with new puzzles.

Time Trials by RubiX
Five levels with time limit challenges. Time limits are not supported anymore in Lix.

Scattered levels:

Raylevels by Raymanni
One level can be found in this thread, which uses out-of-date tiles.

Happy Holidays by Raymanni, fixed by Forestidia to tileset renamings
Chimney Climber by Simon
These levels showcase the Holiday tileset by Raymanni. Both included in the xmas2018 pack, see above.

Tech & Research / Impressions playing Winlemm 95
« on: March 07, 2018, 01:49:15 pm »
In the last time I from time to time played primarily ONML and a bit L1 in Winlemm 95 and tried to speedrun primarily Tame and to a lower extent Fun for myself for a bit. (It's the Winlemm version where they splat in “We all fall down“ (but don't splat in “Steel Works“).)
As a kid I only played the first two ranks of Dos and Winlemm ONML/L1 and am still not through with it but nevertheless encountered some things.
Although it's nothing new I just want to share my observations, experiences etc. Simon helped from time to time to understand them.

What I make use of

I use all of the conveniences that Winlemm has to offer:

- Action Replay
- Fast forward, which is brokenly fast on modern PCs
- Pausing and being in a very limited way able to assign a skill while pausing
- Directional and Walker priority selection as I got to know through this thread

Assignment one frame delayed
One general problem I have is that for some reasons for me all the assignments are one frame delayed. This is especially nasty if you want to assign a skill upon landing since you have then to click on the lemming while still in the air. This is a bit mediated by the possibility to assign skills while pausing. I often mess up basher assingments as well due to it and have then the turning basher.

Fast forward (ff) and Pause
Fast forward is blazingly fast and finishes the level in no time. So you can only use it to finish off a level or you can try to make a selfbuilt, very unreliable frameskip.
You can perform this quasi-frameskip by either pressing ff twice in quick succession or use ff in combination with pause.
The first method seems more elegant and faster but also less controllable than the second, since you can almost simultaneously hit ff and pause. If one uses the second method, one should not forget to first disable ff and then pause.
With fastly mashing pause you can have selfbuilt framestepping.

Action Replay (AR)
Action Replay can be used in combination with ff(+pause) to get fast to the point where you've made a misstep. This makes dealing with levels much more convenient for me, although it is hard to pull off properly for me. Unfortunately there are instances where AR can desynch, which can lead e.g. to the situation that skills are used up but not assigned. But fortunately that hasn't happened that often to me up to now.

Other mechanics/pecularities:

Exploder behaves like blocker
In Winlemm an exploder which starts to explode lets other lemmings turn around as if it were a blocker.

Falldistance to the wall of a climber after hitting ceiling
If a climber hits a ceiling it seems to have a higher distance from the wall than in the Dos version. You can build a stair that way that a climber can climb past it but lands on it when falling down after hitting the ceiling. 


Digging seems to be slower than in the Dos version. The digger seems to fall down as soon as the hole opens (unsure if that is true in any instance).

Concerning ONML:

Time limits and RR

In ONML there are a couple of levels where you have to increase the release rate at some point to keep the time limit. I think there is at least one level where they have not even spawned before the time limit has expired. That's especially nasty when I'm using ff to finish off the level since I have a proper route. That way I have no incentive to increase the RR and if I use ff, the level is lost because of that. Increasing the RR to keep the time limit is in many levels just a pure formality and winning or losing shouldn't depend on it I think.

Hidden traps

In ONML are levels that have hidden or only barely visible traps, often close to the exit when you think you have your route. I have to admit that it has that surprise effect and shows you that you shouldn't be too sure about your route. So it has its dramatic effect but it is nasty as well since you have to do everything from the beginning in the worst case although you were close to solving the level. In Winlemm it is a bit mitigated via AR+ff.

About some levels
Spoiler (click to show/hide)

Lix Main / Funny multiplayer moments
« on: March 01, 2018, 01:30:09 pm »
This from one multiplayer session still always gets me and brightens up my day if I'm feeling unwell (aprox. 8:12-9:30 of the video).
(Sorry Raymanni.)

Pages: [1] 2 3 4