Throne of the Unforgiven

I want two things: a huge open world and a roguelike RPG.

Been hard at work at bringing it about. Now that I’m halfway done with the more technical aspects, I’m moving on to further developing gameplay.

And so it begins.

The ultimate plan:

  1. Building up your party: You may befriend or hire NPCs to form a knighthood, band of robbers, witch coven or even an army to conquer towns and castles.

  2. Resource management and a world without money: agriculture, hunting, mining, fishing, foraging and chopping trees; crafting stuff to build stuff. Put together a cart, get some groovy fortifications going or just smith yourself a fine axe and go raid.

  3. Campaign or sandbox: Play as different pre-made heroes and follow their interconnected stories in a bonkers fantasy setting or create your own guy to go off the grid with.

  4. Diplomacy: Get funky with the intrigue. Befriend, betray, swindle, plot, bribe, blackmail, capture, ransom, assassinate or execute people who stand in your way… or be honorable and probably die for it.

But more importantly, I’m building all of this with the goal of making it as easy to mod as possible. I’ll be open sourcing this project on release, but any derivative works inherit my licence, which basically says you can do almost anything with this except sell it as yours.

So pray for me and let’s hope this coffee I’m sipping shows me the way towards enlightenment.

2 Likes

WELLP, this last month I learned a whole bunch of new things… and now I see just how many things I got wrong in code. Do you know what this means? GROUND UP REBUILD!

Now, now, don’t worry. Concept remains the same and a lot of the logic can be kept the same, so it’s not like it’ll take me more than a couple of weeks to port everything. Only major change is I’ll be switching from isometric to first person, solely because I’ve been meaning to do a first person game for years and my coding is at the point where dealing with three dimentions isn’t such a big deal.

That said, the original files for the isometric affaire will remain untouched in case I want to revisit it later on. But since I’m shelving iso for now, if anyone wants to take a look at the isometric version to mess around or try and develop their own project out of it, PM me or something and we can talk about it.

Time for a progress report: Built up some base classes and basic player controls – keyboard, mouse and joysticks. Hell yeah!

Fed up with how unpredictable and clunky dynamic objects can be at times, I decided to try and turn them all into statics and have my own code handle gravity and collisions, and for some reason managed to get it done fairly quick. Really steep falls are bit of a problem, but I’ll see about it eventually.

Now I’m focused on map generation. Just like old Throne, I want to crank it up to twelve on map size so it’s got to be continuous and procedural! Deterministic, of course, but still procedural with some hand-crafted zones thrown here and there. To achieve my dreams, I’ll create a fixed amount of identical, 90m^2 subdivided planes so I have a reserve of unique meshes to pull from. The generator grabs objects from this pool, copies the meshes, moves vertices around and spits out tiles that fit one another perfectly. Well, that’s the plan at least.

Challenge ahead, is getting to the waltzarounds of loading the map in chunks. This time I’ll let the player move in actual space and design cells to that space rather than get into the whole carpet-sliding affaire I pulled with old Throne; just a gut feeling it might not work so well with perspective and first person.

Here is video of me showing some of this stuff while being annoyed by my own code.

Map generation basics: water, mountains and a few procedural textures. The terrain meshes are copied from a subdividied plane and modified on the spot, sometimes these tiles don’t align correctly due to my own miscalculations. Some fine tuning to do but I’m happy with this. The map is already being loaded in chunks, now I need to populate it with baddies and stuff.

Next up: day/night cycle, trees, bushes and rocks. I want to make it so you can collect resources, but the system will be simplistic – more in the vein of how they’d work in an RTS rather than whatever convoluted nonsense you’re used to seeing nowadays. After that, it’s NPCs, dialogue, economy and shooting things in the face.

Also, open world too tough to do? Naaaaah, it’s fine.

MOAR PROGRESS: day/night cycle done; fully functional calendar in place, accounts for leap years and all. Statics such as trees, bushes and rocks are added by map generator; the program picks object names from a dictionary and spreads 'em more or less evenly across a cell. I will eventually get around to coding out the tree chopping and rock picking mechanics, but shoving that down the priority list for a while, becaaaaause…

