[video output=day046 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Basic Multiplayer Support" vod_platform=youtube id=BU5xBpUMdPA annotator=schme annotator=Miblo annotator=effect0r annotator=theinternetftw] [0:00:00][Intro and welcome] [0:01:25][Where we were..] [0:01:50][Addressing a bug that was found by the forums] [0:04:30][Thinking about how to handle input] [0:06:24][Which controller maps to which character?] [0:09:04][How we're going to handle this problem] [0:10:36][Mapping a controller to a character] [0:11:36][Pulling player info into the 'entity' structure to support multiple players] [0:12:50][Modifying game_input to allow for multiple players] [0:14:31][Changing his mind about how to handle this] [0:18:59][CameraFollowingEntityIndex] [0:19:11][Making the camera follow a certain player] [0:22:07][Drawing all of the players] [0:24:38][Fixing HeroFacingDirection] [0:28:21][AboluteValue intrinsic] [0:29:31][Adding an entity to the game] [0:31:23][Initializing a player] [0:33:40][Crash!] [0:36:24][MovePlayer()] [0:39:24][Moving player width/height into InitializePlayer()] [0:42:15][Calling the movement code] [0:43:24][Debugging the movement code] [0:47:08][Some days, you just have to fire yourself.][quote 2] [0:49:06][Fixing facing direction, again] [0:50:42][Retuning movement constants] [0:52:09][What we're going to do tomorrow] [0:53:00][BRB, controller!] [0:53:59][Demo of mult-player support] [0:54:30][Q&A][:speech] [0:55:08][On split-screen what kind of resolution were you thinking for each?] [0:56:15][You once said visualizing problems is never a wasted effort. Should we use it for collision detection?] [0:56:52][Are entities just for players or all game objects?] [0:57:23][How input be handled when both players trigger an action at the same time?] [0:57:46][Who is the camera following with multiple players? \[code change\]] [1:00:44][When you decided to have multiple players you decided to call them entities. Why?] [1:01:56][How do you make the characters not run through the trees?] [1:03:50][Why are we doing physical based movement?] [1:04:37][Will we be doing any image manipulation with code?] [1:04:47][Any reason to catch failing to load art assets? \[code change\]] [1:06:54][Is the notion of having all entities in a single array something that'll stay for long?] [1:07:22][Why do you not use an auto-compiler?] [1:07:51][How would disconnected controllers mid-game gracefully handled?] [1:08:53][When comparing a float to zero shouldn't we be checking withing a tolerance instead?] [1:09:26][Will there be diagonal movement sprites to the hero?] [1:10:29][Since small velocities were brought up, will we account for small inputs i.e. deadzones?] [1:12:01][About storing entities in an array. If there's massive operations on many of them, can this be exploited?] [1:13:03][Why didn't we use the bitmap masks directly?] [1:15:22][Are there any games that you've personally developed that are available to the public?] [1:17:39][Why do you use the function call macros?] [1:18:33][Will you wait for Jon to finish his presentation tomorrow?] [1:18:54][Can you explain what you mean by 'deadzone on the controller'?] [1:22:54][Do controllers have an outside deadzone?] [1:23:58][Addition to bitmap loading question: 'You && with a 32bit value and use what you get'] [1:26:31][Can you ever talk about the code you made that shipped 2000+ times?] [1:28:00][Will we be using a component system?] [1:28:20][Any estimation where GUIs will appear?] [1:28:55][Chat says: there are rotation instructions ] [1:33:05][\[code change: Using rotation instructions\]] [1:39:45][Rotate will work but it's microcoded, so don't use them if you want performance] [1:40:16][Doesn't the rotate mess with the XP compatibility?] [1:40:54][Pondering about microcode speed] [/video]