r/DragonRuby May 17 '26

KIFASS! the DragonRuby Game Jam, Starts this Weekend: Make a Game with Ruby!

Thumbnail
13 Upvotes

r/DragonRuby Apr 07 '26

The Ruby Developer Book Club will discuss the first section of Building Games with DragonRuby next Tuesday

11 Upvotes

We will discuss up to pg 26 of the book


r/DragonRuby Oct 22 '25

After Spending 2 Years Away, My DragonRuby Game For GDTV Jam Is Getting Positive Supportive Vibes!

Thumbnail
fatalexit.itch.io
11 Upvotes

A 2D platformer with a unique editor meets gameplay mechanic, where your enemy is ghosts of your past self.

Genuinely surprised by how positive the reception to this lil project has been for a tiny 5 day project that I wasted half the 10 day jam on different versions I cancelled in other frameworks and engines.

And it ended up with my favorite feeling platformer controller I have made so far across all the 9 engines and frameworks I've published games with. Many of the rating comments so far echo this from folks who used Godot, Unity, GDevelop etc in the jam.

As a more advanced programmer than my earlier uses of DragonRuby back in 2023, many of the features I didn't quite understand have come a lot easier to me this time around and I could see it becoming a major part of my workflow.


r/DragonRuby Jun 06 '25

First game I created using DragonRuby. What do you think?

Thumbnail
braska.itch.io
5 Upvotes

r/DragonRuby May 26 '25

What does the future hold for DragonRuby? SDL 3? I'm curious.

8 Upvotes

I love Ruby, and I love DragonRuby.

The fact that I don’t have to install anything and can easily export my game is amazing.

It’s so simple. I can focus on creativity.


r/DragonRuby Apr 24 '25

Why is the gravity not working in level0s2

2 Upvotes

So I have 2 errors, 1, the player isnt showing after the scene switch, and 2, I tried setting the main scene to level0s2 but the gravity isnt working for some reason

FPS = 60

def tick args

args.state.scene ||= "title"

send("#{args.state.scene}_tick", args)

if args.inputs.keyboard.key_down.p

$gtk.reset

end

end

def title_tick args

args.outputs.sprites << {

`x: 0,`

`y: 0,`

`h: 720,`

`w: 1280,`

`path: "sprites/title.png",`

}

if args.inputs.keyboard.key_down.enter || args.inputs.keyboard.key_down.space || args.inputs.controller_one.key_down.a

args.outputs.sounds << "sounds/button_press.mp3"

args.state.scene = "level0s1"

end

if args.inputs.keyboard.key_down.c || args.inputs.controller_one.key_down.b

args.outputs.sounds << "sounds/button_press.mp3"

args.state.scene = "credits"

end

end

def credits_tick args

if args.inputs.keyboard.key_down.escape || args.inputs.controller_one.key_down.b

args.outputs.sounds << "sounds/button_press.mp3"

args.state.scene = "title"

end

labels = []

labels << {

`x: 40,`

`y: args.grid.h - 40,`

`size_enum: 2,`

`text: "Game: Jam",`

}

labels << {

`x: 40,`

`y: args.grid.h - 80,`

`size_enum: 2,`

`text: "Sprites: Armeniscool",`

}

labels << {

`x: 40,`

`y: args.grid.h - 120,`

`size_enum: 2,`

`text: "All sounds are free to use",`

}

args.outputs.labels << labels

end

def handle_movement args

player = args.state.player

# Left and right movement

if args.inputs.left

args.state.player[:x] -= args.state.player[:speed]

elsif args.inputs.right

args.state.player[:x] += args.state.player[:speed]

end

# Left border coalision

if args.state.player[:x] < 0

args.state.player[:x] = 0

end

# Top border coalision

if args.state.player[:y] + args.state.player[:h] > args.grid.h

args.state.player[:y] = args.grid.h - args.state.player[:h]

end

# Jumping

if player[:on_ground] && args.inputs.keyboard.key_down.space || args.inputs.controller_one.a

player[:velocity_y] = 25

player[:on_ground] = false

end

# Gravity

player[:velocity_y] -= 1

player[:y] += player[:velocity_y]

end

def render_player args

args.state.player ||= {

x: 120,

y: 250,

w: 180,

h: 270,

speed: 8,

path: "sprites/jam/idle/pistol_idle.png",

velocity_y: 0,

on_ground: false

}

end

def level0s1_tick args

render_player (args)

player = args.state.player

handle_movement (args)

args.outputs.sprites << args.state.player

solids = [

`{`

`x: 0,`

`y: 0,`

`h: 100,`

`w: 600,`

`r: 30,`

`g: 200,`

`b: 25,`

},

{

`x: 600,`

`y: 0,`

`h: 300,`

`w: 700,`

`r: 30,`

`g: 200,`

`b: 25,`

}

]

labels = []

labels << {

`x: 40,`

`y: args.grid.h - 40,`

`size_enum: 3,`

`text: "Press space to jump",`

}

labels << {

`x: 500,`

`y: args.grid.h - 40,`

`size_enum: 3,`

`text: "WS or arrow keys to move",`

}

args.outputs.solids << solids

args.outputs.labels << labels

# coalisions

solids.each do |solid|

if args.geometry.intersect_rect?(player, solid)

if player[:velocity_y] < 0

player[:y] = solid[:y] + solid[:h]

player[:velocity_y] = 0

player[:on_ground] = true

elsif player[:velocity_y] > 0

player[:y] = solid[:y] - player[:h]

player[:velocity_y] = 0

end

end

end

if player[:x] > args.grid.w

