Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

KickStarter Monomyth - A first person action RPG/dungeon crawler - now in Open Backer Beta

lukaszek

the determinator
Patron
Joined
Jan 15, 2015
Messages
12,697
i need to play Monomyth NOW :negative:
interestingly enough we are right now in the middle of most packed notable rpg releases period... ever?
So its not like you are forced to replay gorasul while waiting... but you obviously can
 

The Wall

Dumbfuck!
Dumbfuck Zionist Agent
Joined
Jul 19, 2017
Messages
3,205
Location
SERPGIA
RatTower Excuse me for repeating my question, but what would be Programming Language that you use for c0ding Monomyth? C/C++/C#... Python or JavaScript? Maybe Mr. HTML ( :) )

I'm preparing my mind, body & soul to enter game development. Hopefully commercially one day, but making fun and good games (RPGs or city-builders), is my primary goal

Your game and how You single-handedly make it, with such love and expertise, is src of inspiration. You seem to have a lot of fun while making it, or that's because process itself looks fun in my eyes
 

RatTower

Arcane
Developer
Joined
Apr 24, 2017
Messages
470
RatTower Excuse me for repeating my question, but what would be Programming Language that you use for c0ding Monomyth? C/C++/C#... Python or JavaScript? Maybe Mr. HTML ( :) )

I'm preparing my mind, body & soul to enter game development. Hopefully commercially one day, but making fun and good games (RPGs or city-builders), is my primary goal

Your game and how You single-handedly make it, with such love and expertise, is src of inspiration. You seem to have a lot of fun while making it, or that's because process itself looks fun in my eyes

UE4 is technically a C++ engine. However, most scripting is done in a visual wrapper called Blueprint, which is roughly at the complexity of Java 1.4/C# 1.0 (or whatever the version before generics was).
Knowing C++ is still a major advantage though, since sometimes (rarely, but still) you need to expose engine internal variables and functions to BP. You can do that through a small library you write for yourself. It should also be mentioned that C++ is significantly faster than BP, but practically that only has an effect on methods that run every frame.
So the general workflow is neither fully C++ nor BP. From what I've gathered, people normally work in BP and optimize whatever they need in C++. Proper modularization is the key here.
You can also nativize your blueprint scripts into C++ if you are careful with cyclic dependencies.

I'll try to get to the Open Backer Beta as soon as possible, though it greatly depends on polishing. Especially item rebalancing, mechanics and some visual/performance improvements are required. Still a good amount of work.
With beta in the final stretch, is this a good time to ask whether you've considered distribution off Steam? Floated the idea way back, I'd be perfectly happy to wait until after EA if it meant I could get my key on GOG. I'm trying to slowly crawl out of Gabe's pocket going forward.

My plan was to bring it to GoG as well, but I haven't really taken the initiative on that matter yet. I'll probably shoot them an e-mail in the not-so-distant future (maybe when I have a new demo to send them).
 
Last edited:

The Wall

Dumbfuck!
Dumbfuck Zionist Agent
Joined
Jul 19, 2017
Messages
3,205
Location
SERPGIA
RatTower Is it true that you can make LITERALLY ANYTHING happen on screen if you're good with C/C++/C#? Interactive, living 3D or 2D RPG World => you can be its Creator?

I'm disappointed how little world simulation like factions fighting each other, dynamic quests and economy, various world states changing, ships sailing in and out from harbor, carriages moving on roads, dynamic ecosystems of forests etc, how all of this tangled with fun, good and deep RPG system, hasn't been accomplished in days since old-school Elder Scrolls/ Arcanum/ Gothic

I guess answer is increadibly simple. Badly organized, badly payed developers with terribad programming skills. + WOKE ideology that promotes lazyness and conformity

Devs like you are rare gems
 

The Wall

