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

Pages: 1 [2] 3 4
16
L2Player / Re: Lemmings 2 Physics Research
« on: April 18, 2022, 06:42:00 PM »
Super Lemmings now working as expected. This leaves Jetpack and Projectiles to finish.

I took the opportunity to do some clean-up, refactor level object rendering, fix some trigger issues and implement triggered traps.

I attached some gifs of some of them working. (Clicking image starts the animation)

17
L2Player / Re: Lemmings 2 Physics Research
« on: April 17, 2022, 03:41:00 AM »
A quick preview of Super Lemming in action. Just in the process of comparing to DOSBox for accuracy.

A wall collision and a water collision bug has been corrected from the DOS version.

Video Link: https://youtu.be/ED1RIVn7DpI

18
L2Player / Re: Lemmings 2 Physics Research
« on: April 16, 2022, 04:27:11 PM »
@exit - The Super Lemming implementation is coming along nicely. The counter you mentioned seems to be used for both general state timing and determining the frame to use. I have updated the sprite structures to handle animation segments based on an angle. There is now a single interface for determining which frame of an animation to use based on a direction. It supports an arbitrary number of frames with a starting angle offset and a min/max angle. This is to support various animations which have directional frames. The frame totals for these animations vary from 16-64 frames with varying start/end angles.

Super Lemming has 32 directional frames and these are used to lookup acceleration and collision offsets. The offset point appears to be the top of the lemmings head.

See attached test gif (Red dot is origin, pink dot is collision offset)

Next step is to finish flight and landing states :)

19
L2Player / Re: Lemmings 2 Physics Research
« on: March 29, 2022, 11:22:55 AM »
I agree storing clones of objects in another class is perfectly valid. The main motivation for binary serialisation was to have the option for fast serialisation to disk if needed. It's currently implemented with a base class which can be inherited from to override its Read/Write methods. I have a set of BinaryReader/BinaryWriter extensions which have support for my low levels types like Vector2, Rect etc.

As you say, it has the potential for more bugs this way. But necessary for storing to disk.

To be honest, my method feels over engineered as disk serialisation is not really needed for rewind states as it only needs to persist for the current level. I don't really even need it to persist between debug sessions. It could be nice as a "Quit and finish playing this level later" feature maybe.

Hmm, now I'm torn between binary serialisation and object cloning... :laugh:

20
L2Player / Re: Lemmings 2 Physics Research
« on: March 28, 2022, 12:27:03 PM »
@Simon - It's definitely a fun research project with many interesting aspects :laugh: Blockers work on any level in L2Player currently. So I can tick that one off the list.
@Ste Woz Ere - It's a good one to maintain when it's relied on for timing. I've not fully investigated ice physics yet. But I will add it to my list.

I temporarily paused development on skills to implement state rewinding. I'm getting to a point where it would be very beneficial for debugging new skills as I add them. Anything to speed up the iteration loop.

It's looking promising so far. Binary serialisation is working as expected, with the state snapshots stored in a queue structure. Well, three queues. Seconds, tens of seconds and minutes. New snapshots are pushed into the seconds queue every second, then the snapshots are then popped/pushed automatically into the tens/minutes queues to consolidate and discard snapshots as necessary. This should hopefully simplify rewinding by either 1 second, 10 seconds or 1 minute at a time.

21
L2Player / Re: Lemmings 2 Physics Research
« on: March 23, 2022, 07:04:42 PM »
Sorry for the late reply. I will take a look and let you know how the integration goes. There will be no skill, lemming or projectile hard limits as per the original game as they had to deal with tight memory constraints. It's why you could only select certain skill combinations in practice levels for example. L2Player will let you fill all of the skill slots with any combination for practice levels. Been busy IRL last month or so, but hoping to get back into the flow very soon and get some more skills implemented. As always, thanks for your efforts and help.

22
L2Player / Re: Dev Journal
« on: January 29, 2022, 12:43:37 PM »
Thanks Simon. The facing direction was a bug, I was setting the lemming direction to -1 for negative and positive X velocities. oops.

Good catch on the explosion mask :) I have now changed it so the Classic style uses the L1 mask and other styles use the L2 mask.

23
L2Player / Dev Journal
« on: January 27, 2022, 01:50:22 PM »
After spending time cleaning up a lot of things on the last release, I can now focus on the skills. I have been implementing the most recent physics research for air collision to correct issues with velocity reflection. Velocity is now correctly reflected on the X axis, and nullified when a Lemming bumps his head. Fall/Dazed distances are now accounted for correctly which produces matching DOSBox results from levels I have tested so far.

The next step is to focus on skills needed to complete the Beach levels. Some of the skills are fairly straight forward, others need multiple parts such as the grappling hook.

A preview of the latest physics changes;

https://youtu.be/kIRNwvm3iIw

24
L2Player / Test Release 3
« on: January 20, 2022, 05:23:35 PM »
Test Release 3 - 20/01/2022

This release focuses primarily on bug fixes, backend work and physics.

Setup

  • Unzip to your current Lemmings 2 MS-DOS directory
  • If running Linux, you will need to check that you have OpenAL installed. (See below)
  • Run L2Player

Windows Binaries: https://drive.google.com/file/d/1Hh474z-cqVkORdjVAdLodPILzyEvThZw/view?usp=sharing
Linux Binaries: https://drive.google.com/file/d/1qyZablhHfHiAWti98DZTlhWDxhY2_bOt/view?usp=sharing

OpenAL for Linux (Ubuntu/Debian):
Code: [Select]
sudo apt-get install libopenal-dev
Debug Tools

Pressing 'B' will toggle debug brush mode. This allows you to add or remove terrain arbitrarily to facilitate testing Lemming behaviours.

Change Log

Changes

  • Skills added
             - Flamethrower (Beach level 1 can now be completed)
       
  • Added support for animated terrain hole masks as part of a sprite
  • Fixed - Flash sprite missing when Lemming explodes in non-classic levels.
  • Fixed - Lemmings dropping into water sink too low.
  • Fixed - Trigger bounding box, right edge off by 1 pixel
  • Fixed - Issue when stepping down. Lemmings falling within 4 pixels instead of stepping down.
  • Trap doors now do a round robin when spawning Lemmings.
  • Fixed - Dazed state animation loops back to first frame when transitioning to a Walker.
  • Fixed - Splash sprite missing when Lemming hits the water.
  • Fixed - Can click through skill panels and assign skills to Lemmings behind them.
  • Reworked collision detection.
  • Added exploder physics.
  • Press Escape to restart level
  • Press Escape to quit level (If no lemmings released)
  • Updated to .NET 6.0
  • Restructured so that L2Player is droppped into an existing Lemmings 2 for MS-DOS directory rather than copying.
  • Lemmings 2 into a data\dos sub-directory for a more streamlined setup.
  • As part of streamlinig things, data unpack is now automatically performed on first run or if the cache version changes going forward.
  • Mod/Tracker files played directly rather than converting to raw pcma files.
  • Draft version of air physics implemented.
  • Fixed - In-game Keyboard mappings working on level select screen.
  • Fixed - Area under beach suction trap not cut out from foreground.
  • Fixed - Egyptian levels Eyes on statues not cutting out foreground.
  • Fixed - Level 87 Cannon needs to cut out backdrop.
  • Lemmings now prioritised based on distance to mouse cursor position and being a Non-Walker.


Known Issues

  • Jetpack thruster sprite missing.
  • Can't finish level automatically
  • Trap triggers not working.
  • Lower part of some animations clipped e.g. Miner.
  • Screen fade transitions not implemented.
  • 3200G APU runs at incorrect framerate with vsync enabled.
  • Keyboard mappings not yet implemented (M, S, Tab).
  • Skill assignment issues.
  • Permanent skill needs to change Lemming colour.
  • Map not clippping top/left on some levels.
  • Medieval levels Terrain missing under some Exits.
  • Builder collision too aggressive.
  • Trampoline collision box too big.
  • Classic Flame thrower trap has wrong collision.
  • Beach Levels Eyes on the Sun not cutting out foreground.

25
L2Player / Re: Lemmings 2 Data Formats
« on: January 08, 2022, 01:27:20 AM »
Thanks. I noticed a lack of modern Lemmings 2 clones, so figured I'd fill the void :) Well, actually it was a flip between doing Lemmings 2 or Cannon Fodder. I wanted a retro game project get stuck into, and those two games were some of my favourites growing up.

Having the ability for custom levels to use varying Lemmings counts and remove the save them all per tribe to continue restriction is not a bad idea. Certainly for custom levels. Maybe have it so level packs can run in either Story mode, or Freeplay mode. Story using the 'save the tribe' format. And Freeplay allowing per level Lemming counts with no carry over between levels. Probably need some more thought, but I'm open to the idea.

26
L2Player / Bugs / Suggestions
« on: January 07, 2022, 10:10:37 AM »
Note: When posting a bug or suggestion, please prefix the topic with [BUG] or [SUG] appropriately. Just makes things a little easier :)

When submitting bugs, please try to include as much information as possible. This will allow me to reproduce the bug quicker and find a solution.

  • Which build (Windows/Linux) and version
  • Steps to recreate the issue
  • Screenshot if applicable

When submitting suggestions, please consider the initial project goal is to be a drop in replacement for L2.exe with some glitches removed. Beyond that I will be looking to add level editing tools and general quality of life features.

Current QoL Roadmap

  • Replays
  • Rewind
  • Lemming selection assists
  • Multiple fast-forward speeds
  • Skill assists (Skill shadows)

Potential Feature Roadmap

  • Freeplay mode, allowing per level lemming counts with no carry over

27
L2Player / Test Releases
« on: January 07, 2022, 09:35:39 AM »
Test Releases will be posted here...

28
L2Player / Re: Lemmings 2 Data Formats
« on: January 06, 2022, 01:48:01 PM »
@exit - Great stuff! And thank you kindly. I'll take a look and let you know :)

@607 - Thanks, hoping to have tech preview 3 up within about a week or so.

29
L2Player / Re: Lemmings 2 Data Formats
« on: January 04, 2022, 01:21:01 PM »
Happy new year all! Hope everyone had a good holiday all things considered.

@Dullstar / WillLem - I have reworked it so you can unzip the L2Player into your Lemmings 2 MS-DOS install folder and the rest is automatic. I feel this should hopefully be a good middle ground.
@Ste Woz Ere - Rewinds are on the roadmap along with a user friendly integrated level editor focused on ease of use and rapid iteration.
@exit - I had a go at working in your explosion physics code. Just in the process of comparing to DOSBox and need to fix a few quirks with reflecting y velocity. Also, with the explosion initialisation moving the lemming up 1 pixel with no regard as part of the setup, I have opted to fix this official glitch by having it do a collision check before moving.

Video link of the physics in action: https://youtu.be/PgAiXLyOeXw

30
L2Player / Re: Lemmings 2 Data Formats
« on: December 27, 2021, 11:28:31 AM »
Cheers. I will have a go at integrating the explosion physics later this week :)

If you are looking for something to problem solve, there is still Projectile/Jetpack/Fan/Super Lemming physics to figure out.

Many thanks for your time.

Pages: 1 [2] 3 4