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 - ccexplore

Pages: [1] 2 3 4
1
Lix Main / Looks like the lix fall distance can overflow its int variable?
« on: December 30, 2019, 12:03:49 pm »
Playing Minim's current LSC lix level, featuring lixes that can fall forever thanks to vertical wrapping of the level, it suddenly dawned on me that a value that might grow arbitrarily large is a red flag in programming.

And look at the source code seems to confirm my suspicions--pixelsFallen doesn't seem to be bounds-checked in any way, so with an infinite-falling setup, I think it's possible for it to overflow and wrap around, unless D handles integer arithmetic differently than most languages.  In particular, there'd be a large range of negative values it can wrap around to that would effectively grant the lix immunity from splatting for quite a range of falling distances.

Please take a look at the code and/or maybe even test it out, and see if you agree with my conclusion here or not.

I'm not going to exploit this bug for the LSC even if it turns out to be real.

2
Challenges / How to view Lemmix replay (.lrb) solutions
« on: December 27, 2019, 07:50:18 am »
A lot of challenge solutions here for PC/DOS Lemmings are presented in the form of a Lemmix replay file attachment (with extension .lrb).  They are basically like emulator movie files, but based on Lemmix Players, an almost 100% accurate reproduction of the games with all their glitches and quirks.  Here are some quick notes on how to view such solutions, for those who are new to Lemmix.

Part 1: setup and select level

First, download the player EXE for the level in question from this page.  The table on the page details which player EXE contains which levels.  So for example, LemmixPlayer.exe for the original 120 levels of PC DOS Lemmings 1, and LemmixPlayerOhNo.exe for the 100 levels of PC DOS Oh No! More Lemmings.

(Important tip: before you launch the player, note that it runs full-screen.  In order to switch away from the running Lemmix player to some other application like this web browser you are reading this on right now, without having to quit the player, hold down the ALT key and press the TAB key.  This is the Windows hotkey for switching amongst your running applications.  It really doesn't matter which application you switched to, once you switch away from the Lemmix player, the Windows taskbar at the bottom of the screen should become visible again, and you can pick the application to switch to using that taskbar instead.)

The player plays like the actual game and would normally require entering random-looking passwords to go to specific levels.  To bypass that, do the following:

1) On the main menu (the first screen you see when you launch the player), press the F2 key. A password entry screen should appear.
2) Enter with keyboard "CHEATCODES" and press ENTER. At the bottom of the screen, there should now appear something like "Cheatcodes enabled".

You only have to do this once for each player EXE.  The game remembers you've turned on cheat mode (even after you quit and later re-launch the player), so every subsequent time you go into the password screen it will say "cheatcodes enabled" at the bottom, allowing you to do step 3 below.

[Alternatively, you can open the corresponding .ini file (in a text editor) that the EXE creates when it runs, and replace the line "CheatCodesEnabled=0" by "CheatCodesEnabled=1".]

3) Enter with keyboard as a password [rank name][level number], so e.g. "FUN23" or "WICKED7". This directly changes the current level to the one you entered.

Part 2: play level and load replay for level

Once you've entered the level you want, next we start playing the level, and then invoke the "load replay" gameplay feature to play back the replay file you wish to view:

1) Back at the main menu, press the F1 key (or, you can just click anywhere with mouse [left button], even though no mouse cursor is displayed). This will bring you to the preview screen for the level.
2) Click again to start playing the level.
3) Press "L" key.  A standard Windows "open file" window will pop up, use it to browse to the .lrb replay file you wish to view.  Select the file and click OK to load it.
4) The game will instantly restart the level, and will automatically perform skill assignments at the right times to lemmings according to the loaded replay file, as well as automatically making other solution-impacting moves like changing the release rate and nuking, if they were captured in the replay file.  In other words, you are basically watching a movie of the solution captured by the replay file.

