diff --git a/cmuratori/hero/code/code505.hmml b/cmuratori/hero/code/code505.hmml new file mode 100644 index 0000000..0f094e7 --- /dev/null +++ b/cmuratori/hero/code/code505.hmml @@ -0,0 +1,46 @@ +[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Placing Multiple Entities at a Time" vod_platform=youtube id=_AGAW_82e0w annotator=Miblo] +[0:00][Recap and set the stage for the first day in the new office, only possible today thanks to [@naysayer88 Jon] and [@aerettberg Anna]][:speech] +[4:00][Show our proportional derivative controlled :camera behaviour][:run] +[6:17][Plan to clean out the :camera wobble in Z, cap the speed at which the camera considers changes and re-enable the debug camera][:run] +[10:01][Hit the InvalidCodePath in BeginWorldChange()][:"procedural generation" :run] +[11:21][Restart to get the correct font size in ~4coder, and reset the timer][:admin] +[14:46][Increase the MaxEntityCount and MaxBrainCount in BeginWorldChange()][:"procedural generation"] +[15:59][Consider introducing a special :camera for NPC interactions][:run] +[16:38][Special :camera][:research] +[22:40][Enable UpdateCameraForEntityMovement() to handle special :camera regions inside rooms more specifically] +[24:49][Change UpdateCameraForEntityMovement() to offset special cameras relative to the enclosure, rather than the simulation centre][:camera] +[28:52][Special :camera triggers][:research] +[32:27][Set up to enable GenerateRoom() to query entity placement, introducing gen_room_grid][:"procedural generation"] +[54:34][Introduce gen_entity_group for GenerateRoom() to place and tag grouped entities][:"procedural generation"] +[1:04:56][Grouping entities, introducing AddEntityGroup() and a version of PlaceEntity() that chains entities onto a group][:"entity system" :"procedural generation"] +[1:21:19][Introduce FindPlaceToPutEntityGroup()][:"entity system" :"procedural generation"] +[1:27:04][Find that we placed our entities correctly][:"entity system" :"procedural generation" :run] +[1:27:23][Plausible placement of entity group members][:"entity system" :"procedural generation" :speech] +[1:28:20][Remove P from gen_room_tile_query][:"entity system" :"procedural generation"] +[1:30:51][Dual-entity and special :camera placement][:"entity system" :"procedural generation" :speech] +[1:32:01][Introduce RecursiveOpenTileSearch() to place an entire entity group][:"entity system" :"procedural generation"] +[1:52:25][Introduce a version of + for gen_v3][:mathematics] +[1:53:27][Find that the game works][:run] +[1:54:13][Try making PlaceOrphan() place a cat to the south of each orphan, to test our entity grouping][:"entity system" :"procedural generation"] +[1:58:52][Fix RecursiveOpenTileSearch() to set Tile->Open to true if it couldn't place an entity][:"entity system" :"procedural generation"] +[2:00:29][Find cats positioned to the south of orphans][:"entity system" :"procedural generation" :run] +[2:00:42][Try making PlaceOrphan() place a cat to the north of each orphan][:"entity system" :"procedural generation"] +[2:00:56][Find cats positioned to the north of orphans][:"entity system" :"procedural generation" :run] +[2:01:11][Q&A][:speech] +[2:02:39][@thebirkisreal][Q: Haven't done much on dumpview lately as it's pending a rewrite in ~Odin. But I did just get to use dumpview for the first time today. Here is some usage code.[ref + site=Pastebin + url=https://pastebin.com/DdYM4M4D] And for those asking this is not Jai, it's ~Odin] +[2:02:53][@davechat][Q: Could you make an elevator in the game?] +[2:03:24][@iwrestledabeer][Q: Hey [@cmuratori Casey]! Off-topic: Is it beneficial performance-wise to use switch statements instead of if-else blocks? As far as I could understand from disassembly, using switch statement allows to compute where to jump to directly, without invoking the cmp instruction for each case. Is that correct?][:language :performance] +[2:05:00][@genericfeller][Off-topic, but I watched your 30 Million Lines of Code,[ref + site="Handmade Miscellany" + page="The Thirty-Million Line Problem" + url=https://guide.handmadehero.org/misc/30mlocp/] and was wondering whether you think that Intel and other hardware manufacturers would be more likely to adopt an :ISA as a response to consumer-unfriendly policies from Microsoft (if they're scared of consumer PC markets collapsing)?] +[2:08:30][@wheeel][Q: Are all rooms going to be procedurally generated or are they gonna be hand-cranked and then just populated with certain entities procedurally?][:"procedural generation"] +[2:08:34][@gaius_is_best_colossus][Q: Have you played any of the Souls games? What do you think of them? (I don't know if I asked this question before)] +[2:08:50][@thecrypticmind][Is the game going to contain both 2D and 3D assets? Or are the cubes only for testing purposes?] +[2:09:24][@pythno][Q: Regarding Intel shipping their own "platform that just runs": How would that look? Would there be a minimalistic OS boot up once you power on the machine? Sorry, if this is obvious but I don't quite get it] +[2:12:38][@thegeekpirate][Q: Favourite cheese?] +[2:13:06][@aidsjorb][Q: Any more office moving drama / insanity to share? Has the reason for the move been talked about?] +[2:13:48][Wrap it up][:speech] +[/video]