• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Work resumes

Official 2k3 Release?!

Working with 2k3 burnt me out. The limitations of the engine and dwindling support on Windows took its toll on me shortly after my 2013 update of Starless Umbra. I’ve tried to resume the game but I don’t see myself going back to the engine again.

With the official English translation of 2k3 release I did briefly reconsider returning to the engine; however, I never stopped using RM2k3 because it was illegal. Even if I turn back to the engine I’d need to re-design effectively all the content to be original and stuck with a vanilla battle system.

However…

Not all is lost. Between 2013 and today, I made Heroes of Umbra. Creating a simple engine and graphics from scratch invigorated me in new ways. As development for HoU comes to a close, I find myself thinking about SU more and more.

This, combined with the things I’ve learned spending the past year working as an android game programmer got me thinking some crazy thoughts.

I’m in the early phases of writing an open-source cross-platform 2D RPG engine, and SU will be its guinea pig. The engine, which I’ve cleverly named UmbraCraft uses the libGDX framework with functionality specific to designing an RPG tacked on top. Its target audience is programmers who don’t want a lot of hand-holding when developing an RPG but desire tools to streamline the content creation.

Handles:
Orthogonal 2D Map rendering and collision (Procedurally generated or created via Tiled)
Entity Management, Pathfinding, & Interactions
Events/Scripted Cutscenes
Database Management (Heroes, Items, Skills, Animations, etc.)

Doesn’t Handle:
User Interfaces, Menus
Battle Systems

“But I’m not a programmer! I don’t care about your engine! When is SU gonna be done?”

I’ve spent a lot of time using RM2k3 and I’m going to avoid the pitfalls that made the editor cumbersome to use. The lack of local variables, event management, pathfinding, and so on made scripting events a pain. Hunting through three pages of event commands and counting the number of characters on a message so it didn’t get cut off was never fun. I hope that the scripted cutscenes functionality will be inspired by 2k3 without some of its pains.

I also love making maps, but it does take a lot of time. I don’t know if I could go another ten years working on this project, so procedurally generated maps is another shortcut that will help me save time. In the end, though, I’m not sure how long this will take. A few years?

tl;dr, sorry but I gotta start over again. I'll have more details soon.

Posts

Pages: 1
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
For those of you keeping score at home, this is the fifth time I've had to reboot the game.
author=dragonheartman
For those of you keeping score at home, this is the fifth time I've had to reboot the game.


You're my hero.
And I thought I had some record on that respect... I've only rebooted my game... 4 times?
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
Starless Wars Episode V: The Umbra Strikes Back

You're my hero.
<3
Tau
RMN sex symbol
3293
Well... Had to happen eventually. Good luck DHM, it's not gonna be easy that's for sure.
Lol I feel ya on that one buddy, sticking to Rm2k3 can be a tedious and soul-crushing uphill climb. Especially for your game, which was always innovative in how far it reaches.

If you ever need some help with maps or visual stuff, shoot me a message! I want to see this game finished! xD
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=Tau
Well... Had to happen eventually. Good luck DHM, it's not gonna be easy that's for sure.
Agreed. I feel like the more custom an RM2k3 project becomes, the harder it is to wield. This is an opportunity to step back and implement everything properly.
author=Blindmind
If you ever need some help with maps or visual stuff, shoot me a message! I want to see this game finished! xD
Thank you!
Why don't you just use RPG20XX and edit the engine source code a little (or a lot)? It's been game make able all this year and features self-contained font rendering, OpenGL, etc. It'll save you 2-3 years of development time. Plus, the foundation would then be automatically tested and debugged for you as you merge code.
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=WolfCoder
Why don't you just use RPG20XX and edit the engine source code a little (or a lot)? It's been game make able all this year and features self-contained font rendering, OpenGL, etc. It'll save you 2-3 years of development time. Plus, the foundation would then be automatically tested and debugged for you as you merge code.
I don't know if I'm smart enough to modify your work. At least last time I tried I was really lost. libGDX does most of the heavy lifting for me.

Nonetheless it's been a while since I looked at it (back when it was still trying to be a 1-to-1 replacement for the original 2k3 runtime). So I will give it a look. I'm only about three weeks into my little attempt so far.
The source code for the engine is actually a lot neater than the old prototype specifically because I didn't have to decode Emptybrain's format. You can just e-mail me questions.

The source code for the engine. Don't open the source code for the editor unless you want it to devour your soul.

However

It might be entirely unnecessary. You could use RPG20XX just as-is. It lets you define your own everything using event scripts (stats, etc.). You can use draw commands to make your own HUDs and menus. It's a strange paradigm that was based off of everyone doing crazy event scripts in RPG Maker 2003, so I made a lot of customization in RPG20XX using a more powerful event script system.

As a demonstration, list off a bunch of features that were difficult for you to do in RPG Maker 2003 and I'll tell you how they're done much easier in 20XX.
Okay. If you are restarting SU and going on a custom engine I have but ONE suggestion. Since you'll be using custom graphics and audio, as well as your own engine. Sell it. The ideas you had alone were well implemented in 2k3 and if you can implement the whole DKC mine cart ride and still make it fun regardless of engine, if you can implement the cooking mini system or improve on it, and if you can implement a greater crafting system using those funky enemy drops and all that jazz. Sell it. I know that as is I would certainly pay for HOU on steam or elsewhere. I also know that as is I would pay for SU simply to get finished. But if you start talking about completely custom things that are all your own invention I'm suggesting you sell SU when it's finished. Because quite frankly I'd buy it as long as you keep realizing what you need to do to make things fun. And you are the top dog when it comes to implementing an idea in a manner that keeps it quick paced, but fun to use.
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2966
author=WolfCoder
As a demonstration, list off a bunch of features that were difficult for you to do in RPG Maker 2003 and I'll tell you how they're done much easier in 20XX.

