CINXE.COM
Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1
<!DOCTYPE html> <html lang="en"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# gumroad: http://ogp.me/ns/fb/gumroad#"> <link rel="dns-prefetch" href="//assets.gumroad.com"> <link rel="dns-prefetch" href="//static-2.gumroad.com"> <link rel="dns-prefetch" href="//public-files.gumroad.com"> <title>Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1</title> <meta name="action-cable-url" content="wss://cable.gumroad.com/cable" /> <link rel="stylesheet" crossorigin="anonymous" href="https://assets.gumroad.com/packs/css/4977-187f88db.css" /> <link rel="stylesheet" crossorigin="anonymous" href="https://assets.gumroad.com/packs/css/design-49566fe9.css" /> <style>:root{--accent: 54 169 174;--contrast-accent: 255 255 255;--font-family: "ABC Favorit", "ABC Favorit", sans-serif;--color: 0 0 0;--primary: var(--color);--contrast-primary: 255 255 255;--filled: 255 255 255;--contrast-filled: var(--color);--body-bg: #ffffff;--active-bg: rgb(var(--color) / var(--gray-1));--border-alpha: 1}body{background-color:#ffffff;color:#000;font-family:"ABC Favorit", "ABC Favorit", sans-serif} </style> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="Dw0j97IENMHv8NA14fWRTItWSd1zffCoeljES7ResdMYHymzdyip4tT_V8M2hSZRSMizdJ4M8_fLjfs63oBDvg" /> <meta charset="utf-8"> <meta content="149071038533330" property="fb:app_id"> <meta content="http://www.facebook.com/gumroad" property="fb:page_id"> <meta property="twitter:site" value="@gumroad"> <meta content="Gumroad" property="og:site_name"> <meta content="https://endel.gumroad.com/l/mazmorra" property="og:url"> <meta content="This ebook is a technical and straightforward deep dive into how Mazmorra.io has been built, with full compilable source code included. It explains the process of developing the game as a solo indie developer and the core concepts behind its development.Mazmorra has been made with Colyseus, which is a Node.js Multiplayer Framework that allows you to move quickly. Making multiplayer games has never been this fun!Table of contents (Free preview - 11 pages)WelcomeIntroduction→ What is Mazmorra?→ System requirements→ Running the game locallyMaking Online Multiplayer Games→ Make it sustainable→ Monetization→ User retention→ LifecyclePrototyping and Early Experiments→ Working Solo and Imposing Limitations→ Look and feel→ Photoshop: Assets production and workflowCore concepts→ Authoritative Multiplayer Games→ Procedural Dungeon Generation→ Game State Synchronization→ The behaviour system (Entity-component)→ Movement system→ Inventory system→ Persisting user data in the databaseHTML5 Build Tools→ Sprite sheets→ Audio and audio spritesConclusionIs this course for me?You don't need to have experience in networkingIt is expected that you have an understanding of JavaScriptIt is expected that you have an understanding of Node.js(If you support me on Patreon, you get this for free!)" property="og:description"> <meta content="This ebook is a technical and straightforward deep dive into how Mazmorra.io has been built, with full compilable source code included. It explains the process of developing the game as a solo indie developer and the core concepts behind its development.Mazmorra has been made with Colyseus, which is a Node.js Multiplayer Framework that allows you to move quickly. Making multiplayer games has never been this fun!Table of contents (Free preview - 11 pages)WelcomeIntroduction→ What is Mazmorra?→ System requirements→ Running the game locallyMaking Online Multiplayer Games→ Make it sustainable→ Monetization→ User retention→ LifecyclePrototyping and Early Experiments→ Working Solo and Imposing Limitations→ Look and feel→ Photoshop: Assets production and workflowCore concepts→ Authoritative Multiplayer Games→ Procedural Dungeon Generation→ Game State Synchronization→ The behaviour system (Entity-component)→ Movement system→ Inventory system→ Persisting user data in the databaseHTML5 Build Tools→ Sprite sheets→ Audio and audio spritesConclusionIs this course for me?You don't need to have experience in networkingIt is expected that you have an understanding of JavaScriptIt is expected that you have an understanding of Node.js(If you support me on Patreon, you get this for free!)" name="description"> <meta content="oDsqI" property="product:retailer_item_id"> <meta content="10.0" property="product:price:amount"> <meta content="USD" property="product:price:currency"> <meta content="gumroad:product" property="og:type"> <meta property="twitter:card" value="summary_large_image" /> <meta property="twitter:title" value="Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1" /> <meta property="twitter:domain" value="Gumroad" /> <meta property="twitter:description" value="This ebook is a technical and straightforward deep dive into how Mazmorra.io has been built, with full compilable source code included. It explains the process of developing the game as a solo indi..." /> <meta property="twitter:creator" value="@endel" /> <meta property="twitter:image" value="https://public-files.gumroad.com/zaufxb31wn4op1tg5k9e2cy0m41t" /> <link rel="preload" as="image" href="https://public-files.gumroad.com/zaufxb31wn4op1tg5k9e2cy0m41t"> <meta property="og:image" content="https://public-files.gumroad.com/zaufxb31wn4op1tg5k9e2cy0m41t"> <meta property="og:image:alt" content=""> <meta property="og:title" content="Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1"> <meta property="gr:google_analytics:enabled" content="true"> <meta property="gr:fb_pixel:enabled" content="true"> <meta property="gr:logged_in_user:id" content=""> <meta property="gr:environment" value="production"> <meta property="gr:page:type" content="product"> <meta property="gr:facebook_sdk:enabled" content="true"> <meta content="initial-scale = 1.0, width = device-width" name="viewport"> <meta property="stripe:pk" value="pk_live_Db80xIzLPWhKo1byPrnERmym"> <meta property="stripe:api_version" value="2023-10-16; risk_in_requirements_beta=v1"> <link href="/opensearch.xml" rel="search" type="application/opensearchdescription+xml" title="Gumroad"> <link href="https://endel.gumroad.com/l/mazmorra" rel="canonical"> <link href="https://public-files.gumroad.com/bz7xxndg00qbvf29wiv672sxcjq8" rel="shortcut icon"> </head> <body id="product_page" class="" style=""> <div id="design-settings" data-settings="{"font":{"name":"ABC Favorit","url":"https://assets.gumroad.com/assets/ABCFavorit-Regular-26182c8c3addf6e4f8889817249c23b22c93233a8212e5e86574459e4dc926e2.woff2"}}" style="display: none;"></div> <div id="user-agent-info" data-settings="{"is_mobile":false}" style="display: none;"></div> <div class="react-entry-point" style="display:contents" id="Alert-react-component-e4336b72-3ad0-479c-8e99-7330f32f2582"><div role="alert" class="bg-filled fixed right-1/2 top-4 invisible" style="transform:translateX(50%) translateY(calc(-100% - var(--spacer-4)));transition:all 0.3s ease-out 0.5s;z-index:var(--z-index-tooltip)"></div></div> <script type="application/json" class="js-react-on-rails-component" data-component-name="Alert" data-dom-id="Alert-react-component-e4336b72-3ad0-479c-8e99-7330f32f2582">{"initial":null}</script> <noscript> <div id="javascript-notice"> <strong>JavaScript is required to buy this product.</strong> Enable JavaScript in your browser settings and refresh this page to continue. </div> </noscript> <script type="application/json" id="js-react-on-rails-context">{"railsEnv":"production","inMailer":false,"i18nLocale":"en","i18nDefaultLocale":"en","rorVersion":"14.0.4","rorPro":false,"href":"https://endel.gumroad.com/l/mazmorra","location":"/l/mazmorra","scheme":"https","host":"endel.gumroad.com","port":null,"pathname":"/l/mazmorra","search":null,"httpAcceptLanguage":null,"design_settings":{"font":{"name":"ABC Favorit","url":"https://assets.gumroad.com/assets/ABCFavorit-Regular-26182c8c3addf6e4f8889817249c23b22c93233a8212e5e86574459e4dc926e2.woff2"}},"domain_settings":{"scheme":"https","app_domain":"gumroad.com","root_domain":"gumroad.com","short_domain":"gum.co","discover_domain":"gumroad.com","third_party_analytics_domain":"gumroad-analytics.com"},"user_agent_info":{"is_mobile":false},"logged_in_user":null,"current_seller":null,"csp_nonce":"9bf2XcZmVeLG6P4RMTbiJwxIVfzHqcGa2TgOO8ND0y0=","locale":"en-US","serverSide":false}</script> <div class="react-entry-point" style="display:contents" id="ProductPage-react-component-2fa005c7-7711-43ad-aa99-1380098f5f1a"><main class="custom-sections"><section aria-label="Product information bar" style="overflow:hidden;padding:0;border:none;height:0;transition:var(--transition-duration);flex-shrink:0;position:sticky;top:0;z-index:var(--z-index-menubar)"><div class="product-cta" style="transition:var(--transition-duration);margin-top:0"><div itemscope="" itemProp="offers" itemType="https://schema.org/Offer" style="display:flex;align-items:center"><div class="has-tooltip right" aria-describedby=":Rl:"><div class="price" itemProp="price" content="10">$10<!-- -->+</div><div role="tooltip" id=":Rl:">$10<!-- -->+</div></div><link itemProp="url" href="https://endel.gumroad.com/l/mazmorra"/><div itemProp="availability" hidden="">https://schema.org/InStock</div><div itemProp="priceCurrency" hidden="">usd</div><div itemProp="seller" itemType="https://schema.org/Person" hidden=""><div itemProp="name" hidden="">Endel Dreyer</div></div></div><h3>Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1</h3><a class="accent button" href="https://gumroad.com/checkout?product=oDsqI&quantity=1" target="_top" style="align-items:unset">I want this!</a></div></section><section><article class="product"><figure class="carousel" aria-label="Product preview"><div class="items" style="aspect-ratio:1.910828025477707"><div role="tabpanel" id="0e0a6e9302309cb1e1476ba16f0187d0"></div></div></figure><section><header><h1 itemProp="name">Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1</h1></header><section class="details"><div itemscope="" itemProp="offers" itemType="https://schema.org/Offer" style="display:flex;align-items:center"><div class="has-tooltip right" aria-describedby=":R579:"><div class="price" itemProp="price" content="10">$10<!-- -->+</div><div role="tooltip" id=":R579:">$10<!-- -->+</div></div><link itemProp="url" href="https://endel.gumroad.com/l/mazmorra"/><div itemProp="availability" hidden="">https://schema.org/InStock</div><div itemProp="priceCurrency" hidden="">usd</div><div itemProp="seller" itemType="https://schema.org/Person" hidden=""><div itemProp="name" hidden="">Endel Dreyer</div></div></div><div style="display:flex;align-items:center;gap:var(--spacer-2);flex-wrap:wrap"><a href="https://endel.gumroad.com/" target="_blank" class="user" style="position:relative" rel="noreferrer"><img class="user-avatar" src="https://public-files.gumroad.com/bz7xxndg00qbvf29wiv672sxcjq8"/>Endel Dreyer</a></div></section><section><div class="rich-text"><p>This ebook is a technical and straightforward deep dive into how <a target="_blank" rel="noopener noreferrer nofollow" href="https://mazmorra.io/"><strong>Mazmorra.io</strong></a> has been built, with full compilable source code included. It explains the process of developing the game as a solo indie developer and the core concepts behind its development.</p><p>Mazmorra has been made with <a target="_blank" rel="noopener noreferrer nofollow" href="http://colyseus.io/">Colyseus</a>, which is a Node.js Multiplayer Framework that allows you to move quickly. Making multiplayer games has never been this fun!</p><h4>Table of contents <a target="_blank" rel="noopener noreferrer nofollow" href="https://drive.google.com/file/d/19EyfO5xQUNx4ejxFTz1KYDjzfGo7UPHA/view?usp=sharing"><strong>(</strong></a><a target="_blank" rel="noopener noreferrer nofollow" href="https://drive.google.com/file/d/1pfoXhq4y965sZZGE1S9i1SEkFo9ArXg5/view?usp=share_link"><strong>Free preview - 11 pages</strong></a><a target="_blank" rel="noopener noreferrer nofollow" href="https://drive.google.com/file/d/19EyfO5xQUNx4ejxFTz1KYDjzfGo7UPHA/view?usp=sharing"><strong>)</strong></a> </h4><ul> <li>Welcome</li> <li>Introduction<br>→ What is Mazmorra?<br>→ System requirements<br>→ Running the game locally</li> <li>Making Online Multiplayer Games<strong><br></strong>→ Make it sustainable<br>→ Monetization<br>→ User retention<br>→ Lifecycle</li> <li>Prototyping and Early Experiments<strong><br></strong>→ Working Solo and Imposing Limitations<br>→ Look and feel<br>→ Photoshop: Assets production and workflow</li> <li>Core concepts<strong><br></strong>→ Authoritative Multiplayer Games<br>→ Procedural Dungeon Generation<br>→ Game State Synchronization<br>→ The behaviour system (Entity-component)<br>→ Movement system<br>→ Inventory system<br>→ Persisting user data in the database</li> <li>HTML5 Build Tools<br>→ Sprite sheets<br>→ Audio and audio sprites<br> </li> <li>Conclusion</li> </ul><h4>Is this course for me?</h4><ul> <li>You don't need to have experience in networking</li> <li>It is <strong>expected</strong> that you have an understanding of JavaScript<br> </li> <li>It is <strong>expected</strong> that you have an understanding of Node.js</li> </ul><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.patreon.com/endel"><em>(If you support me on Patreon, you get this for free!)</em></a></p><p><br></p></div></section></section><section><section><fieldset class=""><legend><label for=":Rb6p9:">Name a fair price:</label></legend><div class="input"><div class="pill">$</div><input type="text" inputMode="decimal" id=":Rb6p9:" maxLength="10" placeholder="20+" autoComplete="off" aria-invalid="false" aria-label="Price" value=""/></div></fieldset><a class="accent button" href="https://gumroad.com/checkout?product=oDsqI&quantity=1" target="_top" style="align-items:unset">I want this!</a><div class="stack"><p>You'll get a PDF file </p><div><h5>Pages</h5><div>30</div></div><div><h5>Format</h5><div>PDF</div></div></div><div style="display:grid;gap:var(--spacer-2);grid-template-columns:1fr auto"><div class="combobox"><div role="combobox" aria-expanded="false" aria-controls=":R5op9:" tabindex="0" class="input" aria-label="Add to wishlist"><span class="fake-input text-singleline">Add to wishlist</span><span class="icon icon-outline-cheveron-down"></span></div><div hidden=""><datalist id=":R5op9:"><div role="option" id=":R5op9:-0" class=""><div><span class="icon icon-plus"></span> New wishlist</div></div></datalist></div></div><span class="has-tooltip"><span aria-describedby=":R9op9:" style="display:contents"><span style="display:contents"><button class="button" type="button" aria-label="Copy product URL"><span class="icon icon-link"></span></button></span></span><span role="tooltip" id=":R9op9:">Copy product URL</span></span></div><div style="text-align:center">30-day money back guarantee</div></section></section></article></section><footer>Powered by <span class="logo-full"></span></footer></main></div> <script type="application/json" class="js-react-on-rails-component" data-component-name="ProductPage" data-dom-id="ProductPage-react-component-2fa005c7-7711-43ad-aa99-1380098f5f1a">{"product":{"id":"Lxgx_ADTSeOmg4e_yzuvgg==","permalink":"oDsqI","name":"Making an Online Multiplayer Dungeon Crawler - Colyseus Legionary Course - Vol. 1","seller":{"id":"5467827814885","name":"Endel Dreyer","avatar_url":"https://public-files.gumroad.com/bz7xxndg00qbvf29wiv672sxcjq8","profile_url":"https://endel.gumroad.com/"},"collaborating_user":null,"covers":[{"url":"https://public-files.gumroad.com/zaufxb31wn4op1tg5k9e2cy0m41t","original_url":"https://public-files.gumroad.com/z8a8s3cvztuz6nhi9byyhy38iusp","thumbnail":null,"id":"0e0a6e9302309cb1e1476ba16f0187d0","type":"image","filetype":"png","width":670,"height":350,"native_width":1200,"native_height":628}],"main_cover_id":"0e0a6e9302309cb1e1476ba16f0187d0","thumbnail_url":null,"quantity_remaining":null,"long_url":"https://endel.gumroad.com/l/mazmorra","is_sales_limited":false,"ratings":{"count":0,"average":0.0,"percentages":[0,0,0,0,0]},"custom_button_text_option":"i_want_this_prompt","is_compliance_blocked":false,"is_published":true,"is_stream_only":false,"streamable":false,"sales_count":null,"summary":"You'll get a PDF file ","attributes":[{"name":"Pages","value":"30"},{"name":"Format","value":"PDF"}],"description_html":"\u003cp\u003eThis ebook is a technical and straightforward deep dive into how \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://mazmorra.io/\"\u003e\u003cstrong\u003eMazmorra.io\u003c/strong\u003e\u003c/a\u003e has been built, with full compilable source code included. It explains the process of developing the game as a solo indie developer and the core concepts behind its development.\u003c/p\u003e\u003cp\u003eMazmorra has been made with \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"http://colyseus.io/\"\u003eColyseus\u003c/a\u003e, which is a Node.js Multiplayer Framework that allows you to move quickly. Making multiplayer games has never been this fun!\u003c/p\u003e\u003ch4\u003eTable of contents \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://drive.google.com/file/d/19EyfO5xQUNx4ejxFTz1KYDjzfGo7UPHA/view?usp=sharing\"\u003e\u003cstrong\u003e(\u003c/strong\u003e\u003c/a\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://drive.google.com/file/d/1pfoXhq4y965sZZGE1S9i1SEkFo9ArXg5/view?usp=share_link\"\u003e\u003cstrong\u003eFree preview - 11 pages\u003c/strong\u003e\u003c/a\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://drive.google.com/file/d/19EyfO5xQUNx4ejxFTz1KYDjzfGo7UPHA/view?usp=sharing\"\u003e\u003cstrong\u003e)\u003c/strong\u003e\u003c/a\u003e\n\u003c/h4\u003e\u003cul\u003e\n\u003cli\u003eWelcome\u003c/li\u003e\n\u003cli\u003eIntroduction\u003cbr\u003e→ What is Mazmorra?\u003cbr\u003e→ System requirements\u003cbr\u003e→ Running the game locally\u003c/li\u003e\n\u003cli\u003eMaking Online Multiplayer Games\u003cstrong\u003e\u003cbr\u003e\u003c/strong\u003e→ Make it sustainable\u003cbr\u003e→ Monetization\u003cbr\u003e→ User retention\u003cbr\u003e→ Lifecycle\u003c/li\u003e\n\u003cli\u003ePrototyping and Early Experiments\u003cstrong\u003e\u003cbr\u003e\u003c/strong\u003e→ Working Solo and Imposing Limitations\u003cbr\u003e→ Look and feel\u003cbr\u003e→ Photoshop: Assets production and workflow\u003c/li\u003e\n\u003cli\u003eCore concepts\u003cstrong\u003e\u003cbr\u003e\u003c/strong\u003e→ Authoritative Multiplayer Games\u003cbr\u003e→ Procedural Dungeon Generation\u003cbr\u003e→ Game State Synchronization\u003cbr\u003e→ The behaviour system (Entity-component)\u003cbr\u003e→ Movement system\u003cbr\u003e→ Inventory system\u003cbr\u003e→ Persisting user data in the database\u003c/li\u003e\n\u003cli\u003eHTML5 Build Tools\u003cbr\u003e→ Sprite sheets\u003cbr\u003e→ Audio and audio sprites\u003cbr\u003e\n\u003c/li\u003e\n\u003cli\u003eConclusion\u003c/li\u003e\n\u003c/ul\u003e\u003ch4\u003eIs this course for me?\u003c/h4\u003e\u003cul\u003e\n\u003cli\u003eYou don't need to have experience in networking\u003c/li\u003e\n\u003cli\u003eIt is \u003cstrong\u003eexpected\u003c/strong\u003e that you have an understanding of JavaScript\u003cbr\u003e\n\u003c/li\u003e\n\u003cli\u003eIt is \u003cstrong\u003eexpected\u003c/strong\u003e that you have an understanding of Node.js\u003c/li\u003e\n\u003c/ul\u003e\u003cp\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://www.patreon.com/endel\"\u003e\u003cem\u003e(If you support me on Patreon, you get this for free!)\u003c/em\u003e\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cbr\u003e\u003c/p\u003e","currency_code":"usd","price_cents":1000,"rental_price_cents":null,"pwyw":{"suggested_price_cents":2000},"eligible_for_installment_plans":true,"allow_installment_plan":false,"installment_plan":null,"is_legacy_subscription":false,"is_tiered_membership":false,"is_physical":false,"custom_view_content_button_text":null,"is_multiseat_license":false,"native_type":"digital","preorder":null,"duration_in_months":null,"rental":null,"is_quantity_enabled":false,"free_trial":null,"recurrences":null,"options":[],"analytics":{"google_analytics_id":null,"facebook_pixel_id":null,"free_sales":true},"has_third_party_analytics":false,"ppp_details":null,"can_edit":false,"refund_policy":{"title":"30-day money back guarantee","fine_print":null,"updated_at":"2024-12-13"},"bundle_products":[],"public_files":[],"audio_previews_enabled":true},"discount_code":null,"purchase":null,"wishlists":[],"currency_code":"usd","show_ratings_filter":true,"creator_profile":{"external_id":"5467827814885","avatar_url":"https://public-files.gumroad.com/bz7xxndg00qbvf29wiv672sxcjq8","name":"Endel Dreyer","twitter_handle":"endel","subdomain":"endel.gumroad.com"},"sections":[],"main_section_index":0}</script> <script src="https://assets.gumroad.com/assets/application-cbf244e9109e70d7b04497041636f00173a1e588f9b879b3a3ef11f8dfb86e5c.js"></script> <script src="https://assets.gumroad.com/packs/js/webpack-runtime-e93e310defb785002b85.js" defer="defer"></script> <script src="https://assets.gumroad.com/packs/js/webpack-commons-1afbbdfb35d63b615d7d.js" defer="defer"></script> <script src="https://assets.gumroad.com/packs/js/4310-8bb276ec96388cf41cc3.js" defer="defer"></script> <script src="https://assets.gumroad.com/packs/js/product-a3671d4ff2e64f36e2f5.js" defer="defer"></script> </body> </html>