Im-dex / xray-162

XRay engine 1.6.2 (S.T.A.L.K.E.R: Call of Pripyat) evolution
Apache License 2.0
48 stars 12 forks source link

A Number of issues. #55

Open steve90k opened 6 years ago

steve90k commented 6 years ago

Hi, I'm new to github, so if I post this in a non-useful way, then let me know and I will remove the post. There are a number of forks related to this project, but it's difficult to determin what's been done to it, and whats been done to the forks. For this reason I will list a number of things which I feel are important.

  1. adding a releaase of the enigine, so people can download new versions quickly for testing. It's pain in the ass to compile the engine everytime.
  2. Finalise the 64bit porting. Many people are happy to help with this. there is no shame in accepting help from others, most of the hard work has already been done, and opening up a little more to the community wont harm you, and it may even increase the speed of the development.
  3. Add support properly for DX11.
  4. Change the game ID tag limit to something 4-5 times bigger. this means heavy mods will run better, and people will not experience CTD's when trying to run Warfare games.
  5. Change the buttons for draging of corpses. SHIFT+F clashes with the looting inventory screen. this is very stupid since buttons 8,9,and 0 do nothing.
  6. Add multithreading to reduce lag. add support for upto 8 cores if possible, and use other cores for part of the AI. Spread the AI across cores if possible. if the gamers CPU only has 2 cores, then the game should revert back to using the 2 cores. If people have 8 cores, then they should all be used.
  7. Add Alundios AI.
  8. Update some of the changes from other projects. there is no shame in this either. the reason the projects are open is so that people can develop their own projects quickly and easily.
Im-dex commented 6 years ago

Hi @steve90k, thanks for your feedback.

adding a releaase of the enigine, so people can download new versions quickly for testing. It's pain in the ass to compile the engine everytime.

It has already planned as a part of #30

Finalise the 64bit porting.

64-bit porting is complete. Of course, it may contain some bugs, but it is stable enough.

Many people are happy to help with this. there is no shame in accepting help from others, most of the hard work has already been done, and opening up a little more to the community wont harm you, and it may even increase the speed of the development.

The project is opened for everyone, so I don't understand properly what you are meaning.

Add support properly for DX11

The graphics improvement is not prioritized feature for me, but I think it could be done in the future.

Change the game ID tag limit to something 4-5 times bigger. this means heavy mods will run better, and people will not experience CTD's when trying to run Warfare games.

I don't know what is "game ID tag" and why it should help heavy mods will run better. Could you explain?

Change the buttons for draging of corpses. SHIFT+F clashes with the looting inventory screen. this is very stupid since buttons 8,9,and 0 do nothing.

Totaly agree. It should be done here #56

Add multithreading to reduce lag. add support for upto 8 cores if possible, and use other cores for part of the AI. Spread the AI across cores if possible. if the gamers CPU only has 2 cores, then the game should revert back to using the 2 cores. If people have 8 cores, then they should all be used.

It has already in progress, see here.

Add Alundios AI.

I didn't think about AI yet, but it will be the next global feature after the multithreading complete.

Update some of the changes from other projects. there is no shame in this either. the reason the projects are open is so that people can develop their own projects quickly and easily.

First of all, it is not so easy and requires a lot of time to transfer and test changes. Also, there is no so many repositories which contain a lot of useful changes after all. But it doesn't mean that I don't like changes from other projects, contrariwise, I always welcome for PRs with such kind of changes.

steve90k commented 6 years ago

Change the game ID tag limit to something 4-5 times bigger. this means heavy mods will run better, >and people will not experience CTD's when trying to run Warfare games.

I don't know what is "game ID tag" and why it should help heavy mods will run better. Could you explain?

Yes, if you add too many mods and NPC spawns to the game, the game will crash. We had this problem with COC warfare. See here.... https://www.reddit.com/r/stalker/comments/5tgol5/please_help_with_coc_with_some_addons/

Is we increase the ID limit, we remove the problem.

  1. I will speak with Alundio about spreading AI across cores :)

  2. This is also a very good idea...

https://github.com/revolucas/CoC-Xray/commit/df908c02d9948ebeadd4471728cf073e94c619b5

As with help, I meant allowing other people to work on the project, but this can be achieved with commits, so maybe it is not too important..

Thank you for your reply :)

ghost commented 6 years ago

Finalise the 64bit porting.

I can confirm that x64 is fully working. Radium uses up around 6gb of RAM with this repo under full texture load, so it is allocating resources properly. In terms of bugs, I recently played this repo through until the end of the game. There were a few bugs but nothing major. This repo is ready to use.

Add support properly for DX11

@Im-dex I don't think he means adding new features, I think he means fixing the existing flaws in DX11 (no dynamic lights for torch, campfire, anomalies), as well as the UI blurring. I fixed all of this before, I'll do a pull request with this stuff I suppose. The only outstanding problem that DX11 has that nobody has been able to fix is sun shafts. They work with maximum sun quality, or if MSAA is enabled, but otherwise they don't even appear. But I think we'd need a good rendering expert to figure this one out.

