{"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": []}