08-27-2020, 04:06 AM
(This post was last modified: 09-06-2020, 07:35 AM by kyonides.
Edit Reason: Left a reference to the Roole Game Engine
)
Unnamed Game Engine
better known as Roole
Introduction
Well, you know me, I love dealing with a couple of game engines. This is especially true if talking about Linux or Cross Platform applications.
There are a few based on Ruby either completely or partially. Yeah, among those are:
- HiddenChest
- MKXP
- Gosu
- Ruby SDL2
- Rubygame (old)
- Dragon Ruby (commercial)
It's just that I kind of hate this "one man team" sort of projects. I hope that makes some sense to you, guys.
Extremely Basic Features
By the way, you can check THIS POST to get an idea on what I've been trying to do so far.
Since What's up, RMers? doesn't look like the best place ever to keep track of this project, I preferred to open this thread and see if one day I get my very own Game Engine Icon here.
So far I managed to implement a binary executable that encapsulates the old Gosu Rubygem. A Rubygem is a Pure Ruby or CRuby Extension that any Ruby script may require at any time. Since that didn't seem to work on my previous attempts of making it, I had to resort to the ugly and burdensome work of embedded its code in a CRuby executable. It's C because it depends on C programming language to contain some Ruby calls a la C. The truth is that you can also include as many C++ code as needed.
Actually I included some C++ namespace to let my executable intercommunicate between the Ruby and C++ portions of its codebase.
Don't worry! It's quite short indeed.
What exactly are you able to do with this Unnamed Engine?
Good question! I guess it's pretty much the same you can do with any Ruby Gosu project.
- Load any kind of Pictures stores in JPG or PNG or TGA formats AFAIK
- Load and play any MP3 or OGG soundtrack
- Display text on screen using Normal, Bold, Italic and Underline styles
- No predefined Game Window Size!
- Execute custom Ruby scripts
There's almost nothing by default except that I introduced a few curious changes.
Scripting Section
Main Loop
While you're used to some basic Main loop like the following:
RMXP and RMVX
Code:
while $scene != nil
$scene.main
end
RMVX ACE
Code:
rgss_main { SceneManager.run }
GOSU
Code:
Gosu::Window.new.show
In this Unnamed Engine's case it'd be...
Code:
Scene.init
Actually it's a hidden script by default. You just need to define the contents of Scene.init method like this
Code:
module Scene
def self.init
#your code
self.scene = NewScene.new
end
end
Exiting the Main Loop
In XP and VX you'd exit the game by assigning no value to $scene like this:
Code:
$scene = nil
In Ace it's...
Code:
SceneManager.exit
In Gosu it'd be...
Code:
some_variable_representing_window.close
In my Unnamed Engine it's...
Code:
Scene.close
Which in turn would make the scene be equal to nil.
So what do you think about it so far?
Well, any suggestion or constructive criticism is welcome!
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE