Hacker News .hnnew | past | comments | ask | show | jobs | submit | brettcodes's commentslogin

Author here. I built a single Fresh 1 app 18 months ago but moved on due to lack of HMR. So I decided to give Fresh 2 a serious try after the beta announcement in September.

Since then I've: migrated my personal site from ~10 years of Jekyll, built a story authoring platform, a URL shortener, and a service provisioning app.

The HMR works, minimal config is real, and using Deno's built-in tooling (fmt, lint, check, test) instead of fighting with build configs has been refreshing.

But: ecosystem is young, docs are thin on advanced topics, and the dev server sometimes runs into crashes (I submitted a PR to fix it but it hasn't landed yet).

I've been deploying to the new Deno Deploy, which my thoughts on are a bit more complicated. Lots of pros and lots of cons. Last week was particularly rocky in terms of stability.

I use Next.js + Node.js + Tailwind at my day job, as well as maintain a legacy Rails app. So I've got a pretty got direct comparison to ergonomics and productivity. It's very very nice to not have to deal with things like Biome or Eslint + Prettier. I'm quite interested in exploring what Fresh 2 + Deno could look like for some apps at work, as Fresh 2 seems stable enough to use beyond just hobby projects.

Overall though, if you want a fast and simple dev experience for content-heavy sites or small-to-medium web apps, Fresh 2 is mature enough to ship with and genuinely enjoyable to work with. I am curious to see how it feels for larger apps too as I keep building with it.

Happy to answer questions about the migration process or building with Fresh 2 in general.


I'm very interested to read your article, but there seems to be a never-ending redirect loop of brettchalupa.com ↔ www.brettchalupa.com


The DragonRuby Zine free digital magazine (with a handmade print edition available too) on making games with Ruby! It's got interviews, tutorials, essays, and more. The zine is a way to celebrate the DragonRuby community and what people are making.

In case you're unfamiliar, DragonRuby is a Ruby runtime that makes cross-platform game development really fast and simple. It's got hot reloading of the game code and cross-platform deploys from any operating system. It makes use of SDL and mruby.

I've been making games in it for a few months and having a blast, so I just want to make resources and share that with other people. Thanks for checking it out!


I can definitely help you here! The code you write is yours to license as you please. So you can release the source for your game under GPLv3, you just can't distribute the engine alongside the source. Someone would have to own the engine and use your source alongside it to contribute to your game. You can compile and sell your game as you normally would, of course!

Here's an example of one of my games that is released under the Unlicense: https://github.com/brettchalupa/XENO.TEST & https://book.dragonriders.community/source-control.html#a-no... walks through how to do that

Zif is an open source community library for DragonRuby Game Toolkit that gives you a lot more classes and structure, if you so choose to use it. So it's not an "instead of" but rather a library you can drop into your DragonRuby Game Toolkit game.

While DragonRuby GTK is not FLOSS, your code is your code, and it's built upon mruby, llvm, and SDL, so it's got a really strong FLOSS core. I'm not a license expert tho, so maybe there are more implications than I'm realizing.


Thanks, Brett! Really appreciate the reply. I think tracking the 'mygame' directory is the way to go, and I'll also investigate packaging with Zif.


+1 on the community being kind and welcoming. That to me is a major factor. I've learned so much from the community, and it extends beyond just making game dev. The community organizes jams, monthly game clubs, and supports one another.


I think it may be the opposite with regards to Unity and being time constrained, as there's a lot more to learn with Unity when making games rather than something like DragonRuby Game Toolkit. For a hobby that you have only a little bit of time to dedicate to, I think 2D games in an engine with a simple API would be quite a bit easier. But that's just me!


I agree with Brett! Plus, if you're not already experienced with ruby, you'll get some exposure to the mruby variant in DR. It's been a pleasure working in ruby!


Thanks for sharing your experiences with the engine. I know what you mean by the ecosystem doesn't feel quite like Ruby—you can't pull in gems from RubyGems.org (but there is a dependency tool called Smaug) and it's not as focused on OO as most Ruby is. But after I spent my first few weeks making games with it, I came to realize lack of a huge dependency tree is a benefit. The engine doesn't have strong opinions on how you code your games, but it gives the tools to do so in a more functional mindset than most Ruby code. The API is data-driven, meaning you can work with just hashes or arrays and methods and get really far with your projects. You can abstract away into classes and modules if you need to.

I'm actively working on an interactive showcase of the samples and open source DragonRuby games here: https://dragonridersunite.itch.io/dragon-os

You can browse more games made with DRGTK here: https://itch.io/games/made-with-dragonruby-gtk

There's also the official samples page, which includes commercial games shipped to Android, iOS, and Switch: https://dragonruby.org/toolkit/game/samples

I think any type of 2D game is possible to build with the engine. But it's up to the community (and time) to make great games with it.

+ just wanna say I'm glad you dig Godot! There are so many game engines and libraries out there, and what matters most is finding one that fits your needs and style well. Because ultimately, what's most important, is that the game gets made, regardless of tech.


I can understand where you're coming from, but I disagree with the sentiment of it basically being just a wrapper around SDL and naive.

DragonRuby Game Toolkit's API is simple, and that's a good thing! It provides the foundations needed for building any kind of 2D game without introducing dozens of classes, an inheritance tree, or complex data models. With just a few primitive data types and some methods, everything one needs it there. Combine that with the sample code and the community, and there's not a type of 2D game out there that you can't get going with in DRGTK within a couple of hours.

DRGTK does make it easy to render sprites and text and handle input on top of SDL, which is valuable in and of itself. But it's not just direct bindings where you have to look at and understand how SDL works. I've never once had to look at the SDL docs to understand DragonRuby GTK's API. What the engine then gives you is: cross-platform builds with a single command, its simple API, ability to write games in a fantastic language, live reload of your game while developing without needing to recompile, the ability to use the toolchain of your liking, and more.

I'm personally not interested in using C++ to make games, and I think if someone is, they probably wouldn't want to use DragonRuby GTK anyway. But choosing between JS, Lua, or Ruby, I'd choose Ruby every single time. It's a more enjoyable language to use. That to me is a big factor in why I like DRGTK—the toolchain. After spending 10+ years making 2D games as a hobby by experimenting with XNA/MonoGame, Unity, HaxeFlixel, Love2D (Lua), Phaser.js, Gosu (Ruby), C++, and AS3, I really think DragonRuby has a unique combination of offerings that has me so excited about it and wanting to see it succeed.


Exactly, it handles sprites, textures and some other stuff. It’s an SDL wrapper (ok, a bit more than that in terms of api, which is nice), and tolling to get cross platforms builds.

Like I said, it’s nice for that. And I like that you have an immediate console.

But you’ll have to recreate everything else which you’d wanna use.

I hope it’ll succeed, or at least stay alive, bc it’s a great starting point.


Thanks for the kind words! I appreciate where you're coming from.

My perspective on the license and price is that it's a small team of less than 5 people who work on DragonRuby Game Toolkit. To spend $32 for a lifetime basic license is totally worth it to me for everything that comes with it. The work that's gone into the cross-platform support, designing the API, gluing together mruby and SDL, and more without a doubt is an incredibly compelling offering. I want to see DRGTK sustain itself for the long-term, and I think the team getting paid for helps make that happen.

I've thought about what it'd be like if the basic license was always free... The book is free, so it's a little awkward to then have a reader need to pay to use the software it's about. Sure, maybe more people would use it, but for an engine still in its early days (~3 years isn't that long compared to those that have been around for 10+ years), I think having a slight barrier to entry may benefit the project so it's not flooded by needing to support the flood of people that'd come from an always free version while it grows, stabilizes, and establishes itself.


You can generate builds for desktop operating systems and the web with the basic license. With the web builds, you can host them anywhere on the web since they're static files. But a lot of the community uses Itch.io to share their games.

I'm actively working on an interactive showcase of DragonRuby games here: https://dragonridersunite.itch.io/dragon-os

Or you can browse games made with it here: https://itch.io/games/made-with-dragonruby-gtk


I wrote this free book on how to make games with Ruby using the DragonRuby Game Toolkit. As I've been learning the engine, I've felt really inspired by how quickly I can prototype my ideas and release them for all the major platforms. DragonRuby GTK is a really interesting use of mruby and SDL. To see Ruby be used for anything other than Rails is always exciting. I thought maybe this book would nudge others interested in Ruby game dev to take the plunge. Would love any feedback! Thanks.


This looks great, I am excited to take it for a spin.

I really enjoyed your "Why the Book is Free" section.


Thank you for sharing the book, Brett! I definitely need to revisit the SDK which I had from its early versions, but unfortunately it was always lacking something. That was years ago tho.


Thank you! There is just something magical about programming ruby that other languages can’t replicate.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: