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

Pages: [1] 2
Tech & Research / Data structure of the lemmings in MD\Genesis port
« on: February 05, 2021, 02:17:03 AM »
Working on my TAS I've decently reverse-engineered how the data of a lemming is stored, and what data is stored about it. Since the MD/genesis port is very similar to other ports, this may also be true for systems like Amiga and DOS. However there are still some MYSTERIES (fun!), what are byte 10, 13 and 14, and what is skill 19.

Each lemming has 16 bytes stored about it. These chunks of 16 bytes are stored in an array, starting with the data about the first lemming to enter, then the second, and so on. In the version I have, this array starts at address E6B4 in the RAM.

Things found by geoo are in blue text, more details in 3rd reply

Now for a byte-by-byte breakdown of what exactly is stored about each lemming.
BYTE 1: The "half" of the level it is in, if it's in the left half the value is 0, if it's in the right half the value is 1. Basically it's just an extra bit for the X-position of the lemming. Hacking this value to be >1 doesn't seem to result in the lemming being erased, instead it gets "stuck in a wall" rapidly alternating left and right, but not visible in the level.

BYTE 2: The standard X-position of the lemming, all values are used

BYTE 3: The Y-position of the lemming. 0 is the top of the level and 174 is the bottom. There is a "ceiling" at value 8 though and it is impossible to go any higher with current knowledge. The actual bottom of the visible level is 160, but the lemming dies at Y-value 174. Hacking any higher values causes the lemming to instantly die, though hacking it to be it's maximum value causes the lemming to wrap around to the top of the screen, and fall all the way down again with no collision, before dying as usual.

BYTE 4: This one seems to control the X-offset of the sprite used by the lemming, with different skills requiring different offsets to render in the correct position. I have found a single non-hacking glitch where this seems to go wrong, using a climber glitch in terrain, and going through a blocker field may make the sprite render a bit further to the right than it's actual position would suggest for a few frames.

BYTE 5: Same as above, but for the Y-offset.

BYTE 6: Each bit in this byte is a different property
Spoiler (click to show/hide)

BYTE 7: This cycles through the frames of the lemming's sprite animation.

BYTE 8: The skill of the lemming!
Spoiler (click to show/hide)

BYTE 9: Bomber countdown. Is set to 79 when a bomber is applied and decreases by 1 every physics update cycle. Turns into an oh-noer when this reaches 0.

BYTE 10: Counts up by two every physics update cycle when a lemming is floating down, seems linked to the floater sprite animation.

BYTE 11: Combined fall distance and builder countdown. It counts up when a lemming is falling to keep track of fall distance, to check if it should splat. When a builder is assigned it counts down from 12, reducing by one each time it lays a step (every 15 physics update cycles). This counter is only reset when the lemming becomes a builder or a faller or a blocker.

BYTE 12: This changes based on what sort of object trigger area or terrain it is in. For example it is 0 when in air, 1 in an exit trigger area, 8 when in a steel area. Haven't really looked into what each number means. This does not seem to actually affect the lemming's actions though, hacking it to be 1 does not cause the lemming to exit for example, and it is reset back to a normal value the next physics update cycle.

BYTE 13 and BYTE 14: UNKNOWN never seen these change, however is referenced in blocker-related code

BYTE 15 and BYTE 16: Work together to give address in memory where to find the sprite's animation: "if you look in the ROM, the value of these bytes plus 0x40644 give you the address where to find the sprites for the state (BYTE 8) this lemming is in. The exact offset also depends on the animation frame of the lemming (BYTE 7), and is computed in the skill-specific rendering code from off_9156 and off_9FC4. For example, for the walker or jumper, you'd find the ROM address of the current sprite of the lemming by taking 0x40664 + 0x168 (the value of BYTE 15-16 for walkers) + 0x28 * (BYTE 7). The sprites are encoded with 4 bits per pixel, and I believe for the walker the dimensions are 8x10 (not sure where the game gets the width and height of each frame from)"

Lemmings Main / The Lemmings Iceberg
« on: December 29, 2020, 02:19:56 AM »
Loads of other game communities have been making these so I thought it'd be fun to do one for lemmings (and it was), got plenty of suggestions from the discord group too. If you want any explained I can.

Closed / [BUG][PLAYER] Limited exit numbers covered by terrain
« on: December 26, 2020, 03:22:05 AM »
If there is an exit that only allows a limited number of lemmings, the number showing how many can be covered by terrain in both normal play and CPM. This makes it impossible to know the needed number if the level is designed where terrain appears over the top of an exit.

Closed / [BUG][PLAYER] Pre-placed gliders differ slightly in replay mode
« on: December 23, 2020, 01:10:08 PM »
Using player V12.10.1

