Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

DragonRuby

115
Posts
9
Topics
608
Followers
A member registered Apr 11, 2019 · View creator page →

Creator of

Recent community posts

Put DragonRuby Game Toolkit on the list too: https://dragonruby.itch.io/dragonruby-gtk

(1 edit)

Stay active in the channels and you’ll find that you’re going to grow very quickly. A lot of people in there are already ruby devs and I bet any one of them would prefer to bring on a fellow Dragon Rider over interviewing random people.

Starting a second career is hard and I understand that game dev isn’t as marketable as web dev (with rails or something). But I promise you’ll pick up a thing or two (and being a familiar face pays itself is spades vs experience).

PS: I’m working on an RTS if you want to beta test it lol

- Amir

Dark Souls is freaking incredible I agree. I’m actually mentoring some local highschool kids in a FRC Robotics competitions.

Be sure to join the Discord channel to see how I can maybe help you (and of course talk about Emacs).

  • Amir

I’m an Emacs junkie too!

Fixed!

Take a look at the “mailbox” sample app. That is a poor man’s out of proc communication.

This will be fixed in the next release. Sorry about the bug >_<

Lori is working on revamping the videos. And depreciation notices will be added. Be sure to join the discord!

I’ll double check the tutorial and see what’s going on. Do the other samples work for you?

(1 edit)

I quit my job last April and I have been living my dream full time since then

I will do everything I can to make sure GTK can help you make your dreams come true. I myself did this back in 2013. I wrote a 300+ page book about it actually: Surviving the App Store as an Indie.

  • Amir
(1 edit)

That api has been removed (it was really only useful for a small set of games). If you want to create gridlines try this:

def gridlines!
  args = $gtk.args
  args.state.show_gridlines = !$gtk.args.state.show_gridlines
  if args.state.show_gridlines && args.outputs.static_lines.length == 0
    args.outputs.static_lines << 80.times.map do |i|
      [
        [i * 16,      0, i * 16,    720, 128, 128, 128],
        [     0, i * 16,   1280, i * 16, 128, 128, 128],
      ]
    end
  elsif !args.state.show_gridlines
    args.outputs.static_lines.clear
  end
end

Then you can bring up the heads up display and run grindlines! and press enter.

Also! Come to the Discord channel if you have questions (lots of people there to help): http://discord.dragonruby.org.

(1 edit)

Sorry about that. I reviewed the landing page code and updated it.

Change any occurennce of game to state and that should fix your issue. Come to the Discord channel and we can help you there too :-)

Here’s a quick demonstration of what DragonRuby can do (this is the game Amir is working on for the jam): animated gif

(1 edit)

This is a presentation Amir gave at RubyKaigi 2019 about building games using Ruby for the Nintendo Switch.

The value prop is that jammers will be able to use this platform to go from a small jam prototype, all the way to a console game, and never feel painted in a corner. The industry is sorely in need of something to challenge the status quo.

(6 edits)

Blessings from Jam Coordinators to make this post (hopefully it gets stickied too).

The link below contains a free “Game Jam” License to DragonRuby Game Toolkit. Yes, you can use the engine for the jam AND commercial games. There are no limitations or restrictions.

This zip file includes the engine and a sample platformer starting point. We’ll keep updating it throughout the jam with features to specifically support Leaps and Bounds.

For notifications of when the zip is updated, I’ll post here and in the DragonRuby official Discord channel. The channel has lots of devs there to help if you get stuck.

Super Easy Setup Guide:

  1. Unzip file.
  2. Go to the directory that represents your operating system.
  3. Run dragonruby.exe. A platformer game will load up.
  4. Open mygame/app/main.rb in the code editor of your choosing.
  5. Change the code.
  6. Save the file.
  7. Watch the game change live/hot-loaded.

How to Publish Your Game:

  1. Done coding your game? Cool!
  2. Create an itch.io page for your game and fill out mygame/metadata/metadata.txt.
  3. Double click dragonruby-publish.exe.
  4. A folder will appear called “build” that includes Windows, Mac, Linux, and Web versions of your game.
  5. Upload to Itch.

The primitives are nice for prototyping, but you definitely want to move to sprites as soon as you can. Bezier curves are on the list right now (but again, it’s best to just move to sprites/pngs after you’ve reached a certain point in complexity).

Yep. We are aware of this and it will be fixed in the next release (for faster response come to the Discord channel http://discord.dragonruby.org).

(2 edits)

Shaders are on the feature list definitely. 

We currently support tint/brightness on Sprites. Here are all the options

args.outputs.sprites << {
  x: 100, y: 100,
  w: 100, h: 100,
  path: "sprites/player.png",
  angle: 0,
  a, 255
  r: 255, #  red saturation
  g: 255, # geen saturation
  b: 255, # blue saturation
  tile_x:  0,
  tile_y:  0,
  tile_w: -1,
  tile_h: -1,
  flip_vertically: false,
  flip_horizontally: false,
  angle_anchor_x: 0.5,
  angle_anchor_y: 1.0
}

Hmm... it's really odd that it's only on Linux that it doesn't work on.

Would you mind trying this patch and tell me what it returns?

At the top of `main.rb`:

module GTK
  class KeyboardKeys
    def self.utf_8_char raw_key
      puts "==== yay linux!"
      puts raw_key
      puts "======"
      return raw_key.chr
    end
  end
end

DragonRuby is a new Ruby (it isn't mRuby, nor is it MRI ruby). We are pushing for parity for MRI, but only if the specific api can be supported on _all_ of the platforms we are targeting. Any gaps you see, just let me know and I'll see what needs to be added.

It's probably best to reference mRuby docs, since we used that as a starting point.

Eventually.

The problem is that it's an "append only" hot loaded environment. So you could technically write a function that throws an exception. Save the file (to patch the environment), then delete the function from the file. 

When you execute the function, there is no where to point to it.

It's quite an interesting problem ^_^;

(1 edit)

Linux is good!


So if you put `trace!` at the top of `def tick` you’ll get a flood in information in standard out. 


You can pass in an instance of an object to trace! To scope it down to that object. 


If neither of those help, ping Amir on Discord and he’ll troubleshoot it with you. http://discord.dragonruby.org

What OS are you using? Just so I can give you specific instructions. 

2.6.x support is _very_ high on the list. The current priority is kept up to date in this forum post: https://itch.io/t/511528/posts-feature-requests-here

This is a web based code editor with a sample 2D platformer preloaded. Here is what it looks like.

  1. Click link.
  2. Press the Run Game! button to load up the code.
  3. Change the code.
  4. Ctrl+S to save and rerun game.


(1 edit)

Here's a free Game Jam License to DragonRuby Game Toolkit. 

The zip file includes a sample app/starting point specifically for this jam.

Here what the starter template looks like. It's got all the collision stuff in place and some gravity/physics. You can create a map live within the game, save it, and reload the map. Hopefully that's enough to get you started. I'm on Discord if you need any help.

Super Easy Setup Guide:

  1. Unzip file.
  2. Go to the directory that represents your operating system.
  3. Run dragonruby.exe.
  4. Open mygame/app/main.rb in the code editor of your choosing. A Metroidvania Starter template will load up.
  5. Change the code.
  6. Save the file.
  7. Watch the game change.

How to Publish Your Game:

  1. Done coding your game? Cool!
  2. Fill out mygame/metadata/metadata.txt.
  3. Double click dragonruby-publish.exe.
  4. A folder will appear called "build" that includes Windows, Mac, Linux, and Web versions of your game.
  5. Upload to Itch.

> Hello there DragonRuby friends!

The better term is Dragon Riders ;-)

This is @amirrajan's game. Source code is included with the download: https://amirrajan.itch.io/serenity

No prob. We are going to push a release this weekend most likely. Expect the feature to be in there 👍

I can add an accessible key for you. Would “\” work?

Rendering part of a sprite can already be done. Take a look at the advanced sprites sample app. 

This isn't LOWREZ, but you may find it useful if you're creating a roguelike: https://gist.github.com/amirrajan/30be700d54d05e102f14653d7871bfa8


Here is an example of how to export live documentation:

https://gist.github.com/amirrajan/d2206cd820adeba44ce384e549b69b18

PSA: After the game jam ends, the dedicated LOWREZ GTK server will be offline. If you want to  join the permanent GTK server, go to: discord.dragonruby.org.

(3 edits)

Fellow dragon riders, join the DragonRuby GTK Discord server: discord.dragonruby.org

Please introduce yourself here!

The 1.9.2 syntax is supported. 2.3 syntax (specifically key word arguments) will be coming very soon (hopefully in the next couple of weeks).

Those blood splatter effects 🤣🤣

requiring gems is currently not supported (we are working on it though). 

DragonRuby comes with an open struct implementation (sort of) called OpenEntity

If you want to use a gem, you have to put all the source of the gem into the app directory. 

LOL!

The key takeaway here is GTK's developer support stuff is built with GTK.

And from a philosophical standpoint: no matter how good the HUD becomes, you will eventually out grow it over the lifetime of a non-trivial game. "Batteries include" tool chains are really great getting started, but it doesn't show the dev that it's just as "easy" to extend the tool chain and tune it such that it "grows" with the application being built.

I'd encourage you to make your own HUD that's customized/optimized for the work you are trying to do (I definitely looks like you  have a grasp of advanced Ruby concepts and I think you'll make some really amazing things).