Forum posts

Forum: Hexen: Beyond Heretic

Thread: RTA demo recording

Started by: O_CirclesO_Circles

So I've been looking into recording demos for full game runs. Success was limited, but here's what I came up with in case anyone else will be messing with it in the future:

• Using Crispy Doom or Chocolate Doom you can make extended demo recordings for Hexen/Heretic using the -demoextend parameter (lets demos span across several levels)

• Recording demos will normally make aiming pretty iffy, which you can fix by either using -shortticfix (aim is smoothed while recording, like in Doom), or -longtics which will make it behave as normal but also increases your demo recording size. I find that -shortticfix feels just fine so for me I'd choose that one

• There's a standard max size for a demo recording, which is 128kB. From my limited testing it seems that these demo recordings (using -shorttic) end up at about 12.7kB per minute, which would limit you to ~10m. There is a parameter you can use to increase the max limit (-maxdemo), so you might want to put that at like -maxdemo 256 or even 512 just to be safe.

All in all, the launch parameters would be something like:

crispy-hexen.exe -iwad "G:\DOS\GAMES\HEXEN\HEXEN.WAD" -shortticfix -demoextend -maxdemo 512 -record demoName

---

The problem with all of this is that you cannot do saves/loads while demo recording (nor restarting the run via main menu), or it will desync. So as it stands this all works, but you'd have to do the run single segment

Maybe some other port handles saves/loads? Who knows. These are my findings anyway, hope it helps

 

Forum: Army Men Advance

Thread: Re: timing rules

Started by: O_CirclesO_Circles

So currently the rules for timing are as follows:

- Start the timer when you see the mission brief screen
- Timer ends when Plastro UFO blows up and flies away

I want to propose some changes to the timing, where the rules would look like this

- Timing starts on selecting a character
- Timing ends on first completely black screen after killing UFO

The reason for this is that it's much easier to accurately split for these manually. While it is true that when doing retiming, it's easy to find the first frame of explosion upon killing UFO, but it's also harder / more vague as to what is the correct frame when dealing with a rule like "Start the timer when you see the mission brief screen" since it's a fade in. Does it mean the first non-dark frame after fade-out from character select? Does it mean the first non-faded frame?

Basically I think the timing start is too unnecessarily vague to be used in retiming, and both rules are too hard to split accurately to in runs (particularly the ending is hard to time without sacrificing focus on playing, and even then it's hard)

Pls consider timing change 🙂

 

Forum: Minesweeper

Thread: Petition to delete the Beginner category

Started by: mynameisAndymynameisAndy

Actually watch to end, I have some real suggestions about the boards as a whole.

Otterstone_GamerOtterstone_Gamer and KilleDragonKilleDragon like this. 

Forum: Bygg bilar med Mulle Meck

Thread: First recorded Bilar run

Started by: O_CirclesO_Circles

Posting here for archival reasons; run invalid because part of the run is missing.

Run done by MrBrax, uploaded 8 sep. 2014-- no diploma glitch.

http:/​/​www.​twitch.​tv/​mrbrax

 

Forum: The Site

Thread: New site layout!

Started by: PacPac

Is this an out of season april fools' joke?

1. Themes gone?
2. On night mode, why is the header still this psych ward dentist green?
3. On night mode, why is the TEXT green?
4. Why is the text green at all anywhere???
5. Why green???????

I'm trying to revert under Edit Theme but nothing works pls send help

neuroneuro, RithekRithek and 22 others like this. 

Forum: Bygg bilar med Mulle Meck

Thread: New Rules, Retimes and Autosplitter

Started by: O_CirclesO_Circles

(edited: )

Currently retimed

To keep track of what has already been retimed in case a retime is needed in the future, a list will be kept here.

Jiisti_007 1m 34s 417ms
Makkeneer 1m 34s 417ms
Jisti_007 1m 38s 884ms
O_Circles 1m 41s 384ms
memeslayerX 2m 35s 666ms
Parrexion 2m 56s 100ms

 

Forum: Bygg Båtar med Mulle Meck

Thread: Requirements (ingame flags)

Started by: O_CirclesO_Circles

(edited: )

Because of characters being named differently in Swedish/Finnish they will be referred to by profession. The guy in the mist is just called spooky guy.

Garden - Viola - ?
Kindergarten - Mia - ?
Baker - Birgit - ?
Priest - Sigge - ?
Spooky - Svate Sven - ?

-------------

Airplane (end of run)

- Diving Suit
- Diving Helmet

Diving Helmet

- Weed Thresher (from finishing dog quest)

Dog quest

Get a random call which is available after having the following:

- Diving Suit
- Level 4

Level 4

- Built 12 boats total (changing a piece and putting in water counts)
- Have map piece from Baker
- Have water tank from Kindergarten
- Have navigation thing from Kindergarten (requires pews, get from turning in 2x bibles. Do not visit Kindergarten with pews on your first visit, or you'll be softlocked out of getting the piece)

Baker Map Piece

- Get a random call which is available after visiting Garden

Diving suit

- Have map piece from Spooky Man

-------------

Big thanks to MrBrax for providing decompiled source code, without him we would never have figured out what the flags were!

 

Forum: Bygg bilar med Mulle Meck

Thread: New Rules, Retimes and Autosplitter

Started by: O_CirclesO_Circles

Contents

[Hide]  

Rules

After looking into the game more carefully, these are the new timings for any%

 - Timing starts on first frame of seeing workshop

 - Timing ends on first frame of the dashboard loading screen when going into the sea cutscene

 - All glitches are allowed

[Hide]  

Retimes & Autosplitter

Since this is all about introducing milliseconds to the leaderboards, current runs will be retimed according to these new rules and future runs will be retimed if they're very close to another run. There has also been an autosplitter developed in accordance to these new rules and you're encouraged to use it.

The autosplitter has been tested on the Swedish and Finnish versions on two different systems and will be added to the Livesplit database shortly, but I can't guarantee that it will work for everyone. Using it together with Dxwnd is not a problem, but it definitely will not work with the German version as none of us have it so support has not been added at all.

If the splitter isn't working for you, please contact me and I'll work out a fix.

[Hide]  

Motivations

Starting timing on workshop instead of the intro cutscene is because at that point, the engine technically hasn't switched scenes from the main menu. Furthermore, the intro cutscene plays when loading any file regardless of it's a new game or not, and as such it is considered part of the main menu and not the game itself.

The end timing is a bit more complicated; we'd like to end timing on the first frame of seeing the sea cutscene, but as it turns out it is possible to skip seeing this screen altogether if you alt-tab during the dashboard loading screen. In order to accomodate people doing this by mistake we explored a few options that involved counting the dashboard frames, but it turned that not only is the amount of these frames displayed inconsistent on individual systems by 1-2 frames (at 60fps), it is also inconsistent across different systems. Since all of these options we could come up with depend on the dashboard loading screen anyway, we decided that this should be used for the end timing.

 

Forum: Graveyard Keeper

Thread: Category Names

Started by: O_CirclesO_Circles

(edited: )

Hello, I'm O_Circles the friendly neighbourhood speed police! It's been brought to my attention that your leaderboard contains some highly toxic category names, which are the following:

- Church%
- Gold%
- Tech%
- Portal%

You may not be experiencing any symptoms right now, but categories which just add '%' at the end of a word for no reason are well known carriers of malaria, ebola and scurvy. I'm not sure how you came across these category names but dealing in them is highly illegal and dangerous; a formal investigation will be launched tomorrow morning and we expect your full cooperation.

For your own safety (and society/SRcom at large), I urge you to burn these category names as soon as possible and stay away until environmental remidation has been carried out by SRcom hazardous materials professionals.

Regards,
COMM'r. O_Circles

 

Forum: Bygg bilar med Mulle Meck

Thread: Build 2 Randomness Data

Started by: O_CirclesO_Circles

Contents

[Hide]  

Experiment

- Built car in the same way every time with same filename

 Filename: a
 Follows route in my Any% Guide, leaving Junkyard on Screen 6

 Mounted parts in order:
  - Red Wheels Front
  - Black Engine Front
  - Seat
  - Black Wheels Back
  - Small Engine Closest Back
  - White Fuel Tank Closest Back
  - Steering Wheel

Screen 1 is the default Junkyard screen you go to on a new game
Screen 2 is one screen left from that, and screen 3 is one more left etc.

Results Here

[Hide]  

Findings

- Screen 1 seems to always have at least 1 part

- Seems like Big Engine and Small Engine very often spawn on the same screen or one screen apart. Maybe I messed up the execution and changed some rng value by alt tabbing once too much or something?

- Tried to execute as similarly as possible but even when RNG let me build the car without having to sort through parts + no extra clicks (i.e. very similar to control), the Junkyard was still significantly different. Indicates build order not being significant.

- Needs more data. I wonder if I will ever be bored enough to do this again

 

Forum: Star Wars Jedi Knight: Dark Forces II

Thread: 20_bocsearch.cog

Started by: O_CirclesO_Circles

(edited: )

Quote

[Hide]  

Jedi Knight Cog Script

#

[Hide]  

17a_BocSearch.cog

# Modified from 00_AISearchPath.cog for the Boc level

[Hide]  

# Used for Dark Jedis

[Hide]  

# [IS]

[Hide]  

# (C) 1997 LucasArts Entertainment Co. All Rights Reserved

symbols
message startup
message timer
message pulse

thing darkJedi nolink

sector sect0 nolink

thing searchNode0 nolink
thing searchNode1 nolink
thing searchNode2 nolink
thing searchNode3 nolink
thing searchNode4 nolink
thing searchNode5 nolink
thing searchNode6 nolink
thing searchNode7 nolink
thing searchNode8 nolink
thing searchNode9 nolink
thing searchNode10 nolink
thing searchNode11 nolink
thing searchNode12 nolink
thing searchNode13 nolink
thing searchNode14 nolink
thing searchNode15 nolink

float searchWait=5.0
float searchSpeed=2.0

int searchNodes=-1 local
vector currNode local

int player local
float lastSeenTime local
int looking=0 local

int i=0 local
int debug=0 local
end

code

[Hide]  

................................................................................

startup:
player = jkGetLocalPlayer();
SetTimerEx(1.0, 1, 0, 0);

for (i=0; i<=15; i=i+1)
{
if (searchNode0[i] >= 0)
searchNodes = searchNodes + 1;
}
if (debug) print("Number of Search Nodes:");
if (debug) printint(searchNodes);
return;

[Hide]  

................................................................................

timer:
if (GetSenderId() == 1)
{
if (HasLOS(darkJedi, player))
{
SetPulse(0.0);
lastSeenTime = GetLevelTime();
looking = 0;
}
else
{
if ((!looking) && ((GetLevelTime() - lastSeenTime) > searchWait))
{
if (debug) print("Looking for Kyle...");
call StartSearch;
looking = 1;
}
}
SetTimerEx(1.0, 1, 0, 0);
}
return;

[Hide]  

................................................................................

StartSearch:
currNode = 0;
if (GetThingSector(darkJedi) == sect0)
{
// Boc is in the main chamber
currNode = 0;
}
else
{
for (i=1; i<=searchNodes; i=i+1)
{
if (VectorDist(GetThingPos(darkJedi), GetThingPos(searchNode0[i])) < VectorDist(GetThingPos(darkJedi), GetThingPos(searchNode0[currNode])))
{
currNode = i;
}
}
}
call DJMove;
return;

[Hide]  

................................................................................

DJMove:
if (debug) print("Heading to node:");
if (debug) printint(currNode);
AISetMode(darkJedi, 0x200); // awake and active
AISetLookPos(darkJedi, GetThingPos(searchNode0[currNode]));
AISetMovePos(darkJedi, GetThingPos(searchNode0[currNode]));
AISetMoveSpeed(darkJedi, searchSpeed);
SetPulse(0.5);
return;

[Hide]  

................................................................................

pulse:
if (debug) printflex(VectorDist(GetThingPos(darkJedi), GetThingPos(searchNode0[currNode])));

call DJMove;
if (VectorDist(GetThingPos(darkJedi), GetThingPos(searchNode0[currNode])) < 0.2)
{
if (debug) print("Reached Node:");
if (debug) printint(currNode);
// Dark Jedi has reached a node
SetPulse(0.0);
if (currNode == searchNodes)
{
currNode = 0;
}
else
{
currNode = currNode + 1;
}
call DJMove;
}
return;

end

 

Forum: Star Wars Jedi Knight: Dark Forces II

Thread: Unlimited Force Speed Glitch Research

Started by: O_CirclesO_Circles

(edited: )

If anyone has any findings, post 'em here!

The reason I'm posting this thread is, while we have ColonelSanders explanation of how to replicate this glitch, it's also possible to have the glitch persist over the entire run and not just individual levels as he is talking about.

IFS persisting over several runs for LifeL1ke

ColonelSander's method of replicating this:

Save file with the glitch active:
(the files weren't named so I just uploaded all of them. In game, the save is named 00_Inf_Speed)

https://dl.dropboxusercontent.com/u/13839030/o.zip

Looked into some related memory stuffs:

http://pastebin.com/QFvwSPcY

 

Forum: Star Wars Jedi Knight: Dark Forces II

Thread: Better boss strats c:

Started by: O_CirclesO_Circles

(edited: )

Updated 2017-06-29

Yun 2 Quick Kill

Spamming lightning is way faster than holding

----

MAW Quick Kill

Very consistent

Make sure you wait until MAW comes to a full stop on the 2nd phase before throwing, and also that you have visibility on all the boxes

----
MAW Quick Kill 2 (inconsistent but fast)

RTA viable cuz of quick retries when you save as he floats away, but sometimes it seems like you don't deal enough damage initially and killing him like this is impossible on that save. Wouldn't go for this method unless I had to make up time.

----

Jerec Quick Kill

1. Lure Jerec sideways so that he has to round the corner sharply to get into the updraft
2. Force jump up, pull sequencers after you're out of Jerecs line of sight so he can't pull them
3. Place 7 sequencers right besides the hole (NOT on), quicksave
4. Place 1-3 more

4.a (lol) If Jerec is early, load quicksave and try to fall out very quickly in different directions, you can kill him with 7 sequencers. If you have time to place another sequencer or two and quicksave again for quicker retries that might be good too. Don't try this too many times.

5. Fall out, don't die
6. If it hasn't exploded already (early jerec), quicksave and wait for Jerec to go up
7. Wait for explosion. If he doesn't die, load quicksave and change position
7.a If he takes a long time to come up after your quicksave, you can wait a bit and quicksave again so you get faster retries