Lack of local switches (to copy paste say a chest event), pixel-based movement, custom messages, skill learning systems that don't depend on level, and a few others were all doable at least with DynRPG or PicPointerPatch but not ideal. Then there are things that I want like a cross-platform (desktop and mobile) experience, non-keyboard input, random map generation, independent projects for minigames, that are probably possible for me to implement with 20xx but I don't know if I'd be able to implement it myself.

Although I did just open the editor and I'm damn impressed already. I'll grab a copy of visual studio and peek at the source a bit. I haven't done a lot of C++ programming in some time and I know you're busy so I'd rather not bother you with simple questions.

author=Tyranos
Sell it.

I haven't thought of how to monetize. I should consider doing something like that.
Lack of local switches (to copy paste say a chest event)


RPG20XX has the same variable selection dialog, but it lets you set if the variable is local or not right there. For even more "localness", there are also temporal variables that stack; calling a function that is using the same temp variables will work just fine. When the called function ends and returns, the values for those temp variables will be the same as they were before the call.

custom messages


I'm not sure what you mean with these, but there's Show Message, Show Notice (those messages at the top), Draw String, and actual string variables themselves. Every string visible is formatted. Strings visible with Draw String instantly update on the frame if, say, a variable value it displays changes. Nesting these is possible if you really want to.

skill learning systems that don't depend on level


A variety of Game Commands let you script up whatever the hell skill/class system you want. You can have any attributes you want (visible or invisible) and some can be used to save values on the player (job points, aptitudes, etc.). You can have any derived stats you want, and you have total control over the calculations.

Whether a given item is usable/equippable by a player, I decided to let you use a Derived Statistic so you can define this any which way you want. Makes it easier if you add new players that you don't have to constantly update can-use check boxes or anything.

and a few others were all doable at least with DynRPG


There's a lot of commands. You can select any command in RPG20XX's editor and it has built-in synopsis telling you what it can do.

or PicPointerPatch


You can create pictures, texts, GUI elements in the current system graphic, etc. as drawing objects. Each object can be moved, scaled, rotated or faded. You can have unlimited (until your computer runs out of CPU/RAM) of these.

non-keyboard input


It's got input aliasing working, just not exposed to the user yet.

independent projects for minigames


Because RPG20XX has commands already written to make CBS writing simple, it follows that you can easily script up any minigame. It's even easier to integrate the minigame with the CBS so if you have events in the minigame damage/heal/alter player characters.

but I don't know if I'd be able to implement it myself.


Almost everything in RPG20XX is an event script, so in some ways it will feel too easy. Starting from a blank project means you have to fill out lots of the database, so I recommend starting a New Default Project and seeing how some basic things are done.

Although I did just open the editor and I'm damn impressed already


I don't know if I've documented it, but you can have single events made up of multiple tiles. Drag select multiple events and drag move multiple events at once. Holding SPACE and dragging moves the view. The first two layers are fully automatic so you can draw mountains atop anything, etc.

I'll grab a copy of visual studio and peek at the source a bit.


It uses Visual Studio 2010. If you have a school e-mail, you can grab the professional version for free.

I haven't done a lot of C++ programming in some time and I know you're busy so I'd rather not bother you with simple questions.


Actually I prefer if you ask me questions, e-mail would be good. If something in the engine code is unclear, that means I need to document it better. Function documentation is in the .h files.

I haven't thought of how to monetize. I should consider doing something like that.


If you modify the engine, you have to provide the source code under RPG20XX's current license. This might be a problem if you're selling on Steam and integrating SteamWorks since it clashes with the GPL.

I thought about dual licensing last year, but now I think I'll just select a license that would allow Steam integration and the like. If people want to support RPG20XX they can just donate.

In all cases, there's no royalties or anything for using RPG20XX. While the engine and editor are open source, the compiled .2XG file itself would technically entirely be your copyright to license as you wish (you wouldn't have to provide any project files). Don't quote me though, I'm not a lawyer.

A lot of the complex information is flattened when compiled into .2XG, so reverse engineering the file would result in a project that is much harder to edit (all the neat inheritance, symbols and features would be missing).

---

random map generation


This isn't in, but I require it myself for whenever I resume LandTraveller. I use a toolbox of functions to create worlds I learned. I even had random progression generation via PRMs planned. Persistent modification of maps during the game is also a thing I'll require (and therefore will be in at some point too).

Although I strongly suggest you just do good level design for this game since it lends itself well to a more class RPG style. A well designed level is superior to a randomly generated one. Too many new games lack good level design.

pixel-based movement


Coming soon, too. This and "mode 7". A lot of supporting functions are already in RPG20XX. Pixel based movement is required in LandTraveller, and I wouldn't hear the end of it anyways until I implement it.

Then there are things that I want like a cross-platform (desktop and mobile) experience


Not easy, but I chose self-contained libraries that have implementations on various platforms to make porting a lot easier.
Pages: 1