Jump to content

InSayne Companionship - An NPC companion.


MisterInSayne

Recommended Posts

Update on the attack system:

 

I've tried different ways of making them attack, all of them resulting in the same crash error, or even more extensive crash errors of the same kind...

 

This means I'll need to set up the attack animation and code the hitting things system from scratch aswell... *sigh* I was told most of the npc's coding was still working and there... Hadn't thought the truth was this far off. :/

 

Check ISChopTreeAction.lua

Link to comment
Share on other sites

This means I'll need to set up the attack animation and code the hitting things system from scratch aswell... *sigh* I was told most of the npc's coding was still working and there... Hadn't thought the truth was this far off. :/

 

 

There is a good reason we didn't persist with the NPCs on the move to the big map, and all the time building on IsoPlayer and other systems without NPCs, it would never be a case of flicking a switch and them being there. We specifically removed them because they wouldn't have worked with the next build without a ton of work, work we deemed a waste due to them needing rewriting to live up to our promises.

 

Also for full disclosure the animation update build has such radical changes to the IsoPlayer / IsoGameCharacter classes, your mod will find it very very difficult to survive the transition to the new animation system I'm afraid. IsoSurvivor won't be able to work with the game without extremely heavy changes. I've completely removed it from my codebase as it would require so many changes to compile, and the new NPCs use IsoPlayer not IsoSurvivor. Though that build is a while away yet.

 

Just to apologize but the nature of this mod, and the nasty comments directed toward us that will ensue, will push us to defend ourselves against some more trolly elements, and in that we may need to somewhat belittle what you've done to an extent highlighting the fact you're enabling our old code, to those who don't realize you're using our existing code and think we've been outdone by a modder and are incapable of releasing NPCs ourselves. It's shitty to get forced onto the defensive and this is something we'd always try and avoid, but we need to defend ourselves from this stuff. But don't let this imply we're not impressed with what you've done or hoping you make a big success of it. Either way it's really cool to see and hope to see more from you in the future. If this mod doesn't overcome the issues you're hitting, you're clearly one to watch in what you do next  :) <3

Link to comment
Share on other sites

In preparation for the unhappy post I've heard is incoming here.

 

We put a TREMENDOUS amount of work into making this game as moddable as possible. We also went easy on our rules about decompiling the source code despite it opening us up to all manner of unpleasant things. Please don't make us regret that by modding causing all this extra friction and headache. Look at just one small part of our history of mods:

 

Farming: Integrated into game and dev brought onto team.

Mapping tools: Integrated into game and dev brought onto team.

Erosion + Radios: Integrated into game and dev brought onto team.

Lua support

Workshop support

Creative mode

 

We bend over backwards to support, promote and help our modding community, the vast majority of the programming team coming directly from that same mod community, and no one could ever realistically claim we're anything but community and modder focused. The one time in the history of our mod community a certain creation is somewhat controversial and, despite everything, has the ability to genuinely hurt us via people's kneejerk assumptions, (not helped by the lack of clarity on how much of our code it uses) increasing the load on our moderators and making the remaining NPC dev just that extra bit painful, and we act a little wary or with frustration at it despite still wishing you the best of luck, yet because I've had to defend myself against someone saying 'Got to laugh when NPC's have to modded in because devs can't be bothered.' and even apologize for the need to do that, now we're the bad guys who don't support the modders.

 

Today is one of those days I wonder if its worth it.

Link to comment
Share on other sites

" I've had to defend myself against someone saying 'Got to laugh when NPC's have to modded in because devs can't be bothered.' and even apologize for the need to do that, now we're the bad guys who don't support the modders. "

i know it's difficult to see your creation, or any part of it, scoffed at, belittled, or attacked, Sir, but haters gonna hate, and trolls are gonna troll. The keyboard warriors are going to continue to make trolling comments, and then sit and smugly smile, nod to non-existent friends, and do the "Superior dance" because they made someone else's day just a little bit worse. Shake it off, Boss, Shake it Off. I applaud the time anyone who is modding PZ  has put into it, the love and effort, and that's truly some of the great things about this game- the modders who care enough to try, and the Devs who benignly encourage it. I'd like to ask that we ALL just put on our "troll-blinders"- our "troll-blocking-sunglasses", and let the attention from the non-existent, nodded-to friend be the ONLY attention said trolls enjoy. :)

Edited by CaptainBinky
Repaired quote tags
Link to comment
Share on other sites

 

This means I'll need to set up the attack animation and code the hitting things system from scratch aswell... *sigh* I was told most of the npc's coding was still working and there... Hadn't thought the truth was this far off. :/

 

 

There is a good reason we didn't persist with the NPCs on the move to the big map, and all the time building on IsoPlayer and other systems without NPCs, it would never be a case of flicking a switch and them being there. We specifically removed them because they wouldn't have worked with the next build without a ton of work, work we deemed a waste due to them needing rewriting to live up to our promises.

 

Also for full disclosure the animation update build has such radical changes to the IsoPlayer / IsoGameCharacter classes, your mod will find it very very difficult to survive the transition to the new animation system I'm afraid. IsoSurvivor won't be able to work with the game without extremely heavy changes. I've completely removed it from my codebase as it would require so many changes to compile, and the new NPCs use IsoPlayer not IsoSurvivor. Though that build is a while away yet.

 

Just to apologize but the nature of this mod, and the nasty comments directed toward us that will ensue, will push us to defend ourselves against some more trolly elements, and in that we may need to somewhat belittle what you've done to an extent highlighting the fact you're enabling our old code, to those who don't realize you're using our existing code and think we've been outdone by a modder and are incapable of releasing NPCs ourselves. It's shitty to get forced onto the defensive and this is something we'd always try and avoid, but we need to defend ourselves from this stuff. But don't let this imply we're not impressed with what you've done or hoping you make a big success of it. Either way it's really cool to see and hope to see more from you in the future. If this mod doesn't overcome the issues you're hitting, you're clearly one to watch in what you do next  :) <3

 

 

The mod as is, is nothing but a concept show case, I called it the 'hello world' version for a reason.As I posted this version I clearly stated that it's only 1/10th of the code I actually have, and that it's just to showcase and for testing purposes, to give people a low level view of what it is. Since then I've noticed that indeed the IsoSurvivor is as good as a dead/useless object, the coding no longer supports it as is. And I'll change my approach for on it. I'll keep it in mind that the animation update build is on it's way, and will try finding a way which I'd guess could survive a change in that. Well.. that is if I decide to continue modding after this...

 

What happened on the steam forums wasn't a defensive reaction in the very least.

 

