Full concept MODIFICATION of S.T.A.L.K.E.R. Call of Pripyat that touches every game aspect including textures, sfx, music, weapons, A.I., items, weather, mutants, difficulty and much much more!

Forum Thread
  Posts  
Call of Chernobyl integration - technical questions (Games : S.T.A.L.K.E.R.: Call of Pripyat : Mods : MISERY : Forum : General subjects : Call of Chernobyl integration - technical questions) Locked
Thread Options
Sep 30 2015 Anchor

On CoC's main page, they state that it's running on Call of Pripyat's engine. This has me truly excited about the idea of integrating as much of Misery's feel into CoC.

But it seems the general consensus to that idea is a big fat "No, go away".


I would like to know some of the technical reasons as to why this would be a huge job.

1. If I spent enough time merging some scripts, weapon stats, and AI, could I eventually accomplish it, or would I need the extensive ability and knowledge to reverse engineer .dll's?

My number one priority is to bring the overall difficulty from Misery to CoC. Which I'm sure involves adjusting many different aspects to achieve. For the time being, let's ignore the visuals/weather/blowouts.

2. Is there a MAJOR black/white difference between the core gameplay mechanics that CoC uses, and Misery? Or is it just a bunch of tweaks to the HUD, weapon stats, item scripts, and general scripts?

3. If there isn't a major difference, then on a scale from 1 to 10, how difficult would it be to merge Misery's core gameplay mechanics into CoC?

A good example of what I'm referring to in terms of 'core gameplay mechanics' is with artifacts. In CoC, artifacts have the "Bleed -1, Radiation +2". Whereas the same artifact in Misery would, of course, have many detailed stats.


Any feedback and discussion would be much appreciated. I feel passionate and hopeful about contributing to the potential project of bringing the Misery experience to CoC.

jasper34
jasper34 MISERY PR Lead
Sep 30 2015 Anchor

The Open Xray engine used in CoC is not 100% compatible with scripts and methods used for some Misery features. Since the team is highly focused on completing 2.2 we will not devote much attention to CoC at this moment. We (I at least) would love some feedback on it's gameplay. What are the harder locales, most fun tasks, etc. After 2.2 is released we will give it all the attention it deserves and we will evaluate where we want to take Misery from there.

How difficult? Anyone not experienced in the programming involved in executing Misery on vanilla xray engine would find it extremely challenging figuring out why things didn't work and how to fix them. I'm no programmer/coder, I sure couldn't do it. It will take some time, but I'm sure we will get there. We won't even have time to properly check CoC out until we finish 2.2. Free time is so limited by real life since the entire team have real jobs and families too.

Player feedback will be invaluable so play until 2.2 comes out and let us know what you like and dislike :D

kcs123
kcs123 Just Kcs123
Oct 1 2015 Anchor

But it seems the general consensus to that idea is a big fat "No, go away".

Don't know why, but whenever someone mention this in CoC comments it quickly get quite a lot downvotes. It is either they don't like or don't want such merge to be done or it is general opinion that is too difficult to be done.

Like Jasper mentioned, team is focused to finish 2.2. first before put CoC/Misery merge in consideration. However, like any other Stalkers out there CoC is not left unnoticed by MDT members. How difficult such merge can or can not be is hard to tell until you try to do it.

First, like Jasper answered, CoC use open x_ray engine, but further more it is no longer just open x_ray engine, Team Epic have made quite a lot of modifications that include bug fixing left from vanilla Stalker Call of Pripyat game engine. Besides bugfixing they have included a lot of new features, like fixed slot re-equip, item multifunctional use, donate button etc.

They didn't stop there. Scripts were also better organized, for example AI functions are no longer in one script file, it is separated trough several files for better understanding and easier debug/tweak perhaps. They also fixed inconvinient function naming, to have some consistence, I already mentioned this in comments in CoC page: "isWeapon" function is now capitalized as "IsWeapon" to have same code scheme as other functions: "IsStaler", "IsOutfit" etc.

Also bind_stalker.script is separated in two files. All this was done for easier more convinient moding in future, it will be easier to include/exclude some of features further down in any mod development based on CoC. There is plenty more noticable changes towards better handling of just about everything that is related to game.