steve90k commented 6 years ago

That's exactly what I meant Swartz. I think adding alundios AI should be a case, of copy and paste. The AI from Alundio is legendary. I honestly don't think anyone will ever make a better version. As for the stealth side of things. I may see if I can make up a good set of tweaks to see if it can be implemented better. but of course we all know that the stealth side of things was always an issue in Stalker. Regardless, I did mange to tweak the vehicles in LA, and managed to make them handle far better. (allas, the cars were also another known issue).

steve90k commented 6 years ago

Sorry guys.. I closed the issue and re-open ed it.. I'm still new to github. One thing did spring to mind though... the addition of the nvidea PhysX files. I know this was added to COC a few months ago. The dynamics to COC worked very well, and I would always recommend them. I also think a full spawn menu would benefit the game.

PS Swartz... is there anyway to PM you?

Xottab-DUTY commented 6 years ago

@steve90k Are you sure? CoC still uses ODE for physics. I don't see any of NVIDIA PhysX files.

steve90k commented 6 years ago

To be honest. I;m not 100% sure.. the last time I spoke with Alun, he said he was working on it. However It does bring about another important point. Is it really worth spending time on updating the engine, when a few weeks (or months) later, there is another "update" that comes along. In my honest opinion, I think resources should be spent on fixing existing problems, long before moving to "updating" other aspects of the code. At least this way there is a solid base to work from, instead of being in a constant state of "updating" the engine. Just my thoughts... As it happens I completely agree that multi-threading should be looked at first. this will be the biggest boost to the engine, and it would be "outdated" in a few weeks. so that part of the development is excellent. However ,I really do think the ID tag limit should be increased to make the engine warfare and future proof. Oh, I just found out that LA had something to do with physx, but i am 100% sure I was speaking to Alun about it...

Im-dex commented 6 years ago

@steve90k Nor COC nor LA doesn't have PhysX support yet. Afaik, only "Ray of hope" devs had announced PhysX integration. As for AI, I think it is still stupid and highly limited as in COC so and in the many other mods, not to mention default COP. All NPCs looks like the puppets instead of living character, stealth is absent at all (but some mods tries to do this just by disabling NPC hearing or reducing their field of view), so stalker's AI is totally outdated in its current state.

Xottab-DUTY commented 6 years ago

@Im-dex about object ID limit: I found in xrServerEntities/alife_space.h this: typedef u16 _OBJECT_ID; // Object ID Well.. If we change u16 to u32 will this be enough to increase the limit? What do you think?

Im-dex commented 6 years ago

@Xottab-DUTY I think no, it's not so much easy task at all. You should check all usages of that type (in the engine and utils) to be sure that it is correctly read/written to/from a file, also we still have net packets which use fixed length types, otherwise, the "type pruning" will be a big pain in the ass. P.S. Oh, and also we need some kind of versioning for the serializable types that use that type if we are want to keep compatibility with vanila.

steve90k commented 6 years ago

I personally think if the value is going to be modified, then it's far better to jump it to 64, or 128!!!. No point leaving it at 32 if theres a chance this work will need to be re-done in the future. One Problem, one (complete) solution. PS If I haven't mentioned this before, I would like to mention that moving and trading multiple items quickly is now possible (Also done by Alun) this makes selling large amounts of items far easier...and its really quick and easy to implement https://github.com/revolucas/CoC-Xray/commit/df908c02d9948ebeadd4471728cf073e94c619b5

jazzvaz commented 6 years ago

@steve90k I think you are not familiar with programming because jumping to 128 is not possible. u32 will be more than enough. Talking about Alun, his is going on changing game play path, while here it is bug fixing and improving.

revolucas commented 6 years ago

You weren't talking to me about PhysX. I make this very clear on my repo:

The goal of this project is to expand the moddability and features of the engine; Fixing issues or bugs when necessary. It is not to reshape or rebuild X-Ray using modern technology.

Most of changes are specifically for my mod. They are not intended to work for anything else, so you can't just use my AI changes. It's years of mostly scripted changes that have evolved over time as a small mod and shaped into different larger mods such as Misery and CoC. The new AI schemes would need recreated to work with vanilla game and it's not something I'm interested in ever doing.

I will say that for anyone with the goal of improving and optimizing the base game, several places in the lua scripts in vanilla game need to be reworked. gulag_general script needs rewritten to remove the excessive use of concat, which will improve loading times and smart_terrain/simboard/sim_squad_scripted scripts need rewritten to not do unnecessary iterations trying to assign jobs every update which has very noticeable impact on FPS.

About Warfare, I think I did mention this is a problem with their mod. They probably have bug with respawner because it's very hard to use up all IDs or need to implement some sort of spawn cleanup for objects on far away levels.