(further it's code I consider antiquated and badly conceived / written with numerous fundamental newbie misunderstandings about how AI work, which is why it was rewritten).

And followed by numberous indications of why you dev's are so much grandeur and better than 'just a simple modder'.

Let me just state, I do not condole what was happened on the steam forums. I was more than just annoyed by seeing what I woke up to reading the first few comments. But my god... Yes you've been doing this for 4 years, I only just started coding in PZ a week ago, no shit my coding isn't up to par with yours, that doesn't make it right to go offensive toward me, instead of defensive towards the concept.

This community on the official forums, aside from a few have been nothing but awesome and respectful, I do agree that the user base on the steam forums was lightly said, the exact opposite. So I do understand some of your actions, but I also think you went way too far with your statement, up to a point where I'm debating even continueing to mod for PZ.

This mainly because you as developers made one huge error. Us "Modders" aren't here to compete, challenge, or in any way "be better" than you guys, even if we are, or something we make does eventually outdo something the developers make, it isn't because that's what we aim for. We're here for the community, for our love for the game. We're here, because we love what the developers already made, and want to add to it. Not for self gain, we don't get paid, we do this for free, spend hours into work, research, etc, without getting anything in return, aside from either critisism from the users, or the occational praise from them. We modders deal with the same "why isn't this working" or "why isn't this implimented yet" or "can you make this" as you do, but for you it's your job.

And when the point comes that developers start critisizing modders, aka, people who get payed to do what the others do for free, that signifies a very dark and grim time to me. I don't critisize your coding, then unless it's constrictive critisism, don't you fucking dare say a word about mine, unless you do so to grant me to give you shit back for it in return.

I'm not as much angry about it being me that is attacked. I'm furious about your actions as developers and the concept of you attacking a mod and modder, where you should've been above that. It's childish, unprofessional and unneeded. Yes, I understand you needed to deal with it, but this was not the way. I am not your enemy, I never was, and never will be.

 

And then there is this sentence...

 

however that happiness will no doubt be trampled by reading 'modders are better than the devs' about a mod using 99% code I wrote myself.

Which is first of all so inaccurate it's outrageous. Even if you look at it from a point where you don't concider the back end of the coding in the test version, that same thing could be applied to every mod ever made. Second of all, you don't see the makers of Lua or Java come in and say the same about your game using 99% code they wrote. This whole statement is just wrong on so many levels.

 

This isn't about the NPC's, your reaction regarding that I understand. This is purely about your actions and choices as developers and community managers in this matter. Yes it's a sensitive topic, and yes it has a loooot of negativity around it. I understand that. And I completely agree this needed a defensive action, and that the steam community went too far. And yes, I agree you needed to do something to stop it becomming bigger, or have it run wild, get worse, etc. I fully understand that. But you took this beyond just the part where it's about the npc's.

 

I want to appologize for having something I created cause this much negativity from the users. I hope you understand that was never my intention, and that I myself acted with a level of caution I thought sufficed. Which it did untill it got out on the steam forums without my concent or influence. This project was never ment to replace the npc's we've lost, it was aimed to create something new. And if you read back on this forum you will see that all along the path of this the idea wasn't to just 'flip a switch' and make the npc's work again. I mentioned multiple times using the 'old' IsoSurvivor' object was a temporary setup whilst I learn more about how things work, and that this was never a permanent approach.

If you don't want your players to see it as black and white, without knowing the full story and route a mod took, or even what it means as a concept such as it being "Got to laugh when NPC's have to modded in because devs can't be bothered." on your par, don't mimic their behaviour. Because I for one am most hurt and saddened, that in your post, you show you're not any better than that guy was for saying that.

 

To whether I'll continue as a public modder is something I'll think through, and partly depends on how this goes from here, and on what your next step is.

 

To anyone that reads this that isn't part of this situation, I want to make clear that;

I appreciate the statement of Robert Johnson and the appologies made by Lemmy101. I am more than gratefull for the work the developers have done, and the amazing game they have made, not to mention, as lenny101 already pointed, the impressive support and work put into allowing mods to exist. I'm going to assume what happened is a one time thing, and will not ever happen again, and that we will all get past this. And I personally will give shit to anyone aside from me, that makes this a permanent mark on the developers astounding reputation on this forum and in their work. And I will defend the developers in this if anyone else says something about this. Because, as dissapointed as I am in all of this, I do understand that this wasn't their intend, and the urgency of the matter gave them little room to make certain this was the right choice as a response. We're all humans here, no matter what our position in this is.

If I wanted people to defend my point in this, or even if I wanted to retaliate, I could've done so. I choose not to, and choose not to post this on steam for this exact reason. So please, if you have an oppinion, you don't need to share it. We know, and it's better if this procedes calmly. Thank you <3

Link to comment
Share on other sites

I'm only the writer and don't really get all this modding stuff BUT I just wanted to make sure you realise that when Chris writes this: 

 

(further it's code I consider antiquated and badly conceived / written with numerous fundamental newbie misunderstandings about how AI work, which is why it was rewritten).

 

He's talking about his own noobie work in the early days of PZ, and not your own?

Link to comment
Share on other sites

As is often the case when these things escalate and big blocks of text are written, the most important bits get lost amongst the noise. So I'd like to draw attention to it once again:

But don't let this imply we're not impressed with what you've done or hoping you make a big success of it. Either way it's really cool to see and hope to see more from you in the future. If this mod doesn't overcome the issues you're hitting, you're clearly one to watch in what you do next :) <3

 

<3

Link to comment
Share on other sites

I'm only the writer and don't really get all this modding stuff BUT I just wanted to make sure you realise that when Chris writes this: 

 

(further it's code I consider antiquated and badly conceived / written with numerous fundamental newbie misunderstandings about how AI work, which is why it was rewritten).

 

He's talking about his own noobie work in the early days of PZ, and not your own?

 

Thank you, that was a major misinterpertation on my par. Which is why I responed here, and made it open to be discussed between our 2 sides. To rule out any misinterpertations. My post isn't about doing harm, I hope that is clearly shown.

Link to comment
Share on other sites

Oh yeah totally, just wanted to make sure we were all on the same page :)

 

However,

If you cannot see why we couldn't possibly have released the contents of this mod (one that at present has no NPC combat with zombies nor multiplayer support, fyi)

Is still an assaulting way of going at it, aswell as a lot more examples. My point is still the same. It's a stripped down test version, no need to bash it...

Link to comment
Share on other sites

If you cannot see why we couldn't possibly have released the contents of this mod (one that at present has no NPC combat with zombies nor multiplayer support, fyi)

Is still an assaulting way of going at it, aswell as a lot more examples. My point is still the same. It's a stripped down test version, no need to bash it...

It's assaulting Lemmy's own work . . . It'd be wasted weeks or months of development to polish a scrapped system for the purpose of releasing it for those who really "don't care" about how crap NPCs could sometimes be.

Most of it is self-deprecating. You might well rise above it, but the NPC code that ships with the game now is pretty darn limited, being 3 (?) years old. We know that.

Link to comment
Share on other sites

It's assaulting Lemmy's own work . . . It'd be wasted weeks and months of development to polish a scrapped system for the purpose of releasing it for those who really "don't care" about how crap NPCs could sometimes be.

If that's the way you see mods... :/ This isn't about what the steam community said. This is about the support team, developers and me as a modder.

You guys assaulted me, I did nothing of the sorts towards you. That is what this is about. So unless you're saying that me releasing something for testing purposes is an assult to Lemmy... I don't think you have a point with that statement regarding the issue being discussed here, and is pretty much unnecisaraly bringing up things that everyone already knows. If you want to tell people off for saying these things, don't do it here, or to me. Bring that to them, not me.

Link to comment
Share on other sites

Is still an assaulting way of going at it, aswell as a lot more examples. My point is still the same. It's a stripped down test version, no need to bash it...

Perhaps things could have been phrased better, but the trouble is - let's say that for the moment your mod work didn't exist and what we were doing is responding to someone asking why NPCs weren't in the game when in previous builds they were. Our response would be to describe all the ways in which the old NPC system was no good long-term, not capable of what we want to achieve, all that jazz. Fact is, the old NPC system was ditched for a reason - it did the job as a proof-of-concept, an early test, but the game has moved on since then.

The trouble is, to make those same statements now, it becomes irrevocably linked to your mod - any self-deprecation on our part concerning our old NPCs becomes a criticism of your mod. It's horribly unfortunate, and perhaps there was a better way to handle it and, furthermore, as Lemmy said earlier: should you manage to solve all the problems reintroducing this sort of companion NPC to the current build of the game then (potential for horrid comments towards us aside), we'd all be tremendously impressed by that and I'm sure it would prove to be a tremendously popular mod.

But should we have to defend why we couldn't have done this ourselves, we simply have to talk in terms of what the old NPCs were capable of versus what we want the NPCs to be capable of and it's difficult to talk about the new stuff without implicitly or explicitly (and often, to make the point you have to be explicit) criticising the old stuff and therefore, unfortunately, also the scope of your mod. It sucks, but all we can really do is to be critical of our old system and simultaneously full of praise for your work, which sounds contradictory but really isn't given one is our game code and one is a mod :)

Link to comment
Share on other sites

Seriously dude, I would consider it the furthest thing from "assault". Assault =  "make a physical attack on."

What he DID do was criticize his own work on those old functions, called them outdated, and non-transferable into the new game base. Your mod is taking those SAME functions, reactivating them, and then modifying them. These are the self same functions that you have been submitting bug reports on despite the fact that they are no long active in the base game! So clearly you see where lemmy and the rest of the dev team are coming from.

Link to comment
Share on other sites

I don't even know how you read my post that way, I really don't. Lemmy was critical of his own code, not your mod.

*sigh* you have to stop posting something, then afterwards edit in the quote which you ment it at, and then further explain what you ment. It's highly confusing. XD My appologies, without the quote, or for that matter without context to it, to me the only way I could inteperted it was it being at the general topic.

Link to comment
Share on other sites

I want to make it clear that I really hope MisterInSayne doesn't stop modding for this game, regardless of what's been thrown around or misinterpreted and what not. He's proven to have some real talent as well as the time to pump out useful mod after mod. 

 

What I feel is in order is that we halt work on this NPC mod until the animation update and see how it can be worked on from that point. To prevent those brainless comments attacking the devs over NPC's, just focus the mod around it being a dog companion to explain it's stupidity. :P

 

Then again, judging from what we've seen of the new animations already, I don't think I can match that level of awesome, especially since I'm new to animation entirely. :D

Link to comment
Share on other sites

I don't even know how you read my post that way, I really don't. Lemmy was critical of his own code, not your mod.

*sigh* you have to stop posting something, then afterwards edit in the quote which you ment it at, and then further explain what you ment. It's highly confusing. XD My appologies, without the quote, or for that matter without context to it, to me the only way I could inteperted it was it being at the general topic.
As a fellow victim of people doing the same thing, I apologize for it. :D I'm sorry. I'll try to resist the edit button's Siren's Song.
Link to comment
Share on other sites

Seriously dude, I would consider it the furthest thing from "assault". Assault =  "make a physical attack on."

What he DID do was criticize his own work on those old functions, called them outdated, and non-transferable into the new game base. Your mod is taking those SAME functions, reactivating them, and then modifying them. These are the self same functions that you have been submitting bug reports on despite the fact that they are no long active in the base game! So clearly you see where lemmy and the rest of the dev team are coming from.

 

My appologies, I agree, assault wasn't the right word to use, I'm not a natively english speaker, which normally isn't an issue, but well, I guess I didn't fully know the exact definition of the word assault. On the bug report I stated that I did not expect it to be fixed or implemented back in. Secondly, I can't fucking see the coding you guys see. Don't patronize me over not being able to know things that are impossibly for me to know.

I've also already stated before, multiple times, reactivating them was a temporary thing, my plan was to build something new from scratch... But to do so, I first need to know how your code works. You can just open the files and look at them, I can't... I need to try things over and over, see what the difference is between object a and object b, and function c and function d...

 

function InSayneNPCCompanion:updateLOS()	local objList = getCell():getObjectList();		self.enemyList:clear();	self.relEnemyList:clear();	self.veryCloseEnemyList:clear();	self.proxAlert = 0;	for i=0, objList:size()-1 do		local curObj = objList:get(i);		if not (curObj == self.javaObject) then			if instanceof(curObj, "IsoGameCharacter") then				if self.javaObject:DistTo(curObj) <= 20.0 then					if self.javaObject:CanSee(curObj) then												self.javaObject:spotted(curObj);						if instanceof(curObj, "IsoZombie") and not curObj:isDead() and not curObj:getModData()["Dead"] then							self.enemyList:add(curObj);							self.relEnemyList:add(curObj);							if self.javaObject:DistTo(curObj) <= 4.0 then								-- Zombie is getting way to close!								self.veryCloseEnemyList:add(curObj);								self.proxAlert = self.proxAlert + 1;							end						else							-- Players and Other NPCs													end					end				end			end		end	end	self.javaObject:setEnemyList(self.enemyList);	self.javaObject:setLocalRelevantEnemyList(self.relEnemyList);	self.javaObject:setVeryCloseEnemyList(self.veryCloseEnemyList);endfunction InSayneNPCCompanion:update()	-- Do LOS Update.	self.LOStick = self.LOStick + 1;	if self.LOStick >= 30 then		self:updateLOS();		self.LOStick = 0;	end		--[[	if self.proxAlert > 3 then		-- try to get some distance between npc and zombs	else]]	if self.proxAlert > 0 then		-- time to attack!		if self.target then			if self.target:isDead() or self.target:getModData()["Dead"] then				self.target = nil;				self.proxAlert = self.proxAlert - 1;				self.javaObject:Say("That's one dead zombie!");			else				if self.javaObject:IsAttackRange(self.target:getX(), self.target:getY(), self.target:getZ()) then					--self.javaObject:Aim(self.target);					--if self.javaObject:CanAttack() then						--self.javaObject:AttemptAttack();						-- ATTACK!!					--end				else					self.javaObject:PathTo(self.target:getX(), self.target:getY(), self.target:getZ(), true);				end			end		end		if not self.target then			for i=0, self.veryCloseEnemyList:size()-1 do				local zomb = self.veryCloseEnemyList:get(i);				if not zomb:isDead() and not zomb:getModData()["Dead"] and (not self.target or self.javaObject:DistTo(zomb) < self.javaObject:DistTo(self.target)) then					self.target = zomb;				end			end			if self.target then				self.javaObject:faceDirection(self.target);				self.javaObject:Say("Attacking zombie!");				self.javaObject:PathTo(self.target:getX(), self.target:getY(), self.target:getZ(), true);				--self.ScriptInstance = getScriptManager():PlayInstanceScript("NPC"..tostring(self.ID).."_Attack_Zomb", "InSayne.NPCAttackZomb", {Companion = self.javaObject, Zombie = self.target}, {} );			end		else			-- Maybe check if the z is still the closest?		end	end	--[[			]]end

 

Now please, do tell me again how I'm using the original code and am just reactivating and modifying it.. Please do...

 

Sure, it's far from up to par with you guys, and will have bugs as I'm still working on it... but fucking hell man, do you have any idea how demotivating and belittling you come across? What I've coded goes beyond what most mods on this forum do. And all you guys keep doing is badmouth it.

Link to comment
Share on other sites

I want to make it clear that I really hope MisterInSayne doesn't stop modding for this game, regardless of what's been thrown around or misinterpreted and what not. He's proven to have some real talent as well as the time to pump out useful mod after mod. 

 

What I feel is in order is that we halt work on this NPC mod until the animation update and see how it can be worked on from that point. To prevent those brainless comments attacking the devs over NPC's, just focus the mod around it being a dog companion to explain it's stupidity. :P

 

Then again, judging from what we've seen of the new animations already, I don't think I can match that level of awesome, especially since I'm new to animation entirely. :D

 

If I continue, it'll be focussing on the dog first. No worries, it's not a competition, having an animated dog by itself is beyond any level of awesome we've seen regarding that here, and hasn't been done for any mod, and even if it has, it's still to me the most epic thing ever. So don't sell yourself short on this! <3

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...