{"author_link":"\/users\/f1krazy","author_name":"F1Krazy","author_uid":"f1krazy","comments":[],"epoch":1557692430,"event":"LD44","format":"md","ldjam_node_id":157379,"likes":6,"metadata":{"p_key":"132712","p_author":"F1Krazy","p_authorkey":"1071341","p_urlkey":"348906","p_title":"15 Minutes to Live - The Techy Stuff","p_cat":"LDJam ","p_event":"LD44","p_time":"1557692430","p_likes":"6","p_comments":"0","p_status":"WAYBACK","us_key":"1071341","us_name":"F1Krazy","us_username":"f1krazy","event_start":"1556236800","event_key":"75","event_name":"LD 44"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD44","removed_author":false},"_superparent":139254,"_trust":11,"author":71341,"body":"Just as I did for LD43, I'd like to take a little time to write about some of the more technical aspects of my LD44 entry, *15 Minutes to Live*, and some of the design decisions that went into its creation. Hopefully, it'll prove useful and\/or interesting.\n\n![dialogue5.png](\/\/\/raw\/da6\/11\/z\/24d63.gif)\n\n#### The Inspiration ####\n\nThe basic world concept - your lifespan is a currency that can be bought, sold, or stolen - was borrowed from the movie *In Time*. As for the gameplay, I've been playing a lot of *Shenmue* recently, and I think that's where the free-roaming gameplay and focus on NPC dialogue came from. (I wanted the player to be able to interact with objects in the environment, similar to *Shenmue*, but simply ran out of time for that.)\n\n#### The Menu... Or Lack Thereof ####\n\nThe first thing you'll notice, upon starting the game, is that there's no main menu or title screen. This was a deliberate stylistic choice - a main menu would have been unnecessary as \"start the game\" would have been the only option, and I didn't have time to make a fancy-looking title screen. So I decided to just cut out the middle-man and dump you straight into the story:\n\n![intro2.gif](\/\/\/raw\/da6\/11\/z\/24d62.gif)\n\n#### Talking To NPCs ####\n\nNPCs are stored in a single two-dimensional array, where each row contains an NPC, and each NPC contains a spritesheet index, X and Y co-ordinate, and a \"flag\" value. When you hit Z, the game draws a hitbox and checks if there's an NPC inside it. If there is, it passes their array index and flag value to a `dialogue()` function, which queues up the appropriate dialogue and handles any necessary changes to NPC flags, your inventory, etc.\n\nTo give you an idea how much dialogue there is in this game: *15 Minutes to Live* contains 29.8 KB of Lua code. The `dialogue()` function accounts for 20.9 KB of that. The Lua code for my LD43 entry is only about 10.3 KB!\n\n#### World Design ####\n\nThe game map was put together piece-by-piece, with roads and buildings being added as necessary until I felt I had a large enough area for the game's plot to unfold within. I tried to ensure there was plenty of variety in the designs of the buildings, and how the roads were laid out. This was partly to reduce the possibility of getting lost or confused, and partly so the map wouldn't look boring.\n\nI tried to use subtle graphical cues to indicate which buildings can be entered and which can't, so you don't waste time running into closed doors. As an example, let's look at the bottom-left corner of the map:\n\n![exteriors.png](\/\/\/raw\/da6\/11\/z\/24d61.gif)\n\nThe red \"Vic Vonald's\" building is a unique red colour, with a unique sign on the front, and a brown door with a nice, inviting golden handle. All of this indicates it can be entered. The office block has a sign too, but it's the same sign as all the other office blocks, and the doors don't really stand out from the rest of the building. You can't enter it. The brick building to the right has a dull greyscale door, and no sign at all. You can't enter that either.\n\nI'm kind of torn about the graphical style I ended up with. On the one hand, I feel like it's too bright, and doesn't fit the (mostly) serious tone and cyberpunk-inspired concept of the storyline. On the other hand, some of the NPCs and their interactions are too lighthearted to fit with that kind of aesthetic.\n\n#### What Happens When You Die? ####\n\n...in the game, that is. Since 15 minutes ended up being more than enough time to complete the game, I don't think anyone's seen the death animation yet. So here it is:\n\n![die.gif](\/\/\/raw\/da6\/11\/z\/24d64.gif)\n\nIt looks kinda dumb, but it's much more effective in-game, where it's accompanied by a loud, high-pitched **\"BEEEEEEEEEEEEP--\"**, like the flatlining of a heart monitor.\n\n#### That's all! ####\n\nThank you for your time; I hope this was interesting or informative in some way. If you haven't played *15 Minutes to Live* yet, [please do!](https:\/\/ldjam.com\/events\/ludum-dare\/44\/15-minutes-to-live) I hope to get around to playing as many entries as I can during these last few days of the rating period.","comments":0,"created":"2019-05-12T08:01:08Z","files":[],"files-timestamp":0,"id":157379,"love":6,"love-timestamp":"2019-05-13T07:56:54Z","meta":[],"modified":"2019-05-13T07:56:54Z","name":"15 Minutes to Live - The Techy Stuff","node-timestamp":"2019-05-12T20:20:30Z","parent":139779,"parents":[1,5,9,139254,139779],"path":"\/events\/ludum-dare\/44\/15-minutes-to-live\/15-minutes-to-live-the-techy-stuff","published":"2019-05-12T20:20:30Z","scope":"public","slug":"15-minutes-to-live-the-techy-stuff","subsubtype":"","subtype":"","type":"post","version":474771},"node_metadata":{"n_key":"157379","n_urlkey":"348906","n_parent":"139779","n_path":"\/events\/ludum-dare\/44\/15-minutes-to-live\/15-minutes-to-live-the-techy-stuff","n_slug":"15-minutes-to-live-the-techy-stu","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"71341","n_created":"1557648068","n_modified":"1557734214","n_version":"474771","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/44\/15-minutes-to-live\/15-minutes-to-live-the-techy-stuff","text":"Just as I did for LD43, I'd like to take a little time to write about some of the more technical aspects of my LD44 entry, *15 Minutes to Live*, and some of the design decisions that went into its creation. Hopefully, it'll prove useful and\/or interesting.\n\n![dialogue5.png](\/\/\/raw\/da6\/11\/z\/24d63.gif)\n\n#### The Inspiration ####\n\nThe basic world concept - your lifespan is a currency that can be bought, sold, or stolen - was borrowed from the movie *In Time*. As for the gameplay, I've been playing a lot of *Shenmue* recently, and I think that's where the free-roaming gameplay and focus on NPC dialogue came from. (I wanted the player to be able to interact with objects in the environment, similar to *Shenmue*, but simply ran out of time for that.)\n\n#### The Menu... Or Lack Thereof ####\n\nThe first thing you'll notice, upon starting the game, is that there's no main menu or title screen. This was a deliberate stylistic choice - a main menu would have been unnecessary as \"start the game\" would have been the only option, and I didn't have time to make a fancy-looking title screen. So I decided to just cut out the middle-man and dump you straight into the story:\n\n![intro2.gif](\/\/\/raw\/da6\/11\/z\/24d62.gif)\n\n#### Talking To NPCs ####\n\nNPCs are stored in a single two-dimensional array, where each row contains an NPC, and each NPC contains a spritesheet index, X and Y co-ordinate, and a \"flag\" value. When you hit Z, the game draws a hitbox and checks if there's an NPC inside it. If there is, it passes their array index and flag value to a `dialogue()` function, which queues up the appropriate dialogue and handles any necessary changes to NPC flags, your inventory, etc.\n\nTo give you an idea how much dialogue there is in this game: *15 Minutes to Live* contains 29.8 KB of Lua code. The `dialogue()` function accounts for 20.9 KB of that. The Lua code for my LD43 entry is only about 10.3 KB!\n\n#### World Design ####\n\nThe game map was put together piece-by-piece, with roads and buildings being added as necessary until I felt I had a large enough area for the game's plot to unfold within. I tried to ensure there was plenty of variety in the designs of the buildings, and how the roads were laid out. This was partly to reduce the possibility of getting lost or confused, and partly so the map wouldn't look boring.\n\nI tried to use subtle graphical cues to indicate which buildings can be entered and which can't, so you don't waste time running into closed doors. As an example, let's look at the bottom-left corner of the map:\n\n![exteriors.png](\/\/\/raw\/da6\/11\/z\/24d61.gif)\n\nThe red \"Vic Vonald's\" building is a unique red colour, with a unique sign on the front, and a brown door with a nice, inviting golden handle. All of this indicates it can be entered. The office block has a sign too, but it's the same sign as all the other office blocks, and the doors don't really stand out from the rest of the building. You can't enter it. The brick building to the right has a dull greyscale door, and no sign at all. You can't enter that either.\n\nI'm kind of torn about the graphical style I ended up with. On the one hand, I feel like it's too bright, and doesn't fit the (mostly) serious tone and cyberpunk-inspired concept of the storyline. On the other hand, some of the NPCs and their interactions are too lighthearted to fit with that kind of aesthetic.\n\n#### What Happens When You Die? ####\n\n...in the game, that is. Since 15 minutes ended up being more than enough time to complete the game, I don't think anyone's seen the death animation yet. So here it is:\n\n![die.gif](\/\/\/raw\/da6\/11\/z\/24d64.gif)\n\nIt looks kinda dumb, but it's much more effective in-game, where it's accompanied by a loud, high-pitched **\"BEEEEEEEEEEEEP--\"**, like the flatlining of a heart monitor.\n\n#### That's all! ####\n\nThank you for your time; I hope this was interesting or informative in some way. If you haven't played *15 Minutes to Live* yet, [please do!](https:\/\/ldjam.com\/events\/ludum-dare\/44\/15-minutes-to-live) I hope to get around to playing as many entries as I can during these last few days of the rating period.","title":"15 Minutes to Live - The Techy Stuff","wayback_source":[]}