{"author_link":"\/users\/wouter52","author_name":"Wouter52","author_uid":"wouter52","comments":[],"epoch":1601805284,"event":"LD47","format":"md","ldjam_node_id":224703,"likes":3,"metadata":{"p_key":"148596","p_author":"Wouter52","p_authorkey":"1214239","p_urlkey":"365054","p_title":"System Programmer creating fun out of chaos","p_cat":"LDJam ","p_event":"LD47","p_time":"1601805284","p_likes":"3","p_comments":"0","p_status":"WAYBACK","us_key":"1214239","us_name":"Wouter52","us_username":"wouter52","event_start":"1601596800","event_key":"76","event_name":"Ludum Dare 47"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD47","removed_author":false},"_superparent":212256,"_trust":6,"author":214239,"body":"Good morning!\n\nThis morning I spent polishing the random level generation.\n\nYesterday the platforms generated where too much disconnected. I wanted them to connect more so the textures will look more interesting in the end. Turns out: the code was not optimized to identify each platform using their coordinates. That were just randomly put in a list without order. I had to program code to make it possible to identify platforms by their position in the level. Eventually it worked, using that code I made some more functions that return the offset of the neighbors in blocks.\n\nSo, for example: a platform has a platform 2 blocks above it. If you call that function asking for the nearest top neighbor it will return 2. This is very useful. I made a heatmap deciding where to connect the platforms using that code. I realized I could reuse the same code to add power ups, so I did! Now it is time to add enemies. I want to have several enemy types: circling enemies, walking enemies and stationary enemies. If I have time I'll let them shoot too! You have to avoid the enemies, maybe I'll add code that you can kill them by jumping on top, but only if I have time.\n\nAs you can see the levels are built out of blocks. That will change, I just wanted to have the functionality right (and I'm procrastinating creating graphics haha).\n\nYou can try it here: http:\/\/wouter52.com\/?page=LD47_PART2&standalone=1\nFeedback is appreciated :-)\n\n![Screenshot from 2020-10-04 11.54.21.png](\/\/\/raw\/fd4\/43\/z\/351ff.png)\n","comments":0,"created":"2020-10-04T09:49:39Z","files":[],"files-timestamp":0,"id":224703,"love":3,"love-timestamp":"2020-10-04T11:35:14Z","meta":[],"modified":"2020-10-04T11:35:14Z","name":"System Programmer creating fun out of chaos","node-timestamp":"2020-10-04T09:54:44Z","parent":214240,"parents":[1,5,9,212256,214240],"path":"\/events\/ludum-dare\/47\/crysophilist\/system-programmer-creating-fun-out-of-chaos","published":"2020-10-04T09:54:44Z","scope":"public","slug":"system-programmer-creating-fun-out-of-chaos","subsubtype":"","subtype":"","type":"post","version":664196},"node_metadata":{"n_key":"224703","n_urlkey":"365054","n_parent":"214240","n_path":"\/events\/ludum-dare\/47\/crysophilist\/system-programmer-creating-fun-out-of-chaos","n_slug":"system-programmer-creating-fun-o","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"214239","n_created":"1601804979","n_modified":"1601811314","n_version":"664196","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/47\/crysophilist\/system-programmer-creating-fun-out-of-chaos","text":"Good morning!\n\nThis morning I spent polishing the random level generation.\n\nYesterday the platforms generated where too much disconnected. I wanted them to connect more so the textures will look more interesting in the end. Turns out: the code was not optimized to identify each platform using their coordinates. That were just randomly put in a list without order. I had to program code to make it possible to identify platforms by their position in the level. Eventually it worked, using that code I made some more functions that return the offset of the neighbors in blocks.\n\nSo, for example: a platform has a platform 2 blocks above it. If you call that function asking for the nearest top neighbor it will return 2. This is very useful. I made a heatmap deciding where to connect the platforms using that code. I realized I could reuse the same code to add power ups, so I did! Now it is time to add enemies. I want to have several enemy types: circling enemies, walking enemies and stationary enemies. If I have time I'll let them shoot too! You have to avoid the enemies, maybe I'll add code that you can kill them by jumping on top, but only if I have time.\n\nAs you can see the levels are built out of blocks. That will change, I just wanted to have the functionality right (and I'm procrastinating creating graphics haha).\n\nYou can try it here: http:\/\/wouter52.com\/?page=LD47_PART2&standalone=1\nFeedback is appreciated :-)\n\n![Screenshot from 2020-10-04 11.54.21.png](\/\/\/raw\/fd4\/43\/z\/351ff.png)\n","title":"System Programmer creating fun out of chaos","wayback_source":[]}