Dumbfuck!
Dumbfuck Zionist Agent
Joined
Jul 19, 2017
Messages
3,205
Location
SERPGIA
Programming is really magical. Too bad most good programmers are not very creative and they end up managing DATAbases for Banks. Creative + good programmer = now that's a powerful combo that can make MAGIC happen
 

agris

Arcane
Patron
Joined
Apr 16, 2004
Messages
6,833
I'm disappointed how little world simulation like factions fighting each other, dynamic quests and economy, various world states changing, ships sailing in and out from harbor, carriages moving on roads, dynamic ecosystems of forests etc, how all of this tangled with fun, good and deep RPG system, hasn't been accomplished in days since old-school Elder Scrolls/ Arcanum/ Gothic
I think the problem with creating what you're saying is that it boils down to the developer / programmer(s) in question understanding the fundamentals of these systems to select the correct (partial) differential equations and understand the mechanics of the real-life processes well enough to know when non-analytical approximates could be used.

some of this is economic theory, some of is systems biology; regardless, it's almost all coupled PDEs. That doesn't mean you need to be rigorous about analytical solutions, but it does mean you need to understand the basics of processes enough to find suitable approximations of solutions.

now you're touching on a larger problem, and that's: how the hell are you going to find people who want to make games who know about such things? my impression of many modern developers is that they're gamers, inspired by games and driven to make games because of games they like. they are not economists, mathematicians, historians, biologists, chemical engineers, etc. that was the old (80s and 90s) guard.

we're lucky rattower has the background he does, monomyth will be a breath of fresh air in a sea of circular-influence mediocrity.
 

HoboForEternity

sunset tequila
Patron
Joined
Mar 27, 2016
Messages
9,211
Location
Disco Elysium
Steve gets a Kidney but I don't even get a tag.
Programming is really magical. Too bad most good programmers are not very creative and they end up managing DATAbases for Banks. Creative + good programmer = now that's a powerful combo that can make MAGIC happen
But how can you blame people for picking stable, well regulated, (probably unionized in some countries) job over jobs with shitty turnover in famously shitty companies (aka aaa gamedevs) or betting it all on personal projects that have 90% chance of failure?
 

RatTower

Arcane
Developer
Joined
Apr 24, 2017
Messages
470
RatTower Would you say that a YouTube UE tutorial is enough to make a game like this? Also curious about game dev. Also, UE4 or UE5?

It depends. If you are a programmer I would say yes. The problem with YT tutorials is that most of them are either very basic or about very specialized use cases ("how to make this specific material" etc). Besides Epic's training material, it's hard to find videos on more advanced topics. So sooner or later you will be on your own. Especially considering, that in bigger projects, many problems are of your own making. Luckily UE4 has excellent debug & profiling tools. Also, it's open source, so if you really want to know what's going on you just take a look under the hood.

RatTower Is it true that you can make LITERALLY ANYTHING happen on screen if you're good with C/C++/C#? Interactive, living 3D or 2D RPG World => you can be its Creator?

The biggest problem here is probably whether you can abstract a proper system that is applicable to everything you want your interactive world to do, while also remaining performant. I can't find it right now, but I think Tarn Adams did a talk (or an interview (?)) about the systems that are running Dwarf Fortress' world simulation, which I believe is still widely considered the gold standard in that regard.
 

lukaszek

the determinator
Patron
Joined
Jan 15, 2015
Messages
12,697
Programming is really magical. Too bad most good programmers are not very creative and they end up managing DATAbases for Banks. Creative + good programmer = now that's a powerful combo that can make MAGIC happen
But how can you blame people for picking stable, well regulated, (probably unionized in some countries) job over jobs with shitty turnover in famously shitty companies (aka aaa gamedevs) or betting it all on personal projects that have 90% chance of failure?
i actually sense in here some fear towards invisible world of backend
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,233
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
@RatTower Would you say that a YouTube UE tutorial is enough to make a game like this? Also curious about game dev. Also, UE4 or UE5?