Pre-placed gliders seem to start 1 pixel lower in replays than when playing. I created a situation where this is shown, the result in a replay is completely different to what happens in regular play for me. The same doesn't happen for floaters.

Welcome to Gronkling's Animal Pack: #1 - RODENTS EDITION, my first actually released pack in at least 5 years!

My small, rodent-themed pack! There are 20 levels, that appear twice each in a bonus EASY mode and the main HARD mode (there is no middle). The hard rank is sorted roughly by difficulty, and the easy rank has a more consistent difficulty.
Each level is tied into a specific rodent, with some fun decoration for each, and each has a specially selected tracker music piece. The levels here are a mix of newly created levels that use modern NeoLemmix skills, and classic levels I made 2016-2018 using only the original skills.

People who have beaten it, with intended solutions:
No one yet!

People who have beaten it, with backroutes:
2020/12/12 - Armani - 11 backroutes first solve on V1, 52 backroutes total
2021/01/09 - IchoTolot - 10 backroutes first solve on V4.2

2021/01/14 - V6.2, 5 more Armani backroute fixes
Spoiler (click to show/hide)

You can find it attached to this post! Have fun! :lemcat::thumbsup::8():

Lemmings Main / Original lemmings height finally discovered
« on: December 09, 2020, 01:10:26 PM »
Based on years of research I can finally reveal the height of a lemming in the original game

However by Oh-No, it seems the shrunk, being smaller than a chameleon, then by lemmings 2, they were even smaller than things like a toy spade, and about the same size as a bee.

Working on a large-scale project doesn't agree with me, so instead I'll be releasing my levels 10 at a time just like the old days. :D This way I can focus on getting a batch of a few levels perfect at a time, instead of dealing with over 100 levels which stressed me out.

Introducing Gronkling's animal packs :8:()[::lemcat:
  • Each will have 10 20 levels, the standard number of a classic pack before big game-sized projects became the standard
  • There will be 2 versions of each pack! The standard version with my set solutions, and an easy version with extra skills and open-ended solutions for beginners, or people who like looking for challenge solutions. Both versions will share the same terrain.
  • Each pack is themed after a different family of animals, because who doesn't like those cool critters :8():. There's a fun sculpture of an animal hanging around at the sides of each level
  • I'll keep a 'compilation pack' going where you can find each mini-pack bundled together in one easy mega-pack (only applicable when I release more than 1 pack)
  • The levels will be a mix of levels I liked from my old unreleased game-sized pack, and newly created levels using new neolemmix skills.


Animal pack 1: Rodents! :lemming:
Here's a squirrel


Setup: Mine through a one-way wall, then build up the miners shaft, only leaving a few pixels of air between the bridge and floor. If you bash through this, the basher will move upwards fairly unexpectedly


Is this behaviour intended? It's odd enough that even I would feel unfair using it in a level right now.

I downloaded the latest version of neolemmix from the website, by clicking on "Latest stable NeoLemmix Player: V12.2.0"
It had the editor included in the file, and I had installed it in a brand new folder.
I open the editor and this unhelpful error message, with Dutch in it shows up:

Selecting yes doesn't open the editor.
This seems to have been fixed by downloading the seperate styles folder from the website and merging it with the one that had been included.
The error message here says nothing to indicate that would fix it.

Closed / [BUG][FLEXI] Issue checker doesn't show levels with same ID
« on: April 10, 2017, 01:08:05 PM »
When trying to build my nxp file, or use replay manager, flexi toolkit throws this error
"This pack has multiple levels with the same Level ID. Please fix this. The issue checker can tell you which levels have issues"

I look at issue checker, click "Error check", issue checker responds with "No issues identified"

Resetting ID on repeat levels, or one random level does not fix this problem.


Is this a bug? It's quite an odd behaviour, though it was present a in a lot of lemmings ports from what I remember. I've used it in a few backroutes before but I've avoided making a level using it.

Closed / [suggest[player]] Rewind to last assignment
« on: February 21, 2017, 08:11:25 PM »
At the moment we have rewinds for constant amounts of time, but maybe it would be good to have a key that rewinds to the frame of the previous skill assignment.

This is SUPER minor, but the end of level jingle is counted as a sound effect in terms of muting rather than music. I think it's more suited to counting as music because it's longer that other sfx and a tune. I always have my own music on (I listen to A LOT) when I play lemmings so I keep music muted and the end of level music tends to disrupt it.

1: You can't copy/paste text to input boxes such as the title / author field. No regular text hotkeys work in fact.
>>> BitBucket:

2: If you change info in an input box, then do not exit out of the input box and save the level, the info in that box will not be saved.
>>> BitBucket:

BitBucket: (For Editor issue; game issue is fixed in latest experimental code.)

Just what it says on the title, if you try using only-on-terrain objects on terrain where one-way is not enabled it is both invisible in game and in editor.

Pages: [1] 2