Note that some things that are not solution-impacting aren't played back:
  • Screen scrolling or jumping--you need to do so yourself in order to view things that would otherwise simply happen offscreen
  • Pausing and unpausing of game--if you see the release rate instantly jump from one value to another, or skill assignments taking place very close together in time, most likely the game was actually paused in between by the player when recording the replay.
  • Location of the mouse cursor when assigning skills to a lemming--sometimes the cursor must be placed precisely to give the skill to the right lemming, but the mouse cursor position during skill assignments is not displayed in any way during play back
Part 2B: controlling the play back, and exiting the level when done

5) While the game is playing back the replay, you can press either F11 or P to toggle pause and unpause without interrupting the play back.  You can also scroll the screen at will (or jump to a specific part of level via clicking on the mini-map at bottom right) without interrupting the play back.  Do not click anywhere on the level though, or press any of the F1-F12 keys (which would invoke one of the buttons on the skills toolbar), as those actions will instantly stop the play back, and give control back to you the player to continue on with the level.

6) You can also use the following keyboard shortcuts to help you while viewing the play back:
  • Press R to restart level.  The replay will still be active so you can jump back to the very beginning of it.
  • Press Spacebar to jump forward 10 game seconds.
  • Press N to advance time forward by one frame (the smallest unit of time where changes can happen in the level).  This is best used while game is paused.
  • Press B to advance time backward by one frame.  Note that the game implements this by actually rewind all the way back to start, and then play everything back as quickly as it can until it reaches one frame before current time.  So it may be more sluggish to make the game step backwards in time compared to forward.
  • Press - to advanced time backward by 1 game second.  (Note: only the - key between 0 and =, not the one at the NumPad)
  • Press F to toggle between normal and fast-forward mode.  Fast-forward runs the game at 2x normal speed.
  • Press S to toggle sound effects on or off and M to toggle music on or off.  You can also change the setting via F3 on the main menu.
  • Press ENTER to remember current time, and later press Backspace to seek the playback to that instant of time
7) You can press ESC key at any time to leave the level.  This will bring you to the postview screen for the level, at which point you can press ESC key again to go back to main menu.  You can then go back to same level, or pick a different level via the password entry screen.

8) When you leave the level (even with ESC key), if enough lemmings have reached the exit, the game will automatically move on to the next level.  If you don't want that, you will have to go back to the password screen and type in the level again (ie. see Part 1's step 3 above) to get back to it.

To completely exit the game, press ESC key while on the main menu.

3
I was playing Covox Mayhem 2 for the challenge thread (select that level directly, not having played any of the other Covox levels, in case that matters), and after completing the level, it first displays the end of pack congrats message ("Congratulations! You are truly an excellent lemmings player" etc.), and then after clicking through, it displays the postview screen for the level.

This seems backwards?  I don't know what the original game does, but I kind of expect to see the postview screen first, and then the end of pack congrats message after clicking through to "next level".  Though I suppose it kind of works either way. :-\

4
Simplest repro is to play a level that has a saved replay where the first skill assignment is to a right-facing lemming.  Click button on toolbar to turn on left directional-select.  Now load the replay.  Observe that the first skill assignment getting played back fails to actually take hold, because the game seems to be applying the current left-directional-select mode even on replayed skill assignments, and therefore apparently refuses to make that replayed assignment to the lemming facing right.

In addition to save replays, this bug also affects replayed assignments from rewinds as well.

5
Right now editor's hotkeys are not remappable.  For zoom, your options are either the mouse wheel, or the Numpad +/-.  I've run into times where I'm on a laptop, the mouse doesn't have a scrollwheel, and the laptop keyboard apparently doesn't have separate Numpad version of + and - keys (not even through Fn key).  So it seems I actually cannot change the zoom in the editor on such a setup.