Also, it's open source, so if you really want to know what's going on you just take a look under the hood.

Yeah, having worked with a UE project for work, by far the best approach is to read the C++ code to understand what the engine is doing. Epic's documentation, especially outside user-facing stuff, is very barebones (some it is just automatically generated from the C++ source code) and 3rd party tutorials, forums, etc often only focus on basic stuff, are wrong or just outdated.

Reading existing source code, especially for something as complex as a C++ game engine, is something that can take time to learn but it is an incredibly valuable skill and there is no real substitute for it.
 

Bad Sector

Arcane
Patron
Joined
Mar 25, 2012
Messages
2,233
Insert Title Here RPG Wokedex Codex Year of the Donut Codex+ Now Streaming! Steve gets a Kidney but I don't even get a tag.
That's a neat idea, it reminds me of the markers in the System Shock games. Do these show up in a map too?

Actually, before that, does the game have a map? I don't remember if there was any in the demo :-P
 

cyan

Literate
Joined
Jul 19, 2023
Messages
12
xxx
x x x
x x
xxxxx
x x
x x
x x
x x
x x
x x
x x
x x x
xxx xxx

fucking formatting, it looked like a dick before
 

garren

Arcane
Patron
Joined
Nov 1, 2007
Messages
2,036
Location
Grue-Infested Darkness
New devlog:



I was wondering, if different weapons have preferred types of attacks, what's the point of using the other attacks? Is there a point in "stabbing" an enemy with a mace at all (longer reach or knockback for example), aside from enemy armor?
 
Last edited:

Infinitron

I post news
Staff Member
Joined
Jan 28, 2011
Messages
97,507
Codex Year of the Donut Serpent in the Staglands Dead State Divinity: Original Sin Project: Eternity Torment: Tides of Numenera Wasteland 2 Shadorwun: Hong Kong Divinity: Original Sin 2 A Beautifully Desolate Campaign Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
https://www.kickstarter.com/projects/836367155/monomyth/posts/3961107

State of the Game: Video Devlog 8.0 | Balancing​


Hi, dungeon-crawling fans!

A lot has happened during the last few weeks. We are now in the polishing phase and plenty of mechanics have been fixed or refined. Please, enjoy this month's video update:

As always, you can find the transcript below!

Best wishes,

Michael

--------------------------------------------------------------

Hi, dungeon-crawling fans!

The first month of polishing is over and there has been so much progress I can barely fit it all in one video. For anyone who doesn’t know: Monomyth is now in its fifth beta phase, which is mostly reserved for visual and mechanical improvements. Most of last month’s time went into the latter, especially with balancing and adjusting mechanics accordingly.

We will take a look at all of this, but first, let’s get the smaller stuff out of the way:

I started the polishing phase with a few simple tasks, the first of which was a quick rework of enemies. I gave rats some additional textures and a few better sound effects. Nothing too fancy.

I fixed a few things in the character state machine and some of the movement, especially crouching, which should now work much more smoothly.

I also fixed a few issues for NPCs. Some of them wouldn’t leave their staggered state. This should now work correctly as well.

Further, I added an item to mark the walls, for example, to denote where you’ve already been.

I made some changes to blacksmithing. All metallic objects should now heat up properly and it is no longer possible to repair leather armor or cloth on an anvil. Equipment durability is scaled by a fragility factor, which decreases throughout the game, meaning that with higher-quality equipment, its durability will be less of a concern. In contrast, during the early game equipment will break more easily and you will depend strongly on whatever you can take from enemies.

Now we are getting to the stuff that took a little more time: During the last beta phase, a lot of items didn’t have proper descriptions. A little while before the last patch I actually changed my approach to writing a bit. I used to write in English only. Now I also write in German and translate whatever I wrote. As a result, it’s much easier for me to quickly produce adequate texts. Ironically, sometimes it’s still easier for me to write in English and then translate it back to German. So the rule is basically, whatever works, as long as a proper text is the end result.

