Home › Forums › Other Video Games › untitled rotk2 remake
Tagged: Romance of the Three Kingdoms, Romance of the Three Kingdoms 2, Romance of the Three Kingdoms II, rotk2
- This topic has 333 replies, 11 voices, and was last updated 10 years, 1 month ago by unfy.
-
AuthorPosts
-
September 23, 2013 at 12:46 am #41054unfyModerator
http://en.wikipedia.org/wiki/Reverse_Polish_notation
Or to quote a previous message:
Quote:"8 + 3 – 5 + 3 * 7"With how I *think* it'd work out… it'd be:
8 + 3 – 5 + 3 * 7
11 – 5 + 3 * 7
6 + 3 * 7
9 * 7
63
It's also a bit uglier to implement in code.
Final answer: we'll see… but that comes after all of the current phase of gui work is done (ie: rpn already works, thus implementing 'normal math' would be redoing something that already exists).
And just to be snarky, "8 + 3 – 5 + 3 * 7" in left to right to eval like the above did would be rpn written:
8 3 + 5 – 3 + 7 *
hehehehe
Wonder if it just didn't like the post cause of two links and so short.
September 30, 2013 at 10:15 pm #41055unfyModeratorAtma and I have been quite at work on things.
Atma's been fiddling with lots of formula's (and making sure I understand what he's getting at), and he's been. going through list of people in rotk and adding birth dates and death dates… paying a lot of attention to detail to try to get things as accurate as possible. Lastly, he's also got his own view on what stats should be for generals (which do differ from what i / vanilla / etc had), which is all good / fine. We've also been discussing stuff via instant pestering, which has proven to be a good catalyst for both of us to work on stuff heh.
I've moved stuff like general stats / characteristics from hard coded structures in the code to being defined via the config / ini files. Similarly, provinces have been moved to dynamic/configurable stuff. This way modders (or us during initial dev) can change things up without having to recompile stuff. This will be immediately beneficial since it looks like we're gonna have 1 or 2 releases of the game early on (a 'remake' style and something more complicated).
Changing to configurable stats has meant needing to rewrite some of the sorting functions and tweak a lot of the other stuff that would go about referencing these stats – such as just displaying them :). The sorting functions have been done, as has much of the display referencing stuff.
My immediate todo would be:
* gui configuration via txt files
** i have a fairly …. certain way to go about this in my head
* math substitution functionality (grab so and so's intellect etc)
* start adding math substitutional phrases (province_flood_max etc)
* somehow tying math functions to game actions / gui
* optimizations for these dynamic stats
Down the line:
* the thought of being able to specify user-defined-math-functions would be neat (ie: improving flood control calls some other user defined math function too).
* or the gui being able to call some user defined math function so that it knows what to display (immediate examples: how many soldiers are in a province, although the soldiers thing doesn't have to be that way etc).
* battlescape gui and other stuff
Atma and I have also been discussing an easter egg :)
October 7, 2013 at 10:38 pm #52532unfyModeratorGUI text file configuration stuff is coming along.
Although it brought about one final need: A generic string parsing thing.
A generic string parser will fit in nicely for the GUI stuff, especially for custom messages such as stuff from advisors or when diplomacy occurs etc etc etc …
October 9, 2013 at 7:00 pm #52550unfyModeratorAtma / Unfy discussing the project via instant pestering has done wonders for nudging it along constantly.
GUI text config stuff is at a place where I’m happy with it from a design perspective.
Think I’ve got a workable string substitution / escaping thing laid out as well, although it’s not perhaps the greatest. And the math stuff will also the same escaping system etc.
Now all I gotta do is actually implement this bastard.
October 9, 2013 at 9:52 pm #52559DragonAtmaModeratorIndeed; if someone else wants to help out, adding us on your aim equivalent is a must!
October 9, 2013 at 10:22 pm #52560unfyModeratorNote that I can do other instant pestering options than just AIM, but being able to have everyone coordinate via the same instant pestering system is beneficial. even if we have to club atma into getting another thing :P
October 13, 2013 at 11:55 am #52582unfyModeratorRan through and finalized a good bit of the string substitution stuff. This has uses in GUI related things as well as math processing. Basically any string in the game will be passed through the substitution stuff.
This solves some math formula substitution issues (or rather, the need to implement it) as well as any of the GUI string substitution stuffs (such as displaying general / province data etc). And since the math and regular strings use the same substitution code, less to worry about.
There is one small caveat I’ll have to finalize with substitutions, but now that the string basic framework is done, I can move on to actually implementing the GUI-text-file-config stuff. I could have done the GUI stuff before strings but whatever. Both have to be done.
Note: framework. I’ve not actually implemented everything yet, just the skeleton and a test case example that worked wonderfully (fetching current province population).
October 16, 2013 at 8:24 pm #52586wxlancerParticipanthey guys, i just wanted to say that i came to the thread following the decade-long rotk thread over at the-scholars, where you announced in 2007 that you were going to start remaking the game (i am the latest post in that thread which amazingly continues to be active!). while i’m nowhere nearly as deeply expert in the numbers or programming as you/atma, i want to offer my support…rotk was an awesome game whose only real flaw was probably AI behavior and aggression, as well as a crudely ingenious but ultimately nonsensical compatibility system. i commend you guys for undertaking to remake this awesome game…and if there’s some way someone without technical prowess such as myself can help you out, please let me know.
- This reply was modified 10 years, 6 months ago by wxlancer.
October 17, 2013 at 3:13 pm #52589wxlancerParticipantWanted to add some suggestions, haven’t yet read through this entire thread to see if they’ve been addressed but am referring mostly to your main first post.
1) I think the most glaring problem with ROTK was the AI. I recall a post on that older shenzhou thread by DragonAtma mentioning that you can change the hex values for other rulers to approach that of Cao Cao’s, but does that fully solve the problem of computer aggression? Obviously its reluctance to attack provinces of more than 400 soldiers is an issue, but is that hex value change enough to make these rulers actually try to win the game? I think passive computer players (especially once the game state “matures”) is by far the single biggest problem that ROTK had. Quite curious as to how you’re handling the AI aspects of this project!
2) A more minor suggestion inspired by your battle changes, notably your suggestion that wind patterns and therefore fire/etc. become more realistic. Might seasonal factors be implemented into the battles? For example fire might be harder to set in winter or regional/seasonal rains might discourage fires but, these conditions might lead to increased consumption of supplies for attackers. Even commanders in modern times have had to account for conditions in their campaigns!
Again, let me know how/if I can help you guys.
October 18, 2013 at 3:28 am #52590unfyModeratorHi wxlancer! :)
Primarily, I want to wrap up the following two things before starting to get a lot more input on things:
* “GUI Config” = gui configuration via text file, at the moment only caring about provincial stuff
* gui -> performs actions (so that it actually does things heh)The game is primarily split into two or three screens / concepts / whatever. Provincial stuff and battlescape stuff. Maybe also the ‘map of china’ stuff. I’ve been focusing nearly entirely on the Provincial stuff and the data table stuff as that’s where 90% of the game play occurs.
I’ve got the battlescape maps borrowed from the original and laid out. Nothing else, really. It was just a starting place for looking at things albeit not gonna really use or something.
The last bits of stuff I’ve been fiddling with has been removing a lot of the hard coded stuff from the game engine (such as the names of attributes for generals / provinces), as well as making the GUI semi-scriptable via config files as well. This way ourselves (or modders) can make huge changes to the game without needing to recompile it from source code etc.
If you’ve read through the 20 some pages of posts in this thread, you’ll note that the pattern is generally everyone throws out ideas (including myself), and then I go about vetoing a fair amount of them or reducing them in scope. Many ideas are simply wwwwaayyyyy too complicated to implement for first run / version of the game.
That said…
The AI will definitely get a boost (I hope at least). It should take into account how proficient folks are at war in addition to soldier count. Should also attempt to do better at figuring out how vulnerable it’s current province is too. Atma’s changes were relating to a ‘decisiveness’ stat / attribute – which vanilla rotk2 obviously uses for aggressiveness and stuff.
The battlescape fire stuff does need to do better indeed. Atma has thrown out that your location (prov 1 vs prov 34) should affect firestuff too. Also not sure if to keep the ‘once per batle guaranteed fire start’ thing or not.
October 19, 2013 at 2:12 pm #52602wxlancerParticipantSounds great unfy! I don’t know much when it comes to code but it seems like you’re still focused on cracking this open and basically reverse-engineering what you discover – the plan being to add some general changes, but not until after you get underneath all the layers and make it possible for other modders to easily do so as well. Obviously the super-specific stuff is low priority. Again, this is exciting stuff. I haven’t much to say but keep up the good work!
October 19, 2013 at 4:31 pm #52603unfyModeratorwxlancer:
Actually – there’s not really any reverse engineering going on at all really. For some things we might pull some information from what others have learned and posted, but most of what’s going on is just gathering insight from what folks have learned as they have played the different ROTK’s (with a focus on 2).
What I’m currently doing at the moment could be somewhat the same as writing a generic ROTK-style game engine that is highly configurable by anyone via text files. This means that making mods or tweaks is easy and doesn’t require folks to have a compiler or programming experience (although it does help to know some things about programming).
Generals, what kind of attributes they have (name, affiliation, int, war, str, cha, pol, cuteness, fuzziness, alcoholism, etc), and what those attributes actually are will all be configured by text files. Same goes with provinces (rice, gold, land, flood, etc).
And, while having attributes easily define-able by folks in a text file is handy – for these attributes to be handy, you also need to be able to control what / how the game displays things. This is where the text mode GUI configuration comes into play (which I am taking a small break from to write this reply heh). Anyhoo, this way you can say “display this province’s “rice” stat here” in a text file and it will do it. Add a “kitten orphanage” attribute to the province, don’t forget to update the gui config to display it too! And update the math formulas to make use of it!
Kind of like the old text adventure SCUMM engine games had a generic ‘engine’ that drove them all.
This text file configuration stuff does place some limits on what can be done, but opens up a world of opportunity for folks to work on the project without needing to buy a compiler license and stuff. It also means that if someone wanted to, they could design an entirely different game – provided they change out the graphics, sounds, math formulas, gui config, etc.
Atma and I have been working on a wide range of topics relating to the game, including things that are definitely not apart of “Vanilla” ROTK2. As such, there will undoubtedly be two simultaneous releases for this project – something that is more true to the original, as well as a slightly different game that is more complex.
There is still huge amounts of work to be done concerning AI, existing ‘vanilla’ features, new features, formulas for different things, etc. The very first thing that has to happen is I *HAVE* to get this text gui stuff written with some basic / beginning functionality put in. At that time, folks can look at the internals and get a feel for how things work and start fiddling. Hopefully many things will be able to be done without me getting involved too much, but undoubtedly there will be things that require me to write some special code etc.
And while writing this out, Atma and I have … made my life slightly more complicated yet slightly easier. We’ve been discussing an EventCauses and EventEffects language construct for the text / semi-scripting config stuff. The GUI system will actually fire off individual EventEffects as it’s action system. This way all the grammar and language of configuration again gets reduced to a single “language” as it were (events such as flooding, yuan shu declaring himself emperor, or giving 100 gold to a general, or improving your land values).
The good thing about the above paragraph: earlier in the thread we discussed if searching for people / generals should spawn random guys, or maybe cover a wider variety of provinces, etc. With the Event language, then modders can choose how it works without requiring me to write special code for every little thing :).
October 20, 2013 at 11:47 am #52604unfyModeratorSomething semi-unconsidered…. and something I hate having to do.
I already had a bunch of button code written that’s fairly competent. It’s now gotta be either simply removed or adapted into “GUIConfig” life as ‘labels’ :(.
I *hate* having to do this kind of thing, it’s just irritating to have to adapt / rewrite perfectly working code heh.
October 21, 2013 at 5:43 pm #52605wxlancerParticipantThanks for the clarification unfy, makes a hell of a lot more sense to a programming illiterate like myself! And all I can really say is, nice work and keep on trucking.
October 21, 2013 at 8:14 pm #52606DragonAtmaModeratorDon’t worry; I suck at programming myself!
So events will be designed in a way that even a nonprogrammer can make them.
-
AuthorPosts
- You must be logged in to reply to this topic.