Commit fd5e4a37 authored by Christopher Silva's avatar Christopher Silva

start roguelike update 1 draft

parent 9375833f
---
title: "Untitled Roguelike Update 1"
date: 2018-11-09T00:49:54-06:00
draft: true
---
## Possible Names and Mechanics
I also spent some time thinking about a name and what kind of mechanics I want to have.
I am using *That Time I Got Reincarnated as a Slime* as my inspiration so I want to incorporate that into the name.
Some possible names from me spitballing ideas at 1am:
- That Time I Played a Roguelike
- That Time I Got Killed in a Roguelike
- That Time I Died in a Roguelik
In the manga, most monsters are nameless.
A person with high magical abilities can grant a monster a name.
When this happens the monster becomes much stronger and can evolve.
Naming a monster uses a large amount of magical energy.
If someone users too much they can permanently decrease or even lose all of their magical capacity.
Rimuru (the main character) does not know this and early on names an entire village of goblins, passes out from exhaustion, and wakes up three days later to a village of hobgoblins.
I definitely want there to be high level enemies that can give names.
This would give some incentive to push forward and quickly defeat them before they name too many monsters.
Also, maybe if a named enemy is attacked, it has a chance to call for help from its master and enemies with the same master.
To balance this ability, the master would temporarily be weakened after naming a monster.
An interesting part of the master ai for me would be deciding whether giving a name is worth the risk. For example, naming a monster when the player shows up is a bad idea. However, if a master is currently being chased/attacked, is low on health, and has enough magic energy, they could panic and start naming enemies in an attempt to survive.
Now that there's a simple ai and a slightly better ui, it's starting to be a little more game like.
SCREENSHOTS HERE
## Past Week
- [got advice from /r/roguelikedev](https://www.reddit.com/r/roguelikedev/comments/9ub1fe/a_post_about_my_first_roguelike_and_request_for/) on how to handle levels that the player is not on
I think that I will:
- on start generate a master seed (if not set) and generate level seeds from it
- generate levels as the player first enters them (instead of pre-generating) using the seeds
- process events for the current level and the ones above and below
- allow "sentient" enemies to use stairs (humans, dwarfs, orcs, etc)
- process events on levels containing a boss enemy
- changed renderer trait and reimplemented for libtcod and termion to make it more uniform
- create ui struct on top of renderer to make it easier to change ui elements
- scroll the map view around the player so that the map doesn't have to be the same size as the panel
- add frames to message log and status panels
- create level struct to store the map and objects for a level
- add a ai that:
- chases the player
- goes to the last known location when it loses sight
- moves randomly otherwise
## Next Week
- add some items/inventory system
Health and strength potions, armor, and weapons.
- change Object and Tile definition loader to get rid of unecessary/duplicate data
Currently, it is the full object struct in json form so there are a lot of unecessary things.
COMMENTED OBJECTS/TILES JSON HERE
GAMEPLAY VIDEO HERE
......@@ -173,7 +173,7 @@
<span class="meta"><time datetime='2018-11-03T22:53:40-05:00'>Nov 3, 2018</time></span>
<a href="https://csos95.com/blog/untitled_roguelike/"><span>Untitled Rogulike</span></a>
<a href="https://csos95.com/blog/untitled-roguelike/"><span>Untitled Rogulike</span></a>
</li>
......
......@@ -13,10 +13,10 @@
<item>
<title>Untitled Rogulike</title>
<link>https://csos95.com/blog/untitled_roguelike/</link>
<link>https://csos95.com/blog/untitled-roguelike/</link>
<pubDate>Sat, 03 Nov 2018 22:53:40 -0500</pubDate>
<guid>https://csos95.com/blog/untitled_roguelike/</guid>
<guid>https://csos95.com/blog/untitled-roguelike/</guid>
<description>Introduction A few weeks ago I began working on a roguelike game.
It is something that I have wanted to do for quite a while, but could never find the time.
I am learning Rust right now and the best way for me to do that is to find a project that I care about. So, this is a perfect opportunity finally make a roguelike.
......
This diff is collapsed.
......@@ -175,7 +175,7 @@
<span class="meta"><time datetime='2018-11-03T22:53:40-05:00'>Nov 3, 2018</time></span>
<a href="https://csos95.com/blog/untitled_roguelike/"><span>Untitled Rogulike</span></a>
<a href="https://csos95.com/blog/untitled-roguelike/"><span>Untitled Rogulike</span></a>
</li>
......
......@@ -13,30 +13,30 @@
<item>
<title>Mushroom Gravy</title>
<link>https://csos95.com/recipes/mushroom_gravy/</link>
<link>https://csos95.com/recipes/mushroom-gravy/</link>
<pubDate>Wed, 07 Nov 2018 07:37:30 -0600</pubDate>
<guid>https://csos95.com/recipes/mushroom_gravy/</guid>
<guid>https://csos95.com/recipes/mushroom-gravy/</guid>
<description>Makes 4 servings.
Ingredients 1&amp;frasl;4 cup butter 1 (16 ounce) package sliced mushrooms 1&amp;frasl;4 cup all-purpose flour, or as needed 1 quart beef stock salt, pepper, and fresh thyme leaves, to taste Instructions Cook the mushrooms Heat butter over medium head in a saucepan until it foams. Stir in mushrooms. Season with salt. Simmer until liquid evaporates (~20 minutes). Make the gravy Stir in the flour, cooking and stirring (~5 minutes).</description>
</item>
<item>
<title>French Onion Soup</title>
<link>https://csos95.com/recipes/french_onion_soup/</link>
<link>https://csos95.com/recipes/french-onion-soup/</link>
<pubDate>Wed, 07 Nov 2018 07:01:52 -0600</pubDate>
<guid>https://csos95.com/recipes/french_onion_soup/</guid>
<guid>https://csos95.com/recipes/french-onion-soup/</guid>
<description>Makes 4 servings.
Ingredients 2lb medium onions, halved lengthwise, then thinly sliced lengthwise 3 sprigs fresh thyme 2 bay leaves 3&amp;frasl;4 teaspoon salt 1&amp;frasl;2 stick unsalted butter 2 teaspoons all-purpose flour 3&amp;frasl;4 cup dry white wine 4 cups reduced-sodium beef broth 1 1&amp;frasl;2 cups water 1&amp;frasl;2 teaspoon black pepper 4 (1&amp;frasl;2&amp;rdquo; thick) diagonal slices of baguette 4 slices of provolone cheese 2 tablespoons finely grated parmesan cheese Instructions Cook the onions Melt butter in a large pot.</description>
</item>
<item>
<title>Untitled Rogulike</title>
<link>https://csos95.com/blog/untitled_roguelike/</link>
<link>https://csos95.com/blog/untitled-roguelike/</link>
<pubDate>Sat, 03 Nov 2018 22:53:40 -0500</pubDate>
<guid>https://csos95.com/blog/untitled_roguelike/</guid>
<guid>https://csos95.com/blog/untitled-roguelike/</guid>
<description>Introduction A few weeks ago I began working on a roguelike game.
It is something that I have wanted to do for quite a while, but could never find the time.
I am learning Rust right now and the best way for me to do that is to find a project that I care about. So, this is a perfect opportunity finally make a roguelike.
......
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="referrer" content="no-referrer">
<meta name="author" content="Christopher Silva">
<meta name="description" content="Makes 4 servings.
Ingredients 2lb medium onions, halved lengthwise, then thinly sliced lengthwise 3 sprigs fresh thyme 2 bay leaves 3&frasl;4 teaspoon salt 1&frasl;2 stick unsalted butter 2 teaspoons all-purpose flour 3&frasl;4 cup dry white wine 4 cups reduced-sodium beef broth 1 1&frasl;2 cups water 1&frasl;2 teaspoon black pepper 4 (1&frasl;2&rdquo; thick) diagonal slices of baguette 4 slices of provolone cheese 2 tablespoons finely grated parmesan cheese Instructions Cook the onions Melt butter in a large pot.">
<meta property="og:title" content="French Onion Soup" />
<meta property="og:description" content="Makes 4 servings.
Ingredients 2lb medium onions, halved lengthwise, then thinly sliced lengthwise 3 sprigs fresh thyme 2 bay leaves 3&frasl;4 teaspoon salt 1&frasl;2 stick unsalted butter 2 teaspoons all-purpose flour 3&frasl;4 cup dry white wine 4 cups reduced-sodium beef broth 1 1&frasl;2 cups water 1&frasl;2 teaspoon black pepper 4 (1&frasl;2&rdquo; thick) diagonal slices of baguette 4 slices of provolone cheese 2 tablespoons finely grated parmesan cheese Instructions Cook the onions Melt butter in a large pot." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://csos95.com/recipes/french-onion-soup/" /><meta property="article:published_time" content="2018-11-07T07:01:52-06:00"/>
<meta property="article:modified_time" content="2018-11-07T07:01:52-06:00"/>
<title>
French Onion Soup
</title>
<link rel="canonical" href="https://csos95.com/recipes/french-onion-soup/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Ubuntu+Mono:400,400i,700,700i|Raleway:500">
<link rel="stylesheet" href="/css/reset.css">
<link rel="stylesheet" href="/css/pygments.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="shortcut icon"
href="/img/favicon.ico"
>
</head>
<body lang="">
<section class="header">
<div class="container">
<div class="content">
<a href="/"><img class="avatar" src="/img/portrait_128x128.jpeg" srcset="https://csos95.com/img/portrait_128x128.jpeg 1x"></a>
<a href="/"><div class="name">Christopher Silva</div></a>
<nav>
<ul>
<li class="nav-home"><a href="https://csos95.com/"><span>Home</span></a></li>
<li class="nav-posts"><a href="https://csos95.com/blog/"><span>Posts</span></a></li>
<li class="nav-projects"><a href="https://csos95.com/projects/"><span>Projects</span></a></li>
<li class="nav-recipes"><a href="https://csos95.com/recipes/"><span>Recipes</span></a></li>
</ul>
</nav>
</div>
</div>
</section>
<section class="icons">
<div class="container">
<div class="content">
<a href="https://github.com/csos95" target="_blank" rel="noopener"><img class="icon" src="/img/github.svg" alt="github" /></a>
<a href="https://git.csos95.com/csos95" target="_blank" rel="noopener"><img class="icon" src="/img/gitlab.svg" alt="gitlab" /></a>
<a href="https://derpsin.space/@csos95" target="_blank" rel="noopener"><img class="icon" src="/img/mastodon.svg" alt="mastodon" /></a>
</div>
</div>
</section>
<section class="main">
<div class="container">
<div class="content">
<div class="page-heading">
French Onion Soup
</div>
<div class="markdown">
<p>Makes 4 servings.</p>
<h2 id="ingredients">Ingredients</h2>
<ul>
<li>2lb medium onions, halved lengthwise, then thinly sliced lengthwise</li>
<li>3 sprigs fresh thyme</li>
<li>2 bay leaves</li>
<li><sup>3</sup>&frasl;<sub>4</sub> teaspoon salt</li>
<li><sup>1</sup>&frasl;<sub>2</sub> stick unsalted butter</li>
<li>2 teaspoons all-purpose flour</li>
<li><sup>3</sup>&frasl;<sub>4</sub> cup dry white wine</li>
<li>4 cups reduced-sodium beef broth</li>
<li>1 <sup>1</sup>&frasl;<sub>2</sub> cups water</li>
<li><sup>1</sup>&frasl;<sub>2</sub> teaspoon black pepper</li>
<li>4 (<sup>1</sup>&frasl;<sub>2</sub>&rdquo; thick) diagonal slices of baguette</li>
<li>4 slices of provolone cheese</li>
<li>2 tablespoons finely grated parmesan cheese</li>
</ul>
<h2 id="instructions">Instructions</h2>
<ol>
<li>Cook the onions
<ul>
<li>Melt butter in a large pot.</li>
<li>Add thyme, bay leaves, salt, and onions.</li>
<li>Cook until soft and golden brown, stirring frequently (~45 minutes).</li>
</ul></li>
<li>Make the soup
<ul>
<li>Add flour and cook while stirring (~1 minute).</li>
<li>Add wine and cook while stirring (~2 minutes).</li>
<li>Add broth, water, and pepper.</li>
<li>Simmer uncovered, stirring occasionally (~30 minutes).</li>
</ul></li>
<li>Make the croutes
<ul>
<li>While the soup simmers, preheat the oven to 350F.</li>
<li>Place bread on a backign sheet and toast, turning once, until completely dry (~15 minutes).</li>
<li>Add provolone cheese on top and bake until melted (~3 minutes).</li>
</ul></li>
<li>Serve it
<ul>
<li>Remove thyme and bay leaves from soup.</li>
<li>Ladle soup into bowls.</li>
<li>Sprinkle on parmesan cheese.</li>
<li>Place one croute in each bowl.</li>
</ul></li>
</ol>
</div>
</div>
</div>
</section>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/languages/rust.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/languages/go.min.js"></script>
<script type="text/javascript">
hljs.initHighlightingOnLoad();
</script>
</body>
</html>
......@@ -176,9 +176,9 @@
<nav class="section-items">
<ul>
<li><a href="/recipes/mushroom_gravy/">Mushroom Gravy</a></li>
<li><a href="/recipes/mushroom-gravy/">Mushroom Gravy</a></li>
<li><a href="/recipes/french_onion_soup/">French Onion Soup</a></li>
<li><a href="/recipes/french-onion-soup/">French Onion Soup</a></li>
</ul>
</nav>
......
......@@ -13,20 +13,20 @@
<item>
<title>Mushroom Gravy</title>
<link>https://csos95.com/recipes/mushroom_gravy/</link>
<link>https://csos95.com/recipes/mushroom-gravy/</link>
<pubDate>Wed, 07 Nov 2018 07:37:30 -0600</pubDate>
<guid>https://csos95.com/recipes/mushroom_gravy/</guid>
<guid>https://csos95.com/recipes/mushroom-gravy/</guid>
<description>Makes 4 servings.
Ingredients 1&amp;frasl;4 cup butter 1 (16 ounce) package sliced mushrooms 1&amp;frasl;4 cup all-purpose flour, or as needed 1 quart beef stock salt, pepper, and fresh thyme leaves, to taste Instructions Cook the mushrooms Heat butter over medium head in a saucepan until it foams. Stir in mushrooms. Season with salt. Simmer until liquid evaporates (~20 minutes). Make the gravy Stir in the flour, cooking and stirring (~5 minutes).</description>
</item>
<item>
<title>French Onion Soup</title>
<link>https://csos95.com/recipes/french_onion_soup/</link>
<link>https://csos95.com/recipes/french-onion-soup/</link>
<pubDate>Wed, 07 Nov 2018 07:01:52 -0600</pubDate>
<guid>https://csos95.com/recipes/french_onion_soup/</guid>
<guid>https://csos95.com/recipes/french-onion-soup/</guid>
<description>Makes 4 servings.
Ingredients 2lb medium onions, halved lengthwise, then thinly sliced lengthwise 3 sprigs fresh thyme 2 bay leaves 3&amp;frasl;4 teaspoon salt 1&amp;frasl;2 stick unsalted butter 2 teaspoons all-purpose flour 3&amp;frasl;4 cup dry white wine 4 cups reduced-sodium beef broth 1 1&amp;frasl;2 cups water 1&amp;frasl;2 teaspoon black pepper 4 (1&amp;frasl;2&amp;rdquo; thick) diagonal slices of baguette 4 slices of provolone cheese 2 tablespoons finely grated parmesan cheese Instructions Cook the onions Melt butter in a large pot.</description>
</item>
......
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="referrer" content="no-referrer">
<meta name="author" content="Christopher Silva">
<meta name="description" content="Makes 4 servings.
Ingredients 1&frasl;4 cup butter 1 (16 ounce) package sliced mushrooms 1&frasl;4 cup all-purpose flour, or as needed 1 quart beef stock salt, pepper, and fresh thyme leaves, to taste Instructions Cook the mushrooms Heat butter over medium head in a saucepan until it foams. Stir in mushrooms. Season with salt. Simmer until liquid evaporates (~20 minutes). Make the gravy Stir in the flour, cooking and stirring (~5 minutes).">
<meta property="og:title" content="Mushroom Gravy" />
<meta property="og:description" content="Makes 4 servings.
Ingredients 1&frasl;4 cup butter 1 (16 ounce) package sliced mushrooms 1&frasl;4 cup all-purpose flour, or as needed 1 quart beef stock salt, pepper, and fresh thyme leaves, to taste Instructions Cook the mushrooms Heat butter over medium head in a saucepan until it foams. Stir in mushrooms. Season with salt. Simmer until liquid evaporates (~20 minutes). Make the gravy Stir in the flour, cooking and stirring (~5 minutes)." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://csos95.com/recipes/mushroom-gravy/" /><meta property="article:published_time" content="2018-11-07T07:37:30-06:00"/>
<meta property="article:modified_time" content="2018-11-07T07:37:30-06:00"/>
<title>
Mushroom Gravy
</title>
<link rel="canonical" href="https://csos95.com/recipes/mushroom-gravy/">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/styles/default.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Ubuntu+Mono:400,400i,700,700i|Raleway:500">
<link rel="stylesheet" href="/css/reset.css">
<link rel="stylesheet" href="/css/pygments.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="shortcut icon"
href="/img/favicon.ico"
>
</head>
<body lang="">
<section class="header">
<div class="container">
<div class="content">
<a href="/"><img class="avatar" src="/img/portrait_128x128.jpeg" srcset="https://csos95.com/img/portrait_128x128.jpeg 1x"></a>
<a href="/"><div class="name">Christopher Silva</div></a>
<nav>
<ul>
<li class="nav-home"><a href="https://csos95.com/"><span>Home</span></a></li>
<li class="nav-posts"><a href="https://csos95.com/blog/"><span>Posts</span></a></li>
<li class="nav-projects"><a href="https://csos95.com/projects/"><span>Projects</span></a></li>
<li class="nav-recipes"><a href="https://csos95.com/recipes/"><span>Recipes</span></a></li>
</ul>
</nav>
</div>
</div>
</section>
<section class="icons">
<div class="container">
<div class="content">
<a href="https://github.com/csos95" target="_blank" rel="noopener"><img class="icon" src="/img/github.svg" alt="github" /></a>
<a href="https://git.csos95.com/csos95" target="_blank" rel="noopener"><img class="icon" src="/img/gitlab.svg" alt="gitlab" /></a>
<a href="https://derpsin.space/@csos95" target="_blank" rel="noopener"><img class="icon" src="/img/mastodon.svg" alt="mastodon" /></a>
</div>
</div>
</section>
<section class="main">
<div class="container">
<div class="content">
<div class="page-heading">
Mushroom Gravy
</div>
<div class="markdown">
<p>Makes 4 servings.</p>
<h2 id="ingredients">Ingredients</h2>
<ul>
<li><sup>1</sup>&frasl;<sub>4</sub> cup butter</li>
<li>1 (16 ounce) package sliced mushrooms</li>
<li><sup>1</sup>&frasl;<sub>4</sub> cup all-purpose flour, or as needed</li>
<li>1 quart beef stock</li>
<li>salt, pepper, and fresh thyme leaves, to taste</li>
</ul>
<h2 id="instructions">Instructions</h2>
<ol>
<li>Cook the mushrooms
<ul>
<li>Heat butter over medium head in a saucepan until it foams.</li>
<li>Stir in mushrooms.</li>
<li>Season with salt.</li>
<li>Simmer until liquid evaporates (~20 minutes).</li>
</ul></li>
<li>Make the gravy
<ul>
<li>Stir in the flour, cooking and stirring (~5 minutes).</li>
<li>Add about 1 cup of beef stock, stirring briskly until incorporated, then pour in the remaining stock and mix thoroughly.</li>
<li>Season with black pepper and thyme.</li>
<li>Simmer until thickened, stirring ofter (~30 minutes).</li>
</ul></li>
</ol>
</div>
</div>
</div>
</section>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/highlight.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/languages/rust.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.11.0/languages/go.min.js"></script>
<script type="text/javascript">
hljs.initHighlightingOnLoad();
</script>
</body>
</html>
......@@ -3,17 +3,17 @@
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://csos95.com/recipes/mushroom_gravy/</loc>
<loc>https://csos95.com/recipes/mushroom-gravy/</loc>
<lastmod>2018-11-07T07:37:30-06:00</lastmod>
</url>
<url>
<loc>https://csos95.com/recipes/french_onion_soup/</loc>
<loc>https://csos95.com/recipes/french-onion-soup/</loc>
<lastmod>2018-11-07T07:01:52-06:00</lastmod>
</url>
<url>
<loc>https://csos95.com/blog/untitled_roguelike/</loc>
<loc>https://csos95.com/blog/untitled-roguelike/</loc>
<lastmod>2018-11-03T22:53:40-05:00</lastmod>
</url>
......
......@@ -176,7 +176,7 @@
<nav class="section-items">
<ul>
<li><a href="/blog/untitled_roguelike/">Untitled Rogulike</a></li>
<li><a href="/blog/untitled-roguelike/">Untitled Rogulike</a></li>
</ul>
</nav>
......
......@@ -13,10 +13,10 @@
<item>
<title>Untitled Rogulike</title>
<link>https://csos95.com/blog/untitled_roguelike/</link>
<link>https://csos95.com/blog/untitled-roguelike/</link>
<pubDate>Sat, 03 Nov 2018 22:53:40 -0500</pubDate>
<guid>https://csos95.com/blog/untitled_roguelike/</guid>
<guid>https://csos95.com/blog/untitled-roguelike/</guid>
<description>Introduction A few weeks ago I began working on a roguelike game.
It is something that I have wanted to do for quite a while, but could never find the time.
I am learning Rust right now and the best way for me to do that is to find a project that I care about. So, this is a perfect opportunity finally make a roguelike.
......
......@@ -176,7 +176,7 @@
<nav class="section-items">
<ul>
<li><a href="/blog/untitled_roguelike/">Untitled Rogulike</a></li>
<li><a href="/blog/untitled-roguelike/">Untitled Rogulike</a></li>
</ul>
</nav>
......
......@@ -13,10 +13,10 @@
<item>
<title>Untitled Rogulike</title>