Menu

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.

Show posts Menu

Messages - Simon

#2836
Non-Lemmings Gaming / Re: Simon runs Jazz Jackrabbit 1
November 18, 2016, 04:06:26 AM
Thanks thanks! :lix-grin:

-- Simon
#2837
Non-Lemmings Gaming / Re: Simon runs Jazz Jackrabbit 1
November 18, 2016, 01:50:05 AM
World record get, with 30:23. Video: speedrun.com 1st place.

I knew that I'd cut 20 seconds of glaring mistakes from the PB, and then 5 to 10 more seconds due to faster DOSBox settings: I run at 40,000 fixed cycles now, not at 20,000, because 40,000 is the average speed of a 486 machine according to TASVideos.org.

But cutting 25 to 30 seconds wouldn't have made a WR. I have no idea how I cut 35 more seconds by technique.
The game allows a ton of little mistakes everywhere, and I've played solidly throughout episodes 2, 3, 4, 5. In practice earlier this week, I've never managed such solid play. And I'm mashing more rapidly than last month!

<Akseli> "If I save 12 more seconds, it's a world record. But I don't believe it's possible in this run." ~ SimonN 2016
<Akseli> Congratulations Simon!!!!!!!!! :----------------------)


<mobius_> wow, gg SimonN
<mobius_> now that you've fullfilled your dream, what will you do with the rest of your life? :P




I'm still on a high. :-]

-- Simon
#2838
Non-Lemmings Gaming / Re: Simon runs Jazz Jackrabbit 1
November 13, 2016, 10:38:55 PM
Quote from: NaOH on November 13, 2016, 08:44:52 PM
it wasn't at all clear how effective damage-boosting looked as an outside observer; it looked like you were already going top speed when you hit the enemies?

I use "damage boost" to describe three related phenomena, and don't disambiguate. Often it's clear from context which apply, but without prior knowledge it's confusing. The meanings are:

  • Running into or through enemies, that saves the time from evading or shooting them. Enemies above and below are hard to hit at all.
  • Bouncing off an enemy because it has damaged you. The game knocks you into either left or right, depending on where you didn't face before. I can turn around to trick the game into bouncing me into the right direction. The worms in Orbitus take too long to shoot, but they can't be avoided easily, therefore I boost off them. I don't get any speed over regular running speed from this, the section would be faster if there were no enemies at all.
  • Using the mercy invincibiliy after a hit to go through enemies. This happens with the mines in Crysilis.
TASVideos JJ resources says that regular running speed is 6, and hitting enemies knocks you somewhere at speed 4, from which you can accelerate back to 6 later.

QuoteI like your commentary style. The (few) let's plays I've seen, they tend to talk about unrelated to the game. The way you gave your commentary it was like getting the secret low-down. :) Makes me feel like I should do one of these.

Thanks! :-)

-- Simon
#2839
We solved NepsterLix levels together, the earlier levels from the Planet rank. Then Icho played JJ.

Both videos sit on my recent twitch streams list for 14 days. I copied the videos on Icho's laptop, he'd like to archive them on his youtube channel. Icho has no internet at home these days, it'll take a while!

-- Simon
#2840
Non-Lemmings Gaming / Re: Simon runs Jazz Jackrabbit 1
November 11, 2016, 12:36:01 AM
31:31, new personal best. Twitch excerpt with live commentary. Akseli, möbius and Proxima have watched this stream live already.

I submitted the video to speedrun.com's JJ1 ranking list, my time got accepted as second place. :lix-grin:

-- Simon
#2841
Hi,

Icho is going to visit me on Friday, 2016-11-11. We will have a surprise video stream for you, starting at 19:00 UTC (= 20:00 German time).

We don't know what we will do on stream. Ideas:
  • Play Nepsterlix. I haven't solved the harder levels.
  • General level critique, à la angry grandpas from the Muppet show.
  • Icho plays Jazz Jackrabbit. ("never played it before + I am baaaad at jump and runs :P")
  • Simon plays Command & Conquer, Icho's favorite game from childhood. ("I will rage because I will de-seslect units instead of moving them")
Link: Watch Simon's stream on twitch

Bonus: Right now (Thursday, 19:30 UTC = 20:30 German time), I will stream Jazz Jackrabbit speedruns. Maybe someone of you guys will pop into twitch chat or #lix.

-- Simon
#2842
Lix Main / Re: Triggered traps & lix in transit
November 09, 2016, 02:05:58 PM
This feature bug issue is on the backburner, like all physics issues.

Brain dump: Each lix maintains a list of gadgets that satisfy a) she is inside the TA, and b) the gadget has already affected her. A lix is immune to gadgets in her list. When you leave a TA, the gadget reference is removed from your list, and you can use the gadget on your next re-entry. Using gadgets interrupts whatever else you are doing. Diagonal moves (kinging) allowed?

There should be special conditions that empty the entire list: Hitting terrain during tumbling, getting hit by batter. But not hitting another steam. Everything that affects Lix in a moderately well-defined way, but does not affect via TAs, should empty the list.

-- Simon
#2843
Lix Main / Re: I've begun networking in D Lix
November 07, 2016, 08:04:41 PM


I wrote the multiplayer score graph. The large bar shows your score. The small bar shows your potential score, were you to save all your remaining lix, without stealing any.

The colors are autogenerated. Some shadings are too light, others too dark. But this bug is minor. I should focus on a minimal working networking game first.



This is the old bar graph from C++ Lix.

Proxima suggests to show player names during the game. With 4 or more people, the bar graph is already crowded. Maybe show a larger table on (mouse hovers over the small bar graph)? Maybe show the leading player in the info panel to the left?

-- Simon
#2844
In Development / Re: Revenge of the Lemmings 3.0
November 07, 2016, 03:20:34 PM
Hmm, hiding the core idea in achievements is bad, you've already explained why.

If you want fewer trick levels, cut the level entirely.
If you want more easy levels, find or make easy levels.

If you insist on re-using the terrain and skillset, at least give a new name to the easier level. If you easened From the Brink without renaming, everybody would have to specify whether they mean the easy version or Clam's version. Clam's version is well-known.

-- Simon
#2845
Design of the main algorithm makes or breaks these programs, yeah. Nepster gave a great overview. Know the standard libraries in your languages of choice. :-)

I found When Haskell is not faster than C, Jacques Mattheij describes optimizing a FASTA tool. He knows optimizing far better than I do:

  • He reads 1 MB into memory at a time with fread, which is like my rawRead: Read until end-of-file or until the given number of chars are read. It's faster than reading from file until newline (you must look at each char) and by reading single chars (didn't test, but his intuition was that single-char-reading from files are slower).
  • He heeds section headers beginning with `>' and comments, and therefore needs some line-based processing after all. But he does this in memory on the large chunk, not with file-getting functions.
In the words of Colin Wright: "You can't make a computer do stuff faster, but you can make it do less work", and that really is the essence of optimization.

-- Simon
#2846
I have written this in D, using an associative array for bookkeeping. See attachment for source. My program doesn't throw away comment lines, you must do that yourself. Icho's 45 MB input has one comment line in the first line, otherwise it's all data.

Icho's 45 MB input runs in 13 seconds on my 10-year-old laptop, even without optimizations enabled. :lix-evil: And I have checked the output against Icho's file, it's identical.

I have commented the source to explain D syntax that might not be obvious for Java or C programmers.

-- Simon
#2847
I don't have Java installed, therefore can't test.

The bookkeeping with two arrays looks slow: You compare (the found string) against every (string that you treat as an associative array index) in linear fashion, until you find an exact match. You might want binary search instead. Search the web for Java's HashMap.

Not going into code style because this is explicitly a throwaway program, written as quickly as possible. :lix-tongue:

-- Simon
#2848
Lix Multiplayer Dates / Re: multiplayer games
November 05, 2016, 04:11:27 PM
asdfasdf is still running a C++ Lix server. :lem-shocked: I can't ssh into that machine anymore, but it's still running somewhere, and the C++ Lix daemon autostarted as good as ever. We can play there. This is perfect, because C++ Lix connects to asdfasdf per default. You don't have to change anything.

I propose Sunday, 2016-11-06 at 20:00 UTC. This is 21:00 in Germany, 12:00 in Vancouver, and 12, 13, 14, or 15 for mobius, I don't know where he lives within the USA.

How to play

1. Have C++ Lix 2015-09-01 or newer. Download C++ Lix for Windows.
2. At the time proposed above, run Lix, click Networked Game, connect to the central server (asdfasdf.ethz.ch).
3. Optional: Sit in IRC, quakenet.org #lix. But you can chat in the game, too.

Everybody's invited!

-- Simon
#2849
Lix Multiplayer Dates / Re: multiplayer games
November 04, 2016, 04:00:12 AM
There's multiplayer in C++ Lix, but I don't have a server running. If you find enough people to agree on a time, I can host the old server on lixgame.com. C++ Lix doesn't like recording software.

Multiplayer in D Lix isn't done yet. :lix-blush:

I have made good progress on the networking lobby. You can connect to the server, chat, switch rooms, and choose colors. But nothing will happen when you declare ready to play. I'll announce when we can test something meaty. :lix-smile:

-- Simon
#2850
Lix Main / Re: D Lix 0.6.19, the big picture
November 03, 2016, 09:09:45 PM
Thanks! Then Lix has all DLLs it needs, perfect.

I didn't build this DLL myself, I got it from a tutorial repository for the D enet bindings. enet 1.3.12 should be new enough -- enet 1.3.13 is the latest version, but 1.3.13 got only minor bugfixes over 1.3.12, nothing we'll run into.

-- Simon