The quickest way to solve this is to allow both the Numpad and the non-Numpad versions of + (would actually be = for the non-Numpad key) and - keys to be accepted for zooming as well; after all, it's not like those keys are currently used for anything else.  Even laptop keyboards generally keep those keys even as they often ditched, for space reasons, the keys on the right in a full keyboard. Alternatively, a pure UI option (eg. in the menu, or one of the editor tabs like "Globals" maybe) to set zoom level would also be helpful and likely more discoverable as well, but probably more work to implement.

6
Does priority-inverted selection of lemmings still exist in NeoLemmix?  DOS Lemmings and Lemmix support the "hold right mouse button while click with left button" mode of selection that would basically assign to walkers even when there are high-priority lemmings (eg. those performing skills like building, bashing, etc.) under the mouse cursor.  This does not appear to work in NeoLemmix, and I do not find any mention of such in the hot keys settings UI.

While most of the time lemmings are not positioned at exact same position, so it's often possible to only select the lemming you want via careful positioning of mouse cursor, it's more convenient if the option is available, plus sometimes two lemmings are literally at exact same position, and then the option could become required to assign to the lemming you want.  So does the feature (or at least a different way of achieving the same outcome) still exist?

7
Level Design / Performance tips for large NeoLemmix levels
« on: September 30, 2019, 05:55:41 pm »
[copied from namida's reply on a tangential thread]

If you are making large levels in NeoLemmix, there are a few things you can do to improve performance.

I will stress that in most cases, you will not need to worry about this. Treat this as "what can I change if my level is being laggy?" rather than "what should I always take into account when designing levels?"

First, note that there are several layers (visually) for objects - backgrounds, moving backgrounds, no-overwrite objects, one-way arrows, only-on-terrain objects, and "everything else". I list "backgrounds" here because although backgrounds themself aren't objects, there's a special case that's relevant - a moving background object that doesn't animate and doesn't move, will get drawn to the background layer rather than the moving background layer. This is done because the background layer just gets drawn once, not redrawn every frame. (A moving background or one-way arrow object always gets drawn to the moving background or one-way arrow layer respectively, never to the no-overwrite or only-on-terrain layers.)

So, to improve performance on such levels (or any level, really), you can:
1. Have fewer total lemmings. Also note that lemmings with permanent skills (simply on a "yes or no" basis, not a "how many?" basis) are very slightly more demanding than those without, zombies are slightly more so again, and zombie-permanents most of all.
2. Have fewer total objects. Non-moving, non-animating moving background objects do not count towards this, and you can go crazy with those.
3. Use fewer of the object layers. While there is a slight impact from having a different amount of objects on a layer, the main improvement comes from "is the layer completely empty or not". So if you can make all (or none) of your objects "No Overwrite" instead of a mixture, for example, this will improve performance a bit compared to having a mixture.
4. Where possible, use resizable objects rather than placing multiple objects. It's slightly more efficient.
5. Use objects with fewer secondary animations. The frame counts of them don't matter much, just the actual number of animations.

What doesn't make much difference:
1. Having more or less terrain.
2. Using or not using a background. However - this is assuming it's a proper background, and not an object-used-as-a-background situation - see above notes on objects for those.
3. Using objects with shorter animation(s), or objects that don't animate at all (outside of the moving background special case, above). This does affect memory usage, but doesn't affect CPU usage, which is generally the bottlenecking factor for NL.
4. Reducing the variety of object types. Unless this causes an extra layer to be used, it makes no difference whether you have three of the same exit, or three different exits, or an exit + a trap + a fire, etc.

I will note that all of these things actually can have an impact on loading time - but they won't have much, if any, impact on in-game lag.

Some of this advice does not hold true for older versions of NeoLemmix. Since we shouldn't be using those older versions anymore anyway, I am not going to elaborate beyond that.

8
I haven't really played NeoLemmix until the recent level solving contest, and multiple times I thought I hit some weird bug where the mouse stops detecting lemmings.  Eventually (as in sometime today), it finally dawned on me that I might have had directional select on, and forgot about it after multiple rewinds and trying different things etc.  The mouse cursor looked like it's not detecting the lemming and it seemed like assignments to the lemming didn't work, when in fact it was just that the lemming was in the wrong direction from the forgotten directional mode.

Now that I know what to look for I won't be confused again, but before that when I didn't know what was happening, I wound up restarting the game, which is a little annoying.  If the mouse cursor looks a little different during directional mode (eg. have an arrow at the left/right over the usual crosshair), this confusion would not have occurred.

9
General Discussion / asdfasdf.ethz.ch?
« on: August 19, 2016, 05:55:02 pm »
Seems like http://asdfasdf.ethz.ch/~simon has stopped working for a while now?  I noticed as my avatar is one of the casualties (to be fair, partly intentional).  Is it temporary or likely permanent?

10
General Discussion / "Your Phone is Literally Listening to your TV"
« on: November 20, 2015, 01:16:39 am »
The surreal heights to which advertisers will go in the name of ad targeting. :-\

http://www.theatlantic.com/technology/archive/2015/11/your-phone-is-literally-listening-to-your-tv/416712/

TL;DR:  companies have figured out how to use inaudible (ie. ultrasonic) sounds to establish links between your devices

12
General Discussion / Top 10 Google Translate Fails
« on: April 14, 2015, 07:36:48 am »
While looking into Google Translate features I found this (courtesy of Google search of course ;P).  Funny machine (mis)translations are of course rather old-hat by now, but I have to admit I haven't seen some of the ones listed there:

http://www.searchenginepeople.com/blog/10-google-translate-fails.html

13
Site Discussion / Kudos to the April Fools 2015
« on: April 01, 2015, 07:18:17 pm »
Okay namida, this April Fools mod is quite something, impressive!  I was going to give you a thumbs-up emoticon except that was replaced with a clam as well. x_x ;p

Quote from: testing
Clams Clam clams clam lemmings
We are the clams. Feed us your lemmings.  (Hmm, so how did the news message work?)

P.S. You forgot these smilies:  8-) :-\