But all those changes have it's price. Due to mentioned changes in scripts, you no longer can just drop files from other mod in gamedata folder and say - I'm done - I have merged other mod into CoC. For example, in some other old mod or part of mod you have some function override in bind_stalker.script. You may also have some new function there too. Those functions could be called from some other script file. When you want to make function call from other script file you need to write something like this:

bind_stalker.my_function(my_variable)

And guess what - in CoC those functions must be in "bind_stalker_ext.script" And you can't just search-replace that part of text in all files either, some function call may must stay in original bind_stalker.script. So, you need to more/less merge everything "manualy" only one part of scripts/mod feature at time.

In conclusion - it is not impossible to do such merge, but could be time consuming, time that Team Epic didn't have. Also some of Misery fetures is not for everyone taste. CoC was made to be base for all kind of different mods out there, not just for hardcore Stalker fans, so they excluded Misery features out of CoC nad time saved due to that decision was spend on other cool stuff.

--

Oct 1 2015 Anchor
kcs123 wrote:

But it seems the general consensus to that idea is a big fat "No, go away".

Don't know why, but whenever someone mention this in CoC comments it quickly get quite a lot downvotes. It is either they don't like or don't want such merge to be done or it is general opinion that is too difficult to be done.

I'm guessing it's because Alundiao is a former member of MISERY team, and from what I understand there was some bad blood when he left.

ElCaz4dor
ElCaz4dor The Darkest Recon
Oct 1 2015 Anchor

Don't know why, but whenever someone mention this in CoC comments it quickly get quite a lot downvotes. It is either they don't like or don't want such merge to be done or it is general opinion that is too difficult to be done.

I think you already know, but the Gunslinger section is more like Anti-Misery section. Any comment with the word Misery in it gets a lot of downvotes...


--

"What, still here?" - Merc Knight Gael

Oct 2 2015 Anchor
kcs123 wrote:

But it seems the general consensus to that idea is a big fat "No, go away".

Don't know why, but whenever someone mention this in CoC comments it quickly get quite a lot downvotes. It is either they don't like or don't want such merge to be done or it is general opinion that is too difficult to be done.

I know there's a lot of drama behind the scenes with ANY modding community. For example, Skyrim's modding community blew up with arguments after someone found malicious code in one of the large and heavily-supported mods. The mod dev deliberately made players games crash when it detected his 'rivals' mod...

Why make it affect the players/supporters? Egg his house, shit in a bag and light it on fire at his doorstep, ANYTHING. Just keep us out of it.

kcs123 wrote:

bind_stalker.my_function(my_variable)

And guess what - in CoC those functions must be in "bind_stalker_ext.script" And you can't just search-replace that part of text in all files either, some function call may must stay in original bind_stalker.script. So, you need to more/less merge everything "manualy" only one part of scripts/mod feature at time.

Skimming through the files you mentioned is giving me a better idea of the difficulty of this project.

So for example, if I wanted to fully transfer over the 'mine' explosive from Misery:

		if(s_obj)and(s_obj:section_name()=="mine")then
      		alife():create("mine_blow",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id())
    		end

Bring this over to bind_stalker_ext.script, bring over all texture/model files, and incorporate (in the NPC sheets) the chance for NPC's to have them in their inventory upon death.

Without having to go into too much detail, could this work? Or is there something major that would be missing or incorrect?

I understand that, even if this did work and function properly, that it is one out of ~10,000 lines that need to be manually moved around.

Edited by: Booona

kcs123
kcs123 Just Kcs123
Oct 2 2015 Anchor

I don't think that anyone from TeamEpic downvote comments, they were quite open to discussion. They were even included some of suggested features in game engine in last phase of development. There is no trace of any "bad blood" in MDT development forum, if there is any, that could be only trough PM that I don't have info about it. There is oposite opinion expresed on forums between Alundaio and other community members, but I would not call that "bad blood".

Someone could easy say that there is "bad blood" between myself and Trojanuch, for example, as we often have oposite opinion on some subject, but we cooperate just fine. Oposite opinion is not always "bad blood" and can lead to even better solutions on some problem when it is looked from oposite point of view.

So, I think that other users from community downvoted such comments when someone mention Misery and CoC in same sentance.

Anyway, back to topic. Mine placing is one of trickiest features to be properly imported to CoC. One reason is because in CoC they use modified upgraded mine placing script that calculates if NPC seen actor when he was placed mine, there is also time delay when mine is placed and when it become active. Those features should handle in theory two main exploits: actor can't trigger his own placed mine and there is no hostile reaction towards actor if some NPC steps on mine.

I'm not even sure if mine placing feature even works properly in CoC without some further script modifications. What makes things even more complicated is that in Misery we have several other items that is used for mine placing, not just one that is considered in CoC. Some of further modification trough several scripts is probably needed to properly merge such feature in new engine. Not even considered different mesh types/object properties and textures that need to be re-invented for proper merge.

Anyway, it is not easy task, but it is not impossible to be done. Quite a lot of tedious work is required for everything to put in right place, not to even mention testing after each phase to see if everything work properly and some just merged feature is not broken something else that previously worked.
Currently, like it is already mentioned, MDT main focus is to publish Misery 2.2. before making any decision to merge Misery features with CoC. Weakest point of Misery is engine stability and lack of new maps and quests, so merging CoC and Misery is certainly something to put in consideration for further development.

--

trojanuch
trojanuch Gameplay lead
Oct 3 2015 Anchor

I'll only reply regarding the 'bad blood' - guys we know each other for like 6+ years and we've been doing togheter various projects in various personal configurations and way below the current popularity of CoC or Misery. Fact that something didn't go smooth at some point does not in any way deny the fantastic, creative efforts which for example me, alun, Swartz, Cromm or Beacon commenced togheter in pass.

So no - there's is no 'bad blood' and never really was - maybe some minor frictions at most. We're all in this togheter and current strong standing of Stalker modding scene on ModDB and other places is something to trully rejoice and feel proud of, rather than looking for possible grudges from past long gone.

So yeah - we're all like one big 'family' of serious, mutually respecting ppl who devoted hundreds of hours into these games and this is how it should be looked at :)

Regarding the merge of Misery + CoC - it's neither difficult (but as kcs said effort-costly) to do, nor something we'll be hesistant to do for 'idealogical' reasons. So yeah - it's definately gonna happen - what form / scale however it will take in the end - future will tell.

For now - getting out the 2.2 is the focus of the team.

Edited by: trojanuch

--

Oct 3 2015 Anchor

I appreciate the responses. Good luck on the 2.2 release. Looking forward to playing it.

I'll be digging around in the files and testing out different stuff in the mean-time.

Edited by: Booona

Oct 3 2015 Anchor

If anyone script-savvy wants to take a look at this, I found a massive list of changes on CoC's forums, I can only assume that a lot of this will probably conflict with MISERY and will need to be changed for it to work.

Github.com

Alundaio
Alundaio Scripting God
Jan 12 2016 Anchor
I'm not even sure if mine placing feature even works properly in CoC without some further script modifications.

It works fine, you can buy mines from traders and it works much better than Shokers version which I assume is in Misery.

Regarding the merge of Misery + CoC - it's neither difficult (but as kcs said effort-costly) to do, nor something we'll be hesistant to do for 'idealogical' reasons. So yeah - it's definately gonna happen - what form / scale however it will take in the end - future will tell.

A 'rough draft' of CoC+Misery sort of exists, doesn't it?

CoC+Misery merge you will have to cut features from Misery that already exist in CoC or update CoC where these changes diverge. Don't forget I have a lot of nifty tools in CoC and on my repo here, Github.com. The most time consuming thing would probably be the items and OXRTextureTool will make dealing with icons a breeze. I would probably help if I'm 'active', you know how I get.

@ 'bad blood' - My disappearance from MDT was not related at all. I left the team before Misery 2.0 was released without warning. There was only a public scuffle in the Misery 3.0 thread where, upon my return, was angry to see they wanted to offer a mod for donations. Trojanuch and I were mad at eachother for a short while. There were a few reasons, I disappeared on him and I felt he blamed me for the buggy quality of 2.0 so I blamed him back. I was also jealous of not being recognized when Misery got MOTY, because after my rants in that thread they pulled my name off the front page. CoC was a way to make up for my mistake of abandoning Misery 2 during beta and improve all the things I've wanted to finish.

