evennia/devblog/2023.html
2023-06-10 18:32:53 +02:00

743 lines
No EOL
53 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>Evennia Devblog</title>
<link rel="shortcut icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../stylesheets/styles.css">
<link rel="stylesheet" href="../stylesheets/pygment_trac.css">
<link href='https://fonts.googleapis.com/css?family=Open Sans' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Arvo' rel='stylesheet'>
<script src="../javascripts/scale.fix.js">
</script>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js">
</script>
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<p>
<img class="logo" src="../images/evennia_logo.png" alt="Evennia logo">
</p>
<h1 class="header">Evennia</h1>
<p class="header header-text">The Python MU* Development Library</p>
<div class="linksection">
<ul>
<div class="buttonsection">
<li>
<a class="buttons" href="../index.html">Back to Evennia</a>
</li>
<li>
<a class="buttons devblog-calendar-tooltip"
href="https://github.com/evennia/evennia/discussions">Discuss (GitHub)</a>
</li>
</div>
</ul>
</div>
<div class="devblog-calendar">
<ul>
<li>
<a href="2023.html"> 2023 (1)
<ul class="devblog-calendar-open">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Evennia 2.0.0 released today</span>
<a href="2023.html#2023-06-10-evennia-2.0.0-released-today"> Evennia 2.0.0 rel...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2022.html"> 2022 (4)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Evennia 1.0 released!</span>
<a href="2022.html#2022-12-03-evennia-1.0-released!"> Evennia 1.0 relea...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Project plans and Splitting a Setting in two</span>
<a href="2022.html#2022-09-17-project-plans-and-splitting-a-setting-in-two"> Project plans and...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Tutorial-writing and Attributes galore</span>
<a href="2022.html#2022-07-05-tutorial-writing-and-attributes-galore"> Tutorial-writing ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Into 2022 with thanks and plans</span>
<a href="2022.html#2022-01-06-into-2022-with-thanks-and-plans"> Into 2022 with th...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2021.html"> 2021 (3)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> The blog moved!</span>
<a href="2021.html#2021-11-18-the-blog-moved!"> The blog moved!
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Where do I begin?</span>
<a href="2021.html#2021-03-21-where-do-i-begin?"> Where do I begin?
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Happy New Years 2021!</span>
<a href="2021.html#2021-01-01-happy-new-years-2021!"> Happy New Years 2...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2020.html"> 2020 (3)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia 0.9.5 released</span>
<a href="2020.html#2020-11-14-evennia-0.9.5-released">Evennia 0.9.5 rele...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">On using Markdown with Sphinx</span>
<a href="2020.html#2020-10-20-on-using-markdown-with-sphinx">On using Markdown ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Spring updates while trying to stay healthy</span>
<a href="2020.html#2020-04-14-spring-updates-while-trying-to-stay-healthy">Spring updates whi...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2019.html"> 2019 (7)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Blackifying and fixing bugs</span>
<a href="2019.html#2019-09-30-blackifying-and-fixing-bugs">Blackifying and fi...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia 0.9 released</span>
<a href="2019.html#2019-07-04-evennia-0.9-released">Evennia 0.9 released
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Creating Evscaperoom Part 2</span>
<a href="2019.html#2019-05-26-creating-evscaperoom-part-2">Creating Evscapero...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Creating Evscaperoom Part 1</span>
<a href="2019.html#2019-05-18-creating-evscaperoom-part-1">Creating Evscapero...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Podcast about Evennia</span>
<a href="2019.html#2019-05-09-podcast-about-evennia">Podcast about Even...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Steaming on Eating Jam</span>
<a href="2019.html#2019-04-25-steaming-on-eating-jam">Steaming on Eating...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Into 2019</span>
<a href="2019.html#2019-01-02-into-2019">Into 2019
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2018.html"> 2018 (4)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia 0.8 released</span>
<a href="2018.html#2018-09-30-evennia-0.8-released">Evennia 0.8 released
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Inline building in upcoming Evennia 0.8</span>
<a href="2018.html#2018-08-18-inline-building-in-upcoming-evennia-0.8">Inline building in...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Kicking into gear from a distance</span>
<a href="2018.html#2018-01-27-kicking-into-gear-from-a-distance">Kicking into gear ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> New year, new stuff</span>
<a href="2018.html#2018-01-05-new-year,-new-stuff"> New year, new stuff
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2017.html"> 2017 (6)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Getting a MUD RP scene going</span>
<a href="2017.html#2017-10-29-getting-a-mud-rp-scene-going">Getting a MUD RP s...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia in Hacktobergest 2017</span>
<a href="2017.html#2017-10-01-evennia-in-hacktobergest-2017">Evennia in Hacktob...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia 0.7 released</span>
<a href="2017.html#2017-09-20-evennia-0.7-released">Evennia 0.7 released
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Renaming Django's Auth User and App</span>
<a href="2017.html#2017-08-25-renaming-django's-auth-user-and-app"> Renaming Django's...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">The luxury of a creative community</span>
<a href="2017.html#2017-04-23-the-luxury-of-a-creative-community">The luxury of a cr...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">News items from the new year</span>
<a href="2017.html#2017-02-05-news-items-from-the-new-year">News items from th...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2016.html"> 2016 (7)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Birthday retrospective</span>
<a href="2016.html#2016-11-30-birthday-retrospective">Birthday retrospec...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Season of fixes</span>
<a href="2016.html#2016-10-13-season-of-fixes">Season of fixes
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">The art of sharing nicks and descriptions</span>
<a href="2016.html#2016-07-01-the-art-of-sharing-nicks-and-descriptions">The art of sharing...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia in Pictures</span>
<a href="2016.html#2016-05-31-evennia-in-pictures">Evennia in Pictures
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Evennia 0.6!</span>
<a href="2016.html#2016-05-22-evennia-0.6!"> Evennia 0.6!
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Technical stuff happening</span>
<a href="2016.html#2016-03-24-technical-stuff-happening">Technical stuff ha...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Climbing up Branches</span>
<a href="2016.html#2016-02-14-climbing-up-branches">Climbing up Branches
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2015.html"> 2015 (13)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">A summary of a year</span>
<a href="2015.html#2015-12-17-a-summary-of-a-year">A summary of a year
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> MIT uses Evennia!</span>
<a href="2015.html#2015-11-12-mit-uses-evennia!"> MIT uses Evennia!
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Illustrations and soaps</span>
<a href="2015.html#2015-10-11-illustrations-and-soaps">Illustrations and ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Emoting System</span>
<a href="2015.html#2015-10-02-emoting-system">Emoting System
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Evennia on `podcast.__init__`</span>
<a href="2015.html#2015-09-29-evennia-on-`podcast.__init__`"> Evennia on `podca...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Pushing through a straw</span>
<a href="2015.html#2015-09-24-pushing-through-a-straw">Pushing through a ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">A wagon load of post summer updates</span>
<a href="2015.html#2015-08-27-a-wagon-load-of-post-summer-updates">A wagon load of po...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Announcing the Evennia example-game project "Ainneve"</span>
<a href="2015.html#2015-06-22-announcing-the-evennia-example-game-project-"ainneve""> Announcing the Ev...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Need your help!</span>
<a href="2015.html#2015-06-15-need-your-help!"> Need your help!
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Dreaming big?</span>
<a href="2015.html#2015-05-30-dreaming-big?"> Dreaming big?
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Things goin on</span>
<a href="2015.html#2015-05-11-things-goin-on">Things goin on
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Documenting Python without Sphinx</span>
<a href="2015.html#2015-05-09-documenting-python-without-sphinx">Documenting Python...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Building Django proxies and MUD libraries</span>
<a href="2015.html#2015-01-19-building-django-proxies-and-mud-libraries">Building Django pr...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2014.html"> 2014 (7)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Slowly moving through town</span>
<a href="2014.html#2014-10-02-slowly-moving-through-town">Slowly moving thro...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Dance my puppets</span>
<a href="2014.html#2014-08-04-dance-my-puppets">Dance my puppets
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Webby stuff</span>
<a href="2014.html#2014-06-30-webby-stuff">Webby stuff
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Bringing back Python memory</span>
<a href="2014.html#2014-06-15-bringing-back-python-memory">Bringing back Pyth...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Imaginary Realities volume 6, issue 1</span>
<a href="2014.html#2014-05-16-imaginary-realities-volume-6,-issue-1"> Imaginary Realiti...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Moving from Google Code to Github</span>
<a href="2014.html#2014-02-08-moving-from-google-code-to-github">Moving from Google...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Looking forwards and backwards</span>
<a href="2014.html#2014-01-24-looking-forwards-and-backwards">Looking forwards a...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2013.html"> 2013 (5)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Imaginary Realities is back</span>
<a href="2013.html#2013-12-16-imaginary-realities-is-back">Imaginary Realitie...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Out of band mergings</span>
<a href="2013.html#2013-11-28-out-of-band-mergings">Out of band mergings
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">A list of Evennia topics</span>
<a href="2013.html#2013-10-22-a-list-of-evennia-topics">A list of Evennia ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">One to Many</span>
<a href="2013.html#2013-05-13-one-to-many">One to Many
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Churning behind the scenes</span>
<a href="2013.html#2013-01-29-churning-behind-the-scenes">Churning behind th...
</a>
</li>
</ul>
</a>
</li>
<li>
<a href="2012.html"> 2012 (13)
<ul class="devblog-calendar-closed">
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Evennia changes to BSD license</span>
<a href="2012.html#2012-10-28-evennia-changes-to-bsd-license">Evennia changes to...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Community interest</span>
<a href="2012.html#2012-10-05-community-interest">Community interest
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Combining Twisted and Django</span>
<a href="2012.html#2012-08-31-combining-twisted-and-django">Combining Twisted ...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Taking command</span>
<a href="2012.html#2012-08-16-taking-command">Taking command
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Extending time and details</span>
<a href="2012.html#2012-06-26-extending-time-and-details">Extending time and...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Coding from the inside</span>
<a href="2012.html#2012-06-11-coding-from-the-inside">Coding from the in...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Dummies doing (even more) dummy things</span>
<a href="2012.html#2012-05-30-dummies-doing-(even-more)-dummy-things"> Dummies doing (ev...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Shortcuts to goodness</span>
<a href="2012.html#2012-03-26-shortcuts-to-goodness">Shortcuts to goodn...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Dummies doing dummy things</span>
<a href="2012.html#2012-02-22-dummies-doing-dummy-things">Dummies doing dumm...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">Commands and you</span>
<a href="2012.html#2012-02-17-commands-and-you">Commands and you
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Such a small thing ...</span>
<a href="2012.html#2012-02-15-such-a-small-thing-..."> Such a small thin...
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text">About this dev blog</span>
<a href="2012.html#2012-02-05-about-this-dev-blog">About this dev blog
</a>
</li>
<li class="devblog-calendar-post devblog-calendar-tooltip">
<span class="devblog-calendar-tooltip-text"> Evennia's open bottlenecks</span>
<a href="2012.html#2012-02-05-evennia's-open-bottlenecks"> Evennia's open bo...
</a>
</li>
</ul>
</a>
</li>
</ul>
</div>
</header>
<section>
<div class="devblog-rss">
<a href="feed.rss">
<img src="images/rss-icon.png" alt="RSS feed">
</a>
</div>
<h1>
<a name="evennia-mudmu-creation-system" class="anchor" href="#evennia-mudmu-creation-system">
<span class="octicon octicon-link">
</span>
</a>Evennia Dev Blog<div class="sponsor">
<div class="sponsor-column">
<a href="https://www.patreon.com/griatch">
<img class="patreon" src="../images/evennia_patreon_100x100.png" alt="Patreon">
</a>
<form action="https://www.paypal.com/donate" method="post" target="_top">
<input type="hidden" name="hosted_button_id" value="YQDKB8JT2GXLS" />
<input type="image" src="https://www.paypalobjects.com/en_US/SE/i/btn/btn_donateCC_LG.gif" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" />
<img alt="" border="0" src="https://www.paypal.com/en_SE/i/scr/pixel.gif" width="1" height="1" />
</form>
</div>
</h1>
<em>Various Evennia- and MUD-related musings by Griatch, the Evennia lead developer.</em>
<div class="blog_post">
<h1 id=2023-06-10-evennia-2.0.0-released-today>
Evennia 2.0.0 released today
<a class="devblog-headerlink" href="2023.html#2023-06-10-evennia-2.0.0-released-today" title="Permalink to this blog post"></a>
<div class="devblog-title-date">- June 10, 2023</div>
</h1>
<p><img src="https://upload.wikimedia.org/wikipedia/commons/c/c4/Field_Hamois_Belgium_Luc_Viatour.jpg" alt="screenshot" />
<br></p>
<p>As part of our new use of <a href="https://semver.org/">semantic versioning</a>, Evennia
2.0.0 was released today. Evennia is a Python <code>MU*</code> creation framework and
server. As the change of the major version indicates, this is a backwards
incompatible change ... well, <em>maybe</em>. It depends on your use-case. Read on.</p>
<p>In this post I&#x27;ll go over some of the new things since the release of Evennia
1.0 some six months ago.</p>
<h2>New version of the ExtendedRoom</h2>
<p>The main thing that <em>may</em> be backwards income is the <code>ExtendedRoom</code> contrib.
This contrib extends the standard room with the ability to look at &#x27;details&#x27; and
to have descriptions that change by season and by time-of-day in the game. I
originally wrote the <code>ExtendedRoom</code> contrib more than a decade ago and it was
in dire need to be recactored and cleaned up to use the modern tools available
in Evennia. Not to mention make use of my additional years of experience since
first creating it.</p>
<p>Here are the <a href="https://github.com/evennia/evennia/discussions/3200">new features</a>:</p>
<ul>
<li>All rooms can now have any number of &quot;room states&quot;, like &quot;burning&quot;, &quot;flooded&quot;,
&quot;dark&quot;, &quot;crowded&quot; or what have you. The <code>season</code> and <code>time_of_day</code> are now just
treated as any other room-states except that they auto-change with in-game time.</li>
<li>Rooms can have any number of swappable room-descriptions, just by adding an
Attribute <code>desc_&lt;roomstate&gt;</code> to the room. This will be used when a given
room-state is set on the room. If no room state matches, the traditional
<code>desc</code> Attribute is used.</li>
<li>In the old contrib, you could add special tags, like <code>&lt;morning&gt;...&lt;/morning&gt;</code>
in your descriptions and have those parts of the texts only appear when it&#x27;s
morning in-game. This still works, but only ever supported time-of-day states.
The new way is to make use Evennia&#x27;s FuncParser to embed functions in the text
directly. The <code>ExtendedRoom</code> understands the new <code>state</code> inline function. This
can be used with <em>any</em> room state (including seasons and time-of-day). For
example: <code>$state(morning, The morning sun is shining in.)</code> or
<code>$state(burning, This place is on fire!)</code>.</li>
<li>The room still supports <code>details</code> - the ability to look at things in the room
without needing to create a new database object first. This hasn&#x27;t changed.</li>
<li>The <code>ExtendedRoom</code> now also has simple support for echoing random messages now
and then to the room.</li>
</ul>
<p>Overall, the code was completely re-written and cleaned up, making use of the
latest Evennia tooling. It also has much better unit-test coverage. All the unit
tests of the old implementation passes for the new one, but the changes are
so big that it&#x27;s nevertheless possible people making heavy use of
this contrib may see side effects from upgrading.</p>
<p>Now, a contrib is not part of the core, so it (potentially) being
backwards-incompatible should normally not warrant a major version bump. But I
feel the <code>ExtendedRoom</code> contrib is used by so many in the Evennia community that
it&#x27;s prudent to up the major version to let people know that they should
keep an eye out when upgrading.</p>
<h2>More on the Beginner Tutorial</h2>
<p>Most of my time has been spent continuing to work on the new <a href="https://www.evennia.com/docs/latest/Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.html">Beginner Tutorial</a>. Notably on <a href="https://www.evennia.com/docs/latest/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Part3-Overview.html">part three</a>, where
we are making a whole little Evennia MUD game from scratch. While still not
done, I have now added detailed lessons on</p>
<ul>
<li>Creating RPG dice rollers and rule systems (in our example we are using the
<em>Knave</em> TTRPG ruleset).</li>
<li>Organizing Player Character data, and character generation.</li>
<li>In-game objects and items.</li>
<li>Handling equipment and weapons.</li>
<li>In-game rooms.</li>
<li>Non-player characters.</li>
<li>Two types of Combat systems (Twitch-based and Turn based).</li>
</ul>
<p>TODOs are Monster/NPC AI, Dynamical generation of rooms, Questin, Shops and some
more bits and bobs. And of course a separate session on building the game world
and tying all these systems together into a little example game.</p>
<h2>A truckload of new features!</h2>
<p>As usual, the Evennia community ame through with a bunch of new useful stuff since
the release of Evennia 1.0.</p>
<ul>
<li><code>Containers</code> - A new contrib with a typeclass and commands to make and manage
all sorts of containers, from chests to crates and jars, along with commands
to put things in them and take things out of them. A great place to start
tweaking for your own game implementation (InspectorCaracal).</li>
<li>The ANSI color fallbacks (for use when your client does not support XTerm256)
were improved to make more sense (InspectorCaracal).</li>
<li>New <code>logger.delete_log</code> method for deleting log files from inside the server (aMiss-aWry).</li>
<li>For those intending to override the <code>SessionHandler</code>, it was cleaned up and
refactored to make it less prone to cause circular import issues (Volund).</li>
<li>New <code>create_channel(attr=...)</code> keyword, for setting channel Attributes
directly on creation, especially from channels defined in <code>settings.DEFAULT_CHANNELS</code> (me)</li>
<li>Attributes will now properly save Python <code>deques</code> with <code>maxlen=...</code> set (me).</li>
<li><a href="https://www.evennia.com/docs/latest/Components/Tags.html#tagcategoryproperty"><code>TagCategoryProperty</code></a> - A new way to define tags with a particular category on a class at creation-time, without having to do so in the <code>at_object_creation</code> method (me).</li>
<li>A lot of bug fixes; <a href="https://www.evennia.com/docs/latest/Coding/Changelog.html">see the CHANGELOG</a> for all the details!</li>
</ul>
<h2>Continuing</h2>
<p>Over summer, my development usually slows down a bit, but I plan to keep pushing
on getting that Beginner tutorial done. We are also seeing more people joing
the <a href="https://discord.gg/AJJpcRUhtF">evennia discord</a>, which means more eyes on
the code and more bugs and edge cases being detected (and ironed out). So a lot
of maintenance work to be done in the short term.</p>
<p>In the longer term, there are a lot of exciting plans for Evennia in the pipe,
but we&#x27;ll get there when we get there. :)</p>
<p>Have a nice summer!</p>
<footer class="devblog-footer">
<span class="devblog-copyrights">
<p>Image by Luc Viatour / <a href="https://lucnix.be">https://lucnix.be/</a>, released under Creative Commons.</p>
</span>
<a class="devblog-to-toplink" href="2023.html#2023-06-10-evennia-2.0.0-released-today" title="Link to top of post">⇬(top)</a>
</footer>
</div>
</section>
</body>
</html>