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.

Messages - Forestidia86

Pages: [1] 2 3 ... 34
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.)

Why is it needed to vote for each rule separately?
Actually you can have an advantage when you're in a rule with a higher survival rate than the others, which doesn't seem to be justified.
Why not make one big mixed round with all the levels and then best 5 levels or so go in the next round?

Lix Levels / Re: Some replays to old levels
« on: February 21, 2019, 09:20:32 pm »
Replays to (culled levels):

Escape the Pit (different version)

Lix Levels / Re: Some fixes to old levels
« on: February 18, 2019, 07:10:42 pm »
The level That Pesky Gap seemed to have relied on old physics (variable SI?).
I made a variant of it which uses likely a completely different trick.

Lix Levels / Re: Some replays to old levels
« on: February 16, 2019, 05:54:15 pm »
Some further replays to culled levels. I think there are some backroutes.

Castle in the Sky
Four Color Circus
Heavenly skies
It's All Uphill From Here
Laser Deathroom (Part 2)
Leap of the Locust
Over the Hump
The Giant Mushroom
Top Gear

Edit: Attached another replay to Bulldozer, which is closer to intended.

Lix Levels / Re: Some replays to old levels
« on: February 15, 2019, 07:55:57 pm »
Solution to newer Bulldozer version.

Lix Main / Re: Editor, Giga's rant
« on: February 13, 2019, 05:49:33 pm »
To copying pieces:

That copied pieces spawn a bit below the original can lead to the problem that they spawn outside of the reachable map if the original is too low on the screen edge. You can still reach them by increasing the lower map size though.

One idea against that problem would be that tiles are spawned above the original tile iff they would end up below the map border.

I think this issue is still not in github but it came up again in IRC:

16:20:12]    <Ramond__> maybe an editor suggestion
[16:20:30]    <Ramond__> cloning tiles that are aligned to the bottom of the map should not clone downwards, only sidewards
[16:21:15]    <SimonN> right
[16:21:39]    <Ramond__> perhaps something analogous for right-bound tiles
[16:22:08]    <SimonN> if things would clone to outside of the map, they should clone in the opposite direction.
[16:22:18]    <Ramond__> yeah something like that
[16:23:20]    <SimonN> Also game should remember where you moved after cloning, and clone the next stuff again in that direciton.
[16:24:55]    <SimonN> To aid building long walls/floors from a sequence of the same tiles
[16:25:16]    <Ramond__> makes sense
[16:25:57]    <SimonN> Do you have a github account? You can file issues directly there. Otherwise I'll file it once I remember it. It's also dug in a thread on LF.

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 Levels / Re: Some replays to old levels
« on: February 11, 2019, 07:09:58 pm »
Attached replays to:

"When the Levee Breaks"
"Digging in the Air" (probably not fully intended but main trick is in there)

Lix Levels / Re: Lemforum pack changes, Lix 0.9.x
« on: February 09, 2019, 04:30:21 pm »
I liked Oblique Strategy and think it should be part of the main pack as well. The question is if it is rather Vicious than Daunting.

I think it's good to have a folder for the culled levels, too. I've covered some of these levels in the current physics.

Lix Levels / Re: Mobius' Lix Levels
« on: January 31, 2019, 06:20:26 pm »
I have a rough adaptation to Pinnacle of Defeat. It should cull some backroutes but still can have some.
The "intended" solution in this version is in the spirit of mobius' idea but very finnicky to perform.

It's a tricky issue since the idea of avoiding clashing schedules sounds good but Lix seems to justify its own multiplayer board, from the kind of project it is as well as from the amount of sessions that exists.
If too much is merged there is the danger, that it gets too crowded and unclear again.

Lix Main / Re: Autosave replays: Run to end? Different icon for quicksave
« on: January 11, 2019, 02:08:49 pm »
Lix has a level that solves with 0 skills, but not obviously. Thus Forestidia's 3) is a concern: Cancelling the map produces a solution checkmark, that would look like a bug.

Color me curious, which level?  Is it part of the set of levels that come with Lix or just a custom one from somebody?

Level that solves itself (click to show/hide)

The other alternative is maybe the game just always keep the replay for the most recent attempt as a backup somewhere, regardless of whether it can possibly solve or has solved the level or not.

I like the idea of having a backup save replay, although you can save replay manually after exiting the level.

Lix Main / Re: Autosave replays: Run to end? Different icon for quicksave
« on: January 10, 2019, 03:14:32 pm »
It's possible to beef up the "replay harvester" (the internal part of the game that sits between the exited attempt and the level browser, and decides whether the replay is autosaved or offered for manual saving) to always run the replay to completion, to never miss solutions even when they haven't been run to completion during play. It's expensive and feels weird, maybe it's worth it, I don't know.

IMO: Profile it on a not-too-powerful machine, if it's not particularly excessive nor tricky to implement, do it. I recall that Lix's replay simulation is extremely fast (many orders of magnitude faster than NL's, which is already very fast for a single replay; also in this situation, the physics map is already rendered), I suspect that while it might theoretically be computationally expensive, it will not be an issue in practice.

If such a mechanism is implemented I plead for an option to turn it off (while still having the possibility to autosave played out replays) since it can get very annoying:

1) For very lenghthy computation heavy replays the verifying process can last multiple seconds. And having to wait such a time before proceeding can get frustrating.

2)a) You have no chance to cancel the level without replay anymore if you've already made the route. That's nasty for testing purposes since it spams your replay folder even more.
b) Furthermore to single out replays is not that easy if you have multiple, which aggravates a).

3) You can (theoretically) get autosaved solving replays without even having realized that your route solves. But it belongs to the puzzle to assess that.

Pages: [1] 2 3 ... 34