Anyway, I completed item descriptions and then added item names to the UI so you can actually see what you are interacting with. I thought that having a simple text on screen wasn’t all that aesthetically pleasing so I decided to implement a highlighting frame. You may have seen this before in games like Dark Messiah of Might and Magic or Deus Ex. I also added the frame to containers to quickly communicate whether these are empty or locked. You have to interact with the containers once before this is shown though.

One thing that was very important for the polishing phase was getting versioned builds to work. In previous versions, I kept having trouble with UE4’s versioned building process. I could build my projects and deploy them on Steam, however versioned builds that work with a single, compressed .pak file would constantly freeze the building process. I finally resolved that issue and the project size on the Steam servers went down to a third of what it originally was. Additionally, I can finally deploy smaller, iterative patches, so beta testers don’t have to download the full, uncompressed game after every patch.

And now let’s get to the balancing, the biggest part of last month’s work. This took quite a while and most of the time was spent writing spreadsheets and coming up with nice mathematical functions. But let’s start at the beginning:

The point of balancing is, to provide a smooth progression of numeric values throughout the game - everything from attributes to damage, defense, gained skill points, combat vs quest experience, and so on. All of these values need to be properly balanced, otherwise, you’ll get unnecessary spikes or dips in difficulty that will (overly) frustrate or, worse, bore the player. So how did I go about this?

As a very first step, I made a basic list containing the core essential facts of the game. I started out by writing down the number of areas. From that, I would determine how many character levels players would roughly gain per area. From that, I could then determine the maximum level. This was a bit of a back-and-forth, because when I say “area” I actually mean a series of connected zones that could roughly be grouped in the same “chapter” or “tier” story-wise. So with the max level, you can set maximum experience and come up with a nice level curve. I decided to go with a very simple polynomial curve.

With that set in stone, I started developing a table, which all other tables, be it armor, utility items, weapons or enemies would then refer to. This table included, categorized by area, the minimum and maximum attributes as well as the minimum and maximum derived values, meaning health, mana, and stamina. From that, I could develop everything else. I asked myself, how long I wanted the average combat encounter to be, so I could determine the damage ranges, healing factors, defense values, etc.

From this main table, I could develop multiple other tables that would reference the decided values. For example, I developed a table containing all weapons by referring to the damage in the main table and adding various modifiers. The individual weapon damage would then also be influenced by a balance variable that could be tweaked manually. The calculations were done in a way that everything stays nicely within the decided damage ranges.

I did something similar with the armor sets, except with the defense values.

94ee3af6dc74c7cd9399ab7d07ee8d7f_original.png

The best part about all of this is, that the final tables can be exported from the spreadsheet editor and go directly into the unreal engine in the form of a CSV file. So if I need to make a change to, let’s say, the damage ranges in a certain area, I just go back to the main table, I tweak the necessary values and all other tables automatically update their respective values. All weapons update their damage, all armors update their defense. I can then just re-import the new tables in Unreal Engine and that’s it. If a formula turns out to be problematic I update it. All respective values update automatically - I re-import the tables and that’s it. No long-winded fiddling with UE4’s table editor, no manual entering of adjusted values, no recalculations necessary - it can all be done with a few clicks. This series of tables forms a balancing pipeline so to speak, which will save a lot of time with any future adjustments.

So let’s quickly go back to that weapon table I mentioned. As I said it refers to the main table for various basic values, but, building upon these, I created a flexible damage calculation. In Monomyth this calculation depends on both fixed and situational components.

The fixed components consist of the base damage (the value referring to the main table), the weapon quality, the corresponding weapon skill, and attribute modifiers.