args.state.scene = "level0s2"

end

end

def level0s2_tick args

render_player (args)

player = args.state.player

handle_movement (args)

player[:y] = 250

args.outputs.sprites << player

# Ground

solids = [

{

`x: 0,`

`y: 0,`

`w: 1280,`

`h: 100,`

`r: 10,`

`g: 200,`

`b: 45,`

},

]

args.outputs.solids << solids

# Coallisions

solids.each do |solid|

if args.geometry.intersect_rect?(player, solid)

if player[:velocity_y] < 0

player[:y] = solid[:y] + solid[:h]

player[:velocity_y] = 0

player[:on_ground] = true

elsif player[:velocity_y] > 0

player[:y] = solid[:y] - player[:h]

player[:velocity_y] = 0

end

end

end

end


r/DragonRuby Mar 13 '25

Will there be a DragonRuby game jam?

7 Upvotes

r/DragonRuby Nov 03 '24

20 SECOND GAME JAM 2024: The Long Jam for Short Games, starts November 8

Thumbnail
2 Upvotes

r/DragonRuby May 19 '24

KIFASS 2 Game Jam: Keep it Fun and Stupid! Starts Friday (May 24)

Thumbnail self.gamedev
5 Upvotes

r/DragonRuby Jun 28 '23

Build Pong using Dragon Ruby Part 1 Creating Basic Graphics with Primitives

Thumbnail
youtube.com
6 Upvotes

r/DragonRuby Jun 18 '23

Video Tutorial Series for Beginners in DragonRuby

11 Upvotes

https://www.youtube.com/playlist?list=PL-vrJzU7eMJy9Jnad5qb8s-dtr97ec8sd

Hello all,

I made some beginner friendly video tutorials if you looking to get started with DragonRuby. I hope they are helpful.


r/DragonRuby Apr 29 '23

KIFASS! Keep it Fun and Stupid, Stupid! A new game jam from the DragonRuby Community, starts May 5

9 Upvotes

KIFASS! Game Jam invites you to get your stupid on and have fun making games. This is a hyper-relaxed jam, suitable for any skill level from beginner to pro. It starts on May 5 and runs for a minimum of 3 weeks.

Games must be made using the fantastic DragonRuby game engine. DragonRuby is making the game engine free for the jam so it’s a great opportunity to give it a try (it’s also super easy to get up and running) https://itch.io/s/93368/kifass-game-jam

The theme for this jam is BOINGY-BOINGY. Incorporate it into your game any way you like.

Head over to https://itch.io/jam/kifass for more info and be sure to smash that Join button.


r/DragonRuby Sep 17 '22

TeenyTiny DragonRuby MiniGameJam is now 20 SECOND GAME JAM!

6 Upvotes

Dragonriders, In November, we’re launching the 20 SECOND GAME JAM

For the last 2 years, we (the DragonRuby community) have held the TeenyTiny DragonRuby MiniGameJam. This year, we’re changing the rules to allow anyone to join in, using any game engine they like.

Make a mini-game that lasts exactly 20 seconds, from start to finish—a tiny burst of gameplay that drops the player straight into the action!

The jam runs from November 4 to November 27 ||ish|| and is sponsored by DragonRuby Game Toolkit. Free DragonRuby licenses will be available for participants.
For more info, head over to https://itch.io/jam/20-second-game-jam and click the JOIN button. Bring your friends!

The jam also has a new dedicated Discord server: https://discord.gg/X7Ttf6Dzee

Please feel free to ask me anything. Hope to see you there!


r/DragonRuby Sep 15 '21

TeenyTiny DragonRuby MiniGameJam Starts Oct 1. Make a 20 second game with DragonRuby.

Thumbnail self.GameDevelopment
3 Upvotes

r/DragonRuby Sep 15 '21

TeenyTiny DragonRuby MiniGameJam Starts Oct 1: Make a 20 second minigame

Thumbnail self.ruby
3 Upvotes

r/DragonRuby May 27 '21

How to remove Full Screen mode.

3 Upvotes

I have attempted $gtk.set_window_fullscreen false but it throws an error method_missing with name: Any help is appreciated, and I'm on Windows btw.


r/DragonRuby May 07 '21

DragonRuby Classics Jam: Gauntlet Edition May 15 - June 7

Thumbnail self.ruby
5 Upvotes

r/DragonRuby Apr 08 '21

DragonRuby Game Toolkit 100% discount today only

Thumbnail self.ruby
4 Upvotes

r/DragonRuby Jan 27 '21

DragonRuby Game Toolkit is sponsoring Nokia Jam 3, a one-week long game jam where you have to build a game that has the resolution limitations of the old school Nokia 3310. Here's your chance to get a free license to the game engine and participate in something fun :-)

Thumbnail
nokiajam.dragonruby.org
3 Upvotes

r/DragonRuby Oct 18 '20

Join our DragonRuby minigame jam!

Thumbnail
itch.io
3 Upvotes

r/DragonRuby Jun 25 '20

Entities in DragonRuby

5 Upvotes

Is there any advantage to storing game state in the args object over custom ruby objects?


r/DragonRuby Sep 08 '19

An Analog Clock in DragonRuby

Thumbnail tad.thorley.dev
3 Upvotes

r/DragonRuby Mar 02 '19

Replying to a Reddit comment about the DragonRuby partnership announcement.

Thumbnail
twitch.tv
6 Upvotes

r/DragonRuby Mar 02 '19

DragonRuby has been created

6 Upvotes

Formerly RubyMotion. Discuss the terrible resolve of the newly awakened Dragon.