Sharing Saturday #369

This page summarizes the projects mentioned and recommended in the original post on /r/roguelikedev

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • Json.NET

    Json.NET is a popular high-performance JSON framework for .NET

  • Dev time was extremely limited this week. After reprioritizing Release 3 features, my plan for the week changed and I ended up working on the save system. This was functioning in Release 1 but I haven’t updated it for all the features and refactoring done in Release 2. So much has changed that I’m basically starting over. I’m also having to rework some classes that contain a mix of data that should be saved and data that shouldn’t or can’t be saved (e.g., MonoBehaviours). I read a lot of articles and watched a lot of videos on save systems in Unity. Most of what I found was aimed at beginners and only covered the basics. This video was helpful, but I didn’t like having to create a new temporary object and save and load methods with explicit setters and getters; it’s slow performance-wise and difficult to maintain. I’d rather just isolate the data that needs to be saved and serialize it. Either I haven’t discovered the right pattern, or saving complex data in Unity requires a lot of effort and there’s no way around it. I could put all of an object’s state data into a single plain C# class, but then I couldn’t use composition to build game objects. I could isolate the state data on each game object component, but then I’d have to individually serialize the data in each component, or aggregate the stage data spread across the components first. Ideally, the save system would simply save and restore game objects marked for saving and restoring. This is technically possible in Unity, but from what I’ve gathered it’s not advisable. Anyway, after some analysis paralysis, I started implementing the new save system starting with the map. Once a monolithic class, the map now simply contains its dimensions, a cell collection, and half a dozen other collections that are only used for procedural generation, such as the room collection. I don’t believe I need to save the procedural generation data after the map is created, so I’m not going to worry about saving that data for now (ideally, this data would be in a class specifically for map generation that is destroyed after the map is created; will refactor in the future). So, the bulk of the data being saved is the cell collection. Each cell contains multiple attributes, including value and reference types. By default, the serializer I’m using (Json.NET) serializes objects by value. This is a problem for “type” objects. For example, each cell has a cell type, such as a wall or a floor. Each cell type has many attributes. By default, Json.NET serializes all of the attributes in the cell type for each cell that has that cell type. This increases the size of the save file significantly and loses the reference to the original cell type object. I solved this problem by adding an attribute for the cell type’s unique id to the cell class. The advantages of this solution are 1) less data written to file and 2) when loading data, the reference to the cell type object can be restored by retrieving the cell type from a dictionary using the unique id as the key. I applied this pattern to other attributes as well, such as actor types and item types. As of now, the map successfully saves to file, but loading hasn’t been implemented.

  • wglt

    WebGL Terminal

  • This week I've been migrating my game's graphics from simple HTML manipulation, which was slow, to manually drawing on the HTML5 Canvas, which also turned out to be slow. And then testing out web rendering libraries such as PixiJS and WGLT (WebGL Terminal). Some such simple WebGL library feels like the way to go. I've still to try out Fastiles (by Ondras, the Rot.js author) and the older UnicodeTiles.js.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • fastiles

    Ultra-fast bitmap font renderer

  • This week I've been migrating my game's graphics from simple HTML manipulation, which was slow, to manually drawing on the HTML5 Canvas, which also turned out to be slow. And then testing out web rendering libraries such as PixiJS and WGLT (WebGL Terminal). Some such simple WebGL library feels like the way to go. I've still to try out Fastiles (by Ondras, the Rot.js author) and the older UnicodeTiles.js.

  • unicodetiles.js

    A JavaScript character-based tile engine for creating games such as roguelikes.

  • This week I've been migrating my game's graphics from simple HTML manipulation, which was slow, to manually drawing on the HTML5 Canvas, which also turned out to be slow. And then testing out web rendering libraries such as PixiJS and WGLT (WebGL Terminal). Some such simple WebGL library feels like the way to go. I've still to try out Fastiles (by Ondras, the Rot.js author) and the older UnicodeTiles.js.

  • awesome-tabletop-rpgs

    Awesome list of free and/or open source tabletop RPGs

  • Some new rooms added. More RPG research for the awesome list. Trying to figure out how to do FSM in Rust.

  • terminus

    Roguelike game built using Lua/Love2D/Moonpie (by tredfern)

  • Current Milestone: 3 - Characters and Bestiary 0% Completed (+0%)

  • secbot-2021-7drl

    7-day Roguelike, 2021 (Success)

  • SecBot 7DRL | Github

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • rougelike-ada

    A rougelike game written in Ada 2012

  • I hope to use it to finally finish the rougelike I was working on serveral months ago (initially just using ncurses), but that is a ways off.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Pataro II: Pataro Harder

    3 projects | dev.to | 13 Nov 2021
  • New Project -Help me decide on a Framework/ Library

    1 project | /r/roguelikedev | 29 Jun 2023
  • Generating in-game statues for different kinds of generated Lovecraftian gods

    1 project | /r/proceduralgeneration | 24 Jun 2023
  • Eaglecraft Server with Aternos working!!!

    1 project | /r/eaglercraft | 9 Jun 2023
  • free virtual tour software

    2 projects | /r/360Cameras | 23 May 2023