Allen P.(Correction: this circuit pressed the X button, not the A button)
* SUMMARY *
In a low wireless noise environment:
Approx. 63% chance a wired Pro Controller will register 1 frame later than a wireless Pro Controller.
Approx. 8% chance a wired Pro Controller will register 2 frames later than a wireless Pro Controller.
The Switch Dock does not affect wired latency.
* NOTES *
I also performed a much smaller test with Ultra Street Fighter II to find similar results, proving this is not a problem exclusive to ARMS: Tie: 41/102 = ~40% Wired 1 frame later: 42/102 = ~41% Wired 2 frames later: 19/102 = ~17%
This same test was previously performed to compare Wii U Pro controller with wired GameCube controllers for Smash Bros for Wii U: youtu.be/xtCgo7YR-LQ
* DETAILED RESULTS *
*Test 1* Player 1 wired to dock top port Player 2 wireless Results: Tie: 56 Wireless 1 frame faster: 164 Wireless 2 frames faster: 30
*Test 2* Player 1 wired to dock top port Player 2 wireless (Compared to Test 1: controllers and lag test circuit have been swapped) Results: Tie: 32 Wireless 1 frame faster: 60 Wireless 2 frames faster: 7
*Test 3* Player 1 wireless Player 2 wired to dock top port Results: Tie: 82 Wireless 1 frame faster: 130 Wireless 2 frames faster: 8
*Test 4* Player 1 wired directly to switch Player 2 wireless Results: Tie: 49 Wireless 1 frame faster: 147 Wireless 2 frames faster: 24
*Test 5* Player 1 wireless Player 2 wired directly to switch Results: Tie: 71 Wireless 1 frame faster: 130 Wireless 2 frames faster: 12
Additional Tests: - I have tested again with ARMS version 1.1.0 and there are no differences in results. - I have tested with different USB cables and different ports on my test circuit and the Switch Dock. No cables or ordering changes make a difference on results.
Switch Pro Controller: Wired vs. Wireless Latency TestAllen P.2017-06-29 | (Correction: this circuit pressed the X button, not the A button)
* SUMMARY *
In a low wireless noise environment:
Approx. 63% chance a wired Pro Controller will register 1 frame later than a wireless Pro Controller.
Approx. 8% chance a wired Pro Controller will register 2 frames later than a wireless Pro Controller.
The Switch Dock does not affect wired latency.
* NOTES *
I also performed a much smaller test with Ultra Street Fighter II to find similar results, proving this is not a problem exclusive to ARMS: Tie: 41/102 = ~40% Wired 1 frame later: 42/102 = ~41% Wired 2 frames later: 19/102 = ~17%
This same test was previously performed to compare Wii U Pro controller with wired GameCube controllers for Smash Bros for Wii U: youtu.be/xtCgo7YR-LQ
* DETAILED RESULTS *
*Test 1* Player 1 wired to dock top port Player 2 wireless Results: Tie: 56 Wireless 1 frame faster: 164 Wireless 2 frames faster: 30
*Test 2* Player 1 wired to dock top port Player 2 wireless (Compared to Test 1: controllers and lag test circuit have been swapped) Results: Tie: 32 Wireless 1 frame faster: 60 Wireless 2 frames faster: 7
*Test 3* Player 1 wireless Player 2 wired to dock top port Results: Tie: 82 Wireless 1 frame faster: 130 Wireless 2 frames faster: 8
*Test 4* Player 1 wired directly to switch Player 2 wireless Results: Tie: 49 Wireless 1 frame faster: 147 Wireless 2 frames faster: 24
*Test 5* Player 1 wireless Player 2 wired directly to switch Results: Tie: 71 Wireless 1 frame faster: 130 Wireless 2 frames faster: 12
Additional Tests: - I have tested again with ARMS version 1.1.0 and there are no differences in results. - I have tested with different USB cables and different ports on my test circuit and the Switch Dock. No cables or ordering changes make a difference on results.Godot Game Engine Rendering to an OscilloscopeAllen P.2024-09-13 | I have ported my vector display rendering engine to the Godot game engine. The audio is the X axis video signal. In this recording, I play around with different post processing effects to make interesting sounds and visuals.
I recorded this after showing off the tech at the Dirty Rectangles Toronto game dev meetup where we discovered it can be fun to use this tooling as an audio synthesizer!
Credit to Jerobeam Fenderson of Oscilloscope Music for figuring out you can use a DC coupled audio device as a DAC for this sort of thing!To: MomAllen P.2023-02-28 | ...Grapple RacerAllen P.2023-02-28 | 3D Video Game Engine with Sample Game Technology: C/C++, OpenGL Resources: GLUT Date: Winter Term, 2008
Grapple Racer was created as a sample game for a racing game engine designed as a term project in a third year 3D Computer Graphics class at Carleton. Using only low-level APIs and toolkits, Allen learned the fundamentals of 3D graphics programming, right down to manipulation of vectors and matrices to create captivating high speed game physics with tight and fluid acceleration-based control.
More details here: allenwp.com/game-devSplatoon 3: Splatfest World Premiere 1.1.0 Input LagAllen P.2022-08-26 | Input Lag in Splatoon 3 is basically the same as Splatoon 2: http://aresplatooncontrolsfixed.comDirty Rectangles Online: Measuring HDMI Audio Input Lag Using a Wii UAllen P.2021-05-21 | At the May, 2021 online Dirty Rectangles meetup, I presented my method of measuring HDMI Audio Input Lag (aka Audio Latency or Audio Delay). You can find the blog post that details this approach here: allenwp.com/blog/2021/05/12/how-to-measure-hdmi-audio-input-lag-using-a-wii-uSubtleties of Rendering to a Vector Display: Live on Ottawa Tech Sphere OnlineAllen P.2020-07-15 | In June, 2020, I made this presentation at a local game dev meetup called Tech Sphere, which was hosted online during the pandemic. This demonstration and talk was a little bit rambley (I only spent an hour preparing), but I go over a lot of the details and challenges working with a vector display for video games.
For a summarized talk, check out my earlier presentation at the Dirty Rectangles Online: youtu.be/t2i9rZ1DvGo
Here are some related links:
http://allenwp.com/blog twitter.com/AllenPestalukyMIDI Controller for my Game Engine: Live on Dirty Rectangles OnlineAllen P.2020-07-15 | At this Dirty Rectangles Online event I showcased my work on integrating a MIDI controller into my video game engine to tweak properties while running my game.Oscilloscope Vector Game: Live on Dirty Rectangles OnlineAllen P.2020-05-14 | I've been attending the Dirty Rectangles video game meetup in Ottawa for almost 10 years. We just had the first online meetup during the pandemic where I showed off my progress on the vector video game engine that I'm creating!
Small correction: at 11:30 I meant Y coordinates, not X coordinates :)
oscilloscopemusic.com monogame.net16 hr Game Jam: Moon Dance to Anamanaguchis Air On LineAllen P.2019-11-21 | I liked Anamanaguchi's song "Air On Line", so I game jammed a little visualization of it during a 16 hour game jam. The player can create the pink/purple cubes by clicking and moving the mouse around, giving the player a way to interact and "dance" while the song plays. Check out the song/music video here: youtube.com/watch?v=nnq1ApucY4gSwitch Pro vs. GameCube Latency Test for Super Smash Bros UltimateAllen P.2018-12-10 | This video compares the lag/latency between a GameCube and Switch Pro Controller in Super Smash Bros. Ultimate.
You can find my other video that compares USB wired vs. wireless Switch Pro Controller in detail here: youtube.com/watch?v=avvmck40cIw
--- * SUMMARY * ---
- USB Wired vs. Wireless latency remains unchanged since the last test: Most presses from wired USB mode register at least one frame later than from wireless mode.
Wireless Switch Pro Controller vs. GameCube:
- 83% of wireless Pro Controller button presses registered on the same frame as the GameCube controllers.
- 14% of wireless Pro Controller button presses registered one frame later than the GameCube controllers.
- 3% of wireless Pro Controller button presses registered one frame earlier than the GameCube controllers.
- Of 1010 button presses, both GameCube controllers always registered on the same frame.
- Wireless Pro Controllers varied by 1 frame 10% of the time.
--- * DETAILED RESULTS * ---
* Wired vs. Wireless Test: *
Total button presses: 250
Newer Pro Controller Wired faster by 2 frames: 1 Newer Pro Controller Wired faster by 1 frames: 1 Newer Pro Controller Wired same: 48 Newer Pro Controller Wired slower by 1 frames: 184 Newer Pro Controller Wired slower by 2 frames: 16
* Wireless vs. GameCube Test: *
Between each test, I changed: - The position of the dock relative to the wireless pro controllers - The USB port that the GameCube Adapter was plugged into - The GameCube Adapter port that each GameCube controller was plugged into - The port of my circuit that each controller was attached to
Total button presses: 1,010
Test 1 (249 button presses): [Black GC Adapter plugged into bottom side USB port]
Older Pro Controller faster by 1 frames: 0 = 0% Older Pro Controller same: 171 = 69% Older Pro Controller slower by 1 frames: 78 = 31%
Newer Pro Controller faster by 1 frames: 1 = 0% Newer Pro Controller same: 189 = 76% Newer Pro Controller slower by 1 frames: 59 = 24%
Older Pro Controller faster than Newer Pro Controller: 1 Newer Pro Controller faster than Older Pro Controller: 21
Test 2 (260 button presses): [Black GC Adapter plugged into top side USB port]
Older Pro Controller faster by 1 frames: 13 = 5% Older Pro Controller same: 216 = 83% Older Pro Controller slower by 1 frames: 31 = 12%
Newer Pro Controller faster by 1 frames: 14 = 5% Newer Pro Controller same: 222 = 85% Newer Pro Controller slower by 1 frames: 24 = 9%
Older Pro Controller faster than Newer Pro Controller: 15 Newer Pro Controller faster than Older Pro Controller: 23
Test 3 (251 button presses): [Black GC Adapter plugged into back/inside USB port]
Older Pro Controller faster by 1 frames: 0 = 0% Older Pro Controller same: 213 = 85% Older Pro Controller slower by 1 frames: 38 = 15%
Newer Pro Controller faster by 1 frames: 7 = 3% Newer Pro Controller same: 218 = 87% Newer Pro Controller slower by 1 frames: 26 = 10%
Older Pro Controller faster than Newer Pro Controller: 0 Newer Pro Controller faster than Older Pro Controller: 18
Test 4 (250 button presses): [Black GC Adapter plugged into top side USB port]
Older Pro Controller faster by 1 frames: 5 = 2% Older Pro Controller same: 223 = 89% Older Pro Controller slower by 1 frames: 22 = 9%
Newer Pro Controller faster by 1 frames: 14 = 6% Newer Pro Controller same: 224 = 90% Newer Pro Controller slower by 1 frames: 12 = 5%
Older Pro Controller faster than Newer Pro Controller: 2 Newer Pro Controller faster than Older Pro Controller: 21
--- * VERSION INFO * ---
System version: 6.2.0 Super Smash Bros. Ultimate version: 1.1.0 Controllers: Up to date firmware as of system version 6.2.0 GameCube Controller Adapter: Nintendo Switch refresh purchased Nov 2018 Player 3 GameCube Controller: Super Smash Bros. Ultimate refresh purchased Nov 2018 Player 4 GameCube Controller: Original GameCube controller purchased around 2002 "Newer" Pro Controller: New stock purchased Nov 2018 "Older" Pro Controller: Original Switch controller purchased between March and June 2017Switch Input Lag: Splatoon 2 is the WorstAllen P.2017-09-16 | http://aresplatoon2controlsfixed.com This test was performed with a Dell U2312HM monitor that has 1.6ms of input lag according to the Leo Bodnar input lag testing device. Video was taken at 400fps and played back at 14.985fps. Latency was calculated by measuring the time between the button press and the end of the resulting output frame (latency includes the entire duration of the resulting output frame). Many button presses were analysed to discover the expected 16.6ms spread and the minimum latency was recorded and reported in this video.
There are many reasons that the input to output latency of a game may be greater than the latency reported in the video. Here is a brief explanation of some of these reasons:
- A TV/monitor may add additional latency from video processing - Input will be polled once per frame. This means that it matters when a button is pressed. Sometimes you will press a button right before the input state is polled, meaning no additional latency. Other times you will press a button right after the input state is polled, meaning your input will be delayed an entire frame (16.67ms) before it is processed. Because of this, a variance of somewhere between 0 and 16.67ms of additional latency is normal for any 60fps console game. - Wireless interference may require a retransmission, which takes additional time (I'm not sure how much time this takes, but I would expect it is generally negligible)Splatoon 2 vs. 1 Motion Controls & Latency ComparisonAllen P.2017-07-23 | Both monitors were identical model with the same settings.
Versions: Switch 3.0.0 Splatoon 2 1.1.1 Wii U 5.5.2 U Splatoon 1 2.12.0任天堂SwitchのProコントローラー: 有線通信vs.無線通信の遅延研究テストAllen P.2017-07-12 | 見てくれてありがとう!
その他 ARMSの1.1.0もテストしたけど何も変わらなかった USBケーブルやドックと回路のポートを変わっても結果が同じiOS 10 Touch Screen Problem (All devices)Allen P.2017-02-17 | This video shows a software problem with how iOS 10 registers (or does not register) tap gestures near the right and left sides of the screen. This problem was likely introduced to mitigate accidental touches on the side of the screen caused by the palm of your hand on larger "plus" sized phones, but proves to be simply frustrating for smaller phones like the SE.
I've tried with demo units in the Apple Store -- it happens on all devices.
I've tried with alternate keyboards, like GBoard, and it still happens.Chevy Volt LT 2017 Audio System ProblemsAllen P.2016-12-04 | Audio output problem with auxiliary input and bluetooth audio in 2017 Chevy Volt LT. Software version 84089006 Gracenote 23199236. See this description for lots of details:
*** PROBLEM 1 *** - Audio output does not work - Both auxiliary input audio and bluetooth audio output do not work at all when the car is started and will not work until the car is turned off. This problem appears to happen randomly, but happens regardless of whether a bluetooth device is paired.
Demonstrations: When starting car with iOS bluetooth connection: 1:58 10:59 15:54 28:14
When starting car with no auxiliary input and NO bluetooth connections: 53:44 1:23:52 1:30:05
When starting car with Android bluetooth connection: 1:06:56 1:17:43
---
*** PROBLEM 2 *** - Auxiliary input audio makes glitch sounds - Both auxiliary input audio and bluetooth audio output do not work at all when the car is started and will not work until the car is turned off. This problem appears to happen randomly, but happens regardless of whether a bluetooth device is paired.
Demonstrations: 41:54
---
*** PROBLEM 3 (minor issue) *** - Audio takes abnormal time to start - Sometimes, regardless of whether a bluetooth device is connected, the audio system takes an abnormal amount of time to start. Before it starts, a fan somewhere behind the main console can be heard spinning briefly. Audio playback will start after the fan finishes spinning. This is a minor issue to me, but I thought this might be relevant information to pass on. (To me, it sounds like a part of the HMI module has crashed when trying to boot followed by a restart where the fan can be heard spinning... But that's just a guess I'm making about what's happening.)
Demonstrations: 13:14 36:59 1:14:30 (and many more through the test process)
---
*** PROBLEM 4 (minor issue) *** - Chime sounds are staticy/glitchy - Sometimes the "bluetooth connected" chime sounds staticy/glitchy. This is a minor issue to me, but I thought this might be relevant information to pass on.
Demonstrations: 17:01 (and many more through the test process)
---
A GM T.A.C case has been opened by my dealer regarding this issue (opened on Nov. 29, 2016).
This video was taken after the HMI module was replaced. Replacing the HMI module appears to have made no change to the behaviour and problems.
HMI module was replaced during a service visit to my dealer (Myers, 1200 Baseline Road, Ottawa, Canada) to attempt to resolve the problem. The third party "York Electronics" has been dealing with this issue.SSB Wii U Speed test: GameCube VS. Wii U Pro controller - Which is faster?Allen P.2015-09-13 | This video compares the lag/latency between a GameCube and Wii U Pro controller in Super Smash Bros. for Wii U.
Approx. 55% chance a Wii U Pro controller will register 1 frame later than a GameCube controller.
A less than 1% chance a Wii U Pro controller will register 2 frames later than a GameCube controller.
* DETAILED RESULTS *
- 438 / 1002 button presses registered on the same frame for all controllers (~44%) - 556 / 1002 button presses registered the Wii U Pro controller one frame later than the GameCube controllers (~55%) - 7 / 1002 button presses registered the Wii U Pro controller two frames later than the GameCube controllers (less than 1%) - 1 / 1002 button presses registered a single GameCube controller one frame earlier (much less than 1%)Note 4 Gear VR Scaning 1200fpsAllen P.2015-05-25 | This is a 1200fps video, played back at 30fps, of the Samsung Note 4 when running in VR mode (low persistence progressive scan).
You can see here that the scanning happens in "portrait" mode, even though the device is in "landscape" mode. That is, the screen is scanned left to right, starting at the top if the device was held in a portrait orientation... This results in alternating drawing between left and right eye. If the game is running at 60fps, then the frame will be "more stale" for the right eye -- but TimeWarp takes care of this by re-projecting for each eye individually, so it's ends up not being a problem.
But TimeWarp doesn't continuously re-project as an eye is scanning, so this means that the right side of /each/ eye ends up being more stale than the left. Not by a considerable amount, though... about max 8ms variance from left-to-right side of an eye (half of a 60fps frame).Why SteamVR + HTC Vive blows away (current) competitionAllen P.2015-03-23 | I'm a VR developer who got to try SteamVR + HTC Vive at GDC 2015. There are two key reasons why SteamVR is so groundbreaking and I describe them in this video.
This is old news, but for those who weren't aware yet, there is a difference between a rapid Jump-Up-A and all of the other Jump-A attacks. I didn't test N64 version, but this behaviour has been around since Melee at least.
Video shows 3DS. This is the exact same behaviour as Brawl.
This is similar behaviour to Melee -- except that in Melee, your A attack would simply not register at all if it happened soon enough after your jump unless it was an Up-A attack (in which case it would register as a Flick-Up-A, similar to Brawl and 3DS).SSB 3DS Responsiveness TestAllen P.2014-10-11 | This is a proof of concept towards a test that I might do comparing Gamecube and Gamepad/Pro controller latency on the Wii U version. All the details on my plans can be found here:
This tool was designed to provide a quick visual refresher on the coordinate systems used during the 3D transform pipeline in OpenGL and Unity. If you're planning on doing any advanced non-standard vertex transformations, especially in the vertex shader, this tool might help you refresh your memory and will enable you to simulate your transforms in a visualized, debuggable environment rather than blinding coding in the vertex shader. Or, if you're new to 3D graphics, this tool might help you gain a better visual understanding of 3D graphics theory.Windows 8 Consumer Preview with a mouseAllen P.2012-03-12 | Why Windows 8 Consumer Preview with a mouse sucks and one way that Microsoft could make it better.
I believe the only way to send feedback right now is through the Microsoft Answers Forum:
This meetup was focused on students going above and beyond class requirements and taking their games to the next level. The audience was comprised mainly of students in game development programs or recent graduates. The topics covered include the following:
- Porting from Windows to Xbox 360 with XNA - Xbox Live "Indie Games" - Other general game design topics for Hideout!Hideout! for Xbox 360Allen P.2010-08-16 | Initially developed as a single term fourth year project in Interactive Multimedia and Design at Carleton University by 5 students, Hideout! has now been remastered and made available on Xbox Live Indie Games. Find out more details at allenwp.com/hideoutToy Factory RTS Promo VideoAllen P.2010-05-27 | Download now at allenwp.com/toyfactory!
In Toy Factory, the player takes the role of a child in a toy room battling against friends by building an army of custom designed toys. These toys can be anything from hammer wielding vacuums to dart gun equipped airplanes -- the only limit is your imagination!Allen Pestaluky: Black and White BalanceAllen P.2010-03-26 | Download here: allenwp.com/bawb (requires a computer that can run XNA games)Hideout!Allen P.2009-12-19 | Fourth year term project completed from initial concept to final implementation in only three months! This was during the busiest term of our schooling in Interactive Multimedia and Design at Carleton University. Download and find out more about the game here:
http://hideout.allenwp.comFly Away Javascript GameAllen P.2008-08-03 | Javascript game made for my web dev. class.Ant-Ball gameplay footageAllen P.2008-08-03 | A game I made for a flash class.3D Video Game ControllerAllen P.2008-08-02 | Created for a third year 3D modeling class created in Maya.Grapple RacerAllen P.2008-07-30 | Grapple Racer video game programmed in OpenGL using GLUT and a tonne of math. :)
Check the projects page to download: http://allenwp.comSpatula-man [Episode 1] TrailerAllen P.2006-08-29 | It's time to get ready for the first installment of this spatulus new mini-series!