We apologized to each other privately quite a few years ago. Trojanuch and I worked on some of the most popular mods for Stalker. I most certainly respect him. A lot of what I created was done at his requests and to make his visions come true. All these other guys in MDT I barely know and don't believe they were around when I was, except N.Aaroe, Loner1 and Ponney


Edited by: Alundaio

--

MDT's ex-scripting god. Now deserving the title "Scripting god". Forum title given by LoNer1
kcs123
kcs123 Just Kcs123
Jan 12 2016 Anchor

A 'rough draft' of CoC+Misery sort of exists, doesn't it?

Very rough draft that almost does not use much of features that CoC offer and will be quite a lame if it is published in that way.
For example, Misery still use "hacky" way for item multiple usage, that need to be rewritten and use much better multi usage item system provided by CoC.
This is not difficult, but it is tedious and time consuming due to number of new items introduced with Misery.

Regarding mine placement, like I mentioned in post above - couple of months ago, managed to get it to work to some degree. IIRC it was not enabled by default trough CoC vanilla script, it was needed to be enabled trough bind_stalker_ext script (writing this from top of my head, long time was passed since I dealt with those).
I managed to properly place CoC item for personal mine and one that comes in Misery mod (same look, different spawn section names). Proper item is spawned on ground, but it seems that it is unable to explode, either by NPC or by actor walking over it after couple of hours passed since initial placement.

There is also "big" problem with util21 scripts. Those are used to spawn item and set desired condition value for weapons/outfits trough packet data altering.
Those scripts no longer load properly in CoC, so some other type of workaround have to be made for that part. This is essential for dismantling feature that will be introduced to public with Misery 2.2. - Plaargath work on that. Some help with this will be much appreciated.

Some of things might already being sorted out with recent CoC patches, but I was unable to check out those. I didn't even have opportunity to say thanks for help on teamepic forum, real life issues kicked in, barely have opportunity to do any coding since then. Plaargath also have some issues that prevented him to finish his dismantle features, not much things left to do, but when you have almost no free time for coding it prolonged 2.2. release much more than planed.

As for me, I also run out of free time, pretty much few last months in a year and month or two in new year are always stressful for me in real life, so I'm not much of help to team in that period. Hopefully we will be able to release 2.2. soon and put more effort to Misery + CoC merge.

Thanks for offering help Alundaio, it will certainly be needed when get back on merging those two mods.

--

Jan 12 2016 Anchor

Holy shit, MISERY + COC. It's the perfect combo - the huge amount of maps / places to go from COC + the deep and immersive, fleshed out MISERY experience.

Ohh boy.

Jan 13 2016 Anchor

Trying to port Misery to CoC is like trying to go over from mysql_<something> to mysqli_<something> in new versions of PHP after not having coded in a while. In both occasions, some things are the same, others different, others the 90 degree kind of different. It is not very hard, it's just annoying and troublesome to have to port Misery to CoC that some people would rather not do it. Besides, porting Misery to CoC would be a bit easier(and harder on some sides) if people just re-wrote Misery from scratch. Which I think not many people would have the, what, patience?

I'm not trying to be negative, but think about this:

Designers would have to make Misery textures for TWENTY SIX(IIRC) maps, scripters would have to move, change or re-write scripts, and other people will have to merge or cut off some things that are analogous to oil on top of moving water.

In short, it's not impossible, but it requires a lot of trouble. I'm not sure about the case of modders, but as someone who has the hobby of coding a bit in the web, it's very annoying to change major things just because you're on a different platform. And if it will be done, it will probably require the effort of both teams, and the supervision of people who know much about the barebones of both mods.

kcs123
kcs123 Just Kcs123
Jan 13 2016 Anchor
chesseeater wrote:

Trying to port Misery to CoC is like trying to go over from mysql_<something> to mysqli_<something> in new versions of PHP after not having coded in a while. In both occasions, some things are the same, others different, others the 90 degree kind of different. It is not very hard, it's just annoying and troublesome to have to port Misery to CoC that some people would rather not do it. Besides, porting Misery to CoC would be a bit easier(and harder on some sides) if people just re-wrote Misery from scratch. Which I think not many people would have the, what, patience?

I'm not trying to be negative, but think about this:

Designers would have to make Misery textures for TWENTY SIX(IIRC) maps, scripters would have to move, change or re-write scripts, and other people will have to merge or cut off some things that are analogous to oil on top of moving water.