14
General Discussion / random article featuring Lemmus lemmus
« on: February 05, 2015, 08:13:22 pm »
This somewhat randomly popped up on one of my news feeds:

http://www.sciencedaily.com/releases/2015/02/150205095155.htm

"Norwegian lemmings dress loudly and scream even louder to survive"

Hmm, sounds like a real-life version of the proposed screamer skill?

15
Site Discussion / List of Forum Staff; Donations
« on: January 16, 2015, 01:21:56 am »
Forum staff -- contact in case of trouble:

Administrators: ccexplore | geoo | namida | Nessy | Simon
Global Moderators: Akseli | Flopsy

Global Moderators can remove spam or other unsuitable posts, move messages and topics, sticky topics, and give general advice on whether or not a post is okay or where it should go.

Administrators have direct access to the server (and by extension, the database) via SSH, as well as the ability to create / modify boards, activate accounts that aren't activating via email, etc. Administrators can also do anything that Global Moderators can do.

namida is the overall "owner" of the site, and there are a few things only namida has access to (eg. if the server is shut down, only namida is able to start it back up).

All administrators and global moderators have details on how to contact namida outside of the forum. Additionally, all administrators and global moderators have access to site source code and database / attachment backups.

Board-Specific Moderators

Some staff are also listed on the main page as board-specific moderators, purely to identify their connection to the specific board, even though they'd have moderator powers anyway based on their global status.

Board-Specific Moderators generally hold the status for being creator of or significant contributor to the board's project. Don't contact board-specific moderators for general site issues; contact an administrator or global moderator instead.

The Board-Specific Moderators for any given board are listed underneath the board on the main page (or on its parent board, as applicable).

Donations

As of the server move on 2018-08-17, we no longer have an automatic facility for making donations. If you would like to donate, please contact namida regarding how to do so manually.

Pages: [1] 2 3 4