CHARACTER CUSTOMIZATION BABY. Actor’s base mesh is designed in a special way so sections of it can be hidden; these sections include left and right arms and legs, which are broken up into three parts each (thigh, calf, foot; upArm, foArm, hand). This way pieces of apparel can just be layed on top of the body – information on which sections it covers and need to be hidden is taken from a dictionary. This means you can mix and match your fashion stuff.

But that’s not all! Getting a new mesh into the system is just a matter of running a script and filling out some forms; the whole purpose is modding the living heck out of my game should be easy.

Yeah, I said that next “it’s NPCs, dialogue, economy and shooting things in the face”, but developing this aspect a little bit more takes first place for now; getting to CHOOSE the pieces of fashion crap you want your guy to wear is an essential part of the gaming experience, no doubt in my mind. Besides, I’d need this kind of system to be fleshed out to design NPCs in the first place, so more power to me.

Also faces will be lego-like stickers. Want to spend five hours sculpting your likeness? Too bad, because THAT’S where I draw the line, buddy. You get to pick eyes, mouth and hair.

OBLIGATORY GOOFY ENGLISH NARRATED VIDEO

WELP BAD TIMING FOR ME TO GET SICK I GUESS

But now that I’m coming off a nasty week-long fever that drove me nearly delirious, I got around to doing some UI basis so I could get a quick inventory system in place.

The Elder Scrolls on Blender, basically. Mash that up with Jedi Academy swordfighting? Hell yeah!

1 Like

this is not spam. It’s an invitation. I won’t do it again

Interesting. I didn’t see lot of people who made an inventory in their game yet. Want to help ?

upbge.wikidot.com/throne_of_the_unforgiven

Forgot to reply; I’ll get on it eventually. Game is not so much a game as it is a work in progress.
Plus, I’m barely using logic bricks – this is way over a few thousand lines of code, and I’m just getting started. I would not so much explain how the entirety of the system works but rather lay down the fundamentals and have an easy to use modding guide.

And now, PROGRESS REPORT

Animations for jumping, walking, running, crouching, sheathing/unsheathing, attacking… everything is split into two separate layers for arms and legs, allowing to mix up actions (attack while jumping, unsheath while running, etc, etc) and still have it look more or less like it’s one thing. Freedom of movement!

Aside from that, reworked the models, added some textures – hand-painted diffuse and a normal map generated from a grayscale of that --, tweaked the toon shader to hell and back, and now I’d say it’s starting to look somewhat decent.

EDIT: also, whole thing is just about 40MB in size. It’ll fatten up with time, but this is great.

3 Likes

Nice, i’m also using 2 layers for the animations. The only problem is that my armature makes the upper body a little too much dependant of the lower spine so some little difference of angle in the bottom as big results on the upper body. But for body parts like the head and arms, it’s ok.

My idea with asking everyone exposing their game is too see if one can split a game into some independant parts. Like : animation module, camera module, inventory module … see how all that works. I’m sure many people do the same thing the same way. Good luck with your project. BGE needs an RPG.

1 Like

You mean like this c:

sidenote: I got into making fonts some. I was hesitant to use it, but it fits the theme way better than default blender font, so I put the darn thing in.
Also setting up the story.

1 Like

yes. That’s good. I have only 3 text scripts :stuck_out_tongue: for the moment

Alright, I took some time to fix a few lingering issues. Boring stuff, but necessary.

Map generation was too heavy on logic (about 40% consumption). I managed to have the mesh manipulation of the tiles as well as tree/grass placement get queued so only small chunks are generated in a single frame; this almost entirely negates frame drops when loading in new cells.

Furthermore, I decided to bite the bullet and start resetting world position every 200 meters the player moves in a single direction – when you move far enough to trigger new cells getting brought in, everything is teleported back to origin. This makes it so we never have to worry about floating point precision and still have an open, continuous world.

Also started designing a magic system. Sigils must be found around the world, deciphered through drawing, and combined to create incantations. I have spellmaking akin to Morrowind in mind, but nothing’s set in stone yet. I like the painting mechanic so I’m flirting with the idea of scroll writing; make them spells by hand, feel like an arcane badass, yadda yadda yadda.

I reaaally need to get around to laying down AI basics, but aw I keep getting sidetracked. We’ll get there, don’t worry.

2 Likes