In short, it's not impossible, but it requires a lot of trouble. I'm not sure about the case of modders, but as someone who has the hobby of coding a bit in the web, it's very annoying to change major things just because you're on a different platform. And if it will be done, it will probably require the effort of both teams, and the supervision of people who know much about the barebones of both mods.

Pretty much like this. There is no shortage of passion and willpower in MDT for doing this. There is shortage in free time for all mentioned tasks, but as long as there is passion and willpower there will be a way to accomplish it. Can't say anything how long community will need to wait. Priority No.1. is to release Misery 2.2. so we can focus in merging those two mods with more people who can be involved in it.

--

Jan 13 2016 Anchor

Is it possible to setup kickstarter funding project to gather more resources?

jasper34
jasper34 MISERY PR Lead
Jan 13 2016 Anchor

You can't get paid for doing mods on corporate intellectual property. Team members lack personal time for modding, that's the only resource we need.

Alundaio
Alundaio Scripting God
Jan 13 2016 Anchor
chesseeater wrote:

Trying to port Misery to CoC is like trying to go over from mysql_ to mysqli_ in new versions of PHP after not having coded in a while. In both occasions, some things are the same, others different, others the 90 degree kind of different. It is not very hard, it's just annoying and troublesome to have to port Misery to CoC that some people would rather not do it. Besides, porting Misery to CoC would be a bit easier(and harder on some sides) if people just re-wrote Misery from scratch. Which I think not many people would have the, what, patience?

I'm not trying to be negative, but think about this:

Designers would have to make Misery textures for TWENTY SIX(IIRC) maps, scripters would have to move, change or re-write scripts, and other people will have to merge or cut off some things that are analogous to oil on top of moving water.

In short, it's not impossible, but it requires a lot of trouble. I'm not sure about the case of modders, but as someone who has the hobby of coding a bit in the web, it's very annoying to change major things just because you're on a different platform. And if it will be done, it will probably require the effort of both teams, and the supervision of people who know much about the barebones of both mods.

Most of the textures used in Misery for ground/level are derived from Cromm Cruac's Aboslute Nature mod, specifically the 'dead' textures. Cromm has made textures for all three games in the series and you can easily get Misery's 'look' in CoC just from downloading Absolute Nature. One our programmers for Open X-ray, Avoitshin, was a huge Misery fan and he did just that months before CoC was released and even wanted to make a Misery + CoC merge himself. But sadly he is inactive now. You are right about scripted features. They would need to be re-designed or re-implemented.

DesertEagleV wrote:

Is it possible to setup kickstarter funding project to gather more resources?

Well, dez0wave got around this by basically putting people's names in the game in turn for donation money to support their webhosting. It comes down to the ethics of whether that is right or wrong.

Edited by: Alundaio

--

MDT's ex-scripting god. Now deserving the title "Scripting god". Forum title given by LoNer1
Feb 10 2016 Anchor

Shouldn't there be an end goal for just a CoC+Misery combo?

Like, adding a few Game end optional "If's"


If reached 1 million cash = offer to end game

If....I dunno, just a few other endings?

jasper34
jasper34 MISERY PR Lead
Feb 10 2016 Anchor

Why would anyone stop playing if they are happy with free play? Certainly if they tired of it they would be capable of ceasing to play or starting over at will.

Feb 10 2016 Anchor
jasper34 wrote:

Why would anyone stop playing if they are happy with free play? Certainly if they tired of it they would be capable of ceasing to play or starting over at will.


No I mean, a goal. Like, I go to the Zone. I do what I accomplished and I can leave or stay. True, I can just stop playing. But Having a goal gives me a reason to play in the first place =D


It explains motivation. A bandit is not born or lives as a bandit for the sake of being a Stalker target lol He wants quick/easy money! So he robs people. =)

jasper34
jasper34 MISERY PR Lead
Feb 10 2016 Anchor

A goal beyond killing bad guys and accumulating wealth? We have not even begun to consider CoC. What will the advancement system be, will there or will there not be a linear story, etc. The biggest complaint about Misery is that we still have to play the storyline. Short stories surrounding mini missions would be vastly preferable to me over a long linear story.

What kind of 'achievements' would you like to accomplish? There is a thread for submitting ideas.

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.