Each weapon has three physical damage types that are calculated according to these fixed components. The physical damage types are slashing, bludgeoning, and piercing. You probably already know these from games like Dark Souls or King’s Field. However, these types were also present in Ultima Underworld. And much like in Ultima Underworld the type of attack you perform in Monomyth determines the type of damage you deal. There is a swinging motion that deals slashing damage, an overhead strike that deals bludgeoning damage, and a stabbing motion that deals piercing damage. Depending on the weapon the damage per damage type can be very different. A regular sword can be used for an overhead strike or a piercing attack, but its highest damage is dealt in the slashing motion. The equivalent is true for maces and fencing weapons with regard to bludgeoning, respectively piercing damage. Using a mace to “stab” an opponent is not very efficient, however, clubbing him over the head with it will get you very different results.

Likewise, certain armor pieces provide different types of protection. Chainmail armor provides excellent slashing damage protection but falls flat against bludgeoning attacks.

The situational components of damage calculation depend less on the character and weapon statistics and more on how and when an attack is performed. Situational components are whether or not the player has charged his strike, whether he has enough stamina to perform the attack, and whether or not he has a bit of luck, that may lead to a critical hit.

The latter is not entirely situational because the chances for a critical hit can be increased through the dexterity attribute. Likewise, an unaware enemy will always receive a critical hit. The critical hit modifier depends on the weapon type, with fencing weapons and archery providing the highest modifier and maces the lowest. Additionally, archery gains some extra damage by aiming at the head. This is supposed to benefit stealth-based gameplay approaches. As a result, the stealth archer is a viable option in Monomyth.

Talking about sneaking around, the stealth gameplay archetype is not fully polished yet, however, equipment weight is already having an effect. I won’t torture you with inventory weight, however, equipment weight will have an effect on movement speed. If you run around in full plate armor with nine points in strength this will significantly slow you down. Equipment weight will also lower your jumping height and make you a lot noisier whenever you are trying to move silently.

The weight of weapons also affects their attack speed, as does your stamina. If you are low on stamina, your attacks will be very slow and only deal a fraction of the damage.

Now all of these limitations can be broken with a little magic. Most attributes in Monomyth are soft-capped. In this case, this means, implicitly, the maximum amount of points spent on an attribute is limited by the maximum level, however, there is no real explicit limitation in place. This means that spells and potions can easily push you beyond the implicit limitations. Likewise, all derived limitations, such as carrying capacity, are lifted as well.

If I am a battlemage and I cannot for the life of me wear a certain piece of armor without it slowing me down, a proper blessing spell can do the trick.

Besides balancing I also made a major change to melee combat mechanics. Attack animations are now traced. This means, instead of a simple hitscan the swung weapon is checked frame-by-frame for any hit enemies. This also means you can hit multiple enemies with a single attack now. Together with some newly implemented hitstop effects, this makes combat a lot more responsive.

These were most of the changes I implemented during the last month. I hope I can finalize the basic mechanical polishing soon. Most of these changes were made with the melee gameplay approach in mind. I still need to rework magic and stealth approaches and do some more general polishing. Eventually, visual polishing and the open backer beta will conclude beta phase 5.

Until then, I will keep you updated, and see you soon!
 

RatTower

Arcane
Developer
Joined
Apr 24, 2017
Messages
470
New devlog:



I was wondering, if different weapons have preferred types of attacks, what's the point of using the other attacks? Is there a point in "stabbing" an enemy with a mace at all (longer reach or knockback for example), aside from enemy armor?

Stabs have a slightly higher range while overhead strikes take a bit longer to charge (maces have the highest base damage though).
 

Gargaune

Magister
Joined
Mar 12, 2020
Messages
3,219
RatTower, minor quibble, but the bow aiming animation seems to obscure a lot of the centre screen with the arm, your actual target, maybe bring it down a wee bit?

monomyth-archery.jpg
 

lukaszek

the determinator
Patron
Joined
Jan 15, 2015
Messages
12,697
fyi kcd did it really well, this is how it actually looks like
c7d6c1a8464ecda705521e5399732983fdb55687.jpg
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom