BattleMaster Community

BattleMaster => Development => Topic started by: kamandi on August 27, 2014, 10:29:38 PM

Title: Priest Game Issues?
Post by: kamandi on August 27, 2014, 10:29:38 PM
One of my fellow priests brought up recent difficulties with converting followers- Suddenly, as of a week or so ago, we are completely unable to convert followers, and both of us have pretty substantial oratory skills. We have preached in realms that haven't had preachings recently and get zero response.

On the flip side, influencing followers HEMORAGES followers. It's making playing a priest pretty useless, and feels awfully futile.

Is this a bug or have we just reached some sort of usefulness plateau?

AC
Title: Re: Priest Game Issues?
Post by: Anaris on August 27, 2014, 10:35:54 PM
I changed the way automatic conversions and deconversions work a while ago, and I think I may have been a little overzealous in some areas. It's something I've been meaning to revisit for a while now, but haven't had chance.

So while I can't speak to specific issues without seeing them in action (it's possible you've also found a separate bug in the way followers are calculated), I'd say that it qualifies as a quasi-bug ;)

I will try and see if I have some time to look into it in the near future.
Title: Re: Priest Game Issues?
Post by: kamandi on August 28, 2014, 04:15:53 AM
Ahhhh that would explain it!

If it's helpful, the problems have been on Atamara. Very resistant population there. Very stuck in their pagan ways....

Thanks!

AC
Title: Re: Priest Game Issues?
Post by: Chenier on August 28, 2014, 03:34:24 PM
I changed the way automatic conversions and deconversions work a while ago, and I think I may have been a little overzealous in some areas. It's something I've been meaning to revisit for a while now, but haven't had chance.

So while I can't speak to specific issues without seeing them in action (it's possible you've also found a separate bug in the way followers are calculated), I'd say that it qualifies as a quasi-bug ;)

I will try and see if I have some time to look into it in the near future.

Did you change preaching? Machiavel has 100 oratory fame, and yet, more often then not, 12 hours converts no more than 50 people in a typical region, 150 in a large city.
Title: Re: Priest Game Issues?
Post by: Anaris on August 28, 2014, 03:51:08 PM
Did you change preaching? Machiavel has 100 oratory fame, and yet, more often then not, 12 hours converts no more than 50 people in a typical region, 150 in a large city.

I don't think I did, but it was a while ago, and I'm not 100% sure.

Are you noticing it being because there are more "too many preaching" messages?
Title: Re: Priest Game Issues?
Post by: Chenier on August 28, 2014, 04:38:26 PM
I don't think I did, but it was a while ago, and I'm not 100% sure.

Are you noticing it being because there are more "too many preaching" messages?

It's been quite a while since I actively preached, too. I do tend to find that the "too many preaching" messages seem to come a lot quicker than they used to.
Title: Re: Priest Game Issues?
Post by: Anaris on August 28, 2014, 04:40:23 PM
It's been quite a while since I actively preached, too. I do tend to find that the "too many preaching" messages seem to come a lot quicker than they used to.

OK. I may have done some tweaking to how fast the peasants "forget" about recent preaching at the same time as the other changes, and it may need further tweaking.
Title: Re: Priest Game Issues?
Post by: kamandi on August 28, 2014, 06:21:03 PM
I don't think I did, but it was a while ago, and I'm not 100% sure.

Are you noticing it being because there are more "too many preaching" messages?

I, and the other priest I have talked to, started talking when we noticed the "too many preaching" was popping up in realms that no one had been in for quite some time. I just tried preaching in a realm no one has been in for over a week, or more, and there was no discernible change in the believer %, and I got the "too many preachings" warning.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on August 29, 2014, 08:48:11 AM
OK. I may have done some tweaking to how fast the peasants "forget" about recent preaching at the same time as the other changes, and it may need further tweaking.

It really is past time to learn about Unit Testing

This is a short and excellent series by a friend of mine that can get some simple stuff started:

https://jtreminio.com/2013/03/unit-testing-tutorial-introduction-to-phpunit/
Title: Re: Priest Game Issues?
Post by: Vita` on August 29, 2014, 10:53:45 AM
I completely agree. I even started playing around with unit testing a few pages before realizing a significant portion of it will require db mockups and I was too busy to mess around further.  But with one primary developer and a bunch who haven't had much time to contribute in a lot despite their best intentions (intentions alone don't do much and all that), it comes down to a lot of opportunity costs in what gets done vs doesn't. There's a *lot* that should be done to improve the codebase. We're *still* working on Doctrinification here and there. There's a responsive web design. And yes, unit testing would be nice. But I'm sure you also know the difficult of implementing good design into a codebase that began over a decade ago maintained by volunteers. While obviously not impossible, the codebase is such that implementing unit testing will be a significant effort - effort not spent on visible portions of the game that most players enjoy seeing progress on. We would probably be best served by using test-driven development to begin implementing unit tests into anything new from hre on out, but then you have to get support (and show new dev members) for implementing tdd development practice. And as is, that means convincing Anaris to implement that into his current practices. If you'd like to help out, I'm sure Anaris would enjoy a message. And again, where I wrote we - that's primarily Anaris and its a rather disingenuous usage of the word we.

But I am curious as to what Anaris's thoughts upon implementing tdd into his volunteer dev time would be because I honestly do think we need unit testing, I just also realize the opportunity cost of implementation.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on August 29, 2014, 11:20:05 AM
TDD is not Unit Testing; at this point, most of your code is written and needs Unit Testing as you "fix and tweak" to help avoid breaking  things as you fix, and confirming that what you intended is what will actually occur.

Yes, it will require a lot of refactoring as you go to make things testable. Yes, that's a bonus, not a time sink.

People don't realize how much time they waste by not "having time" to set up a good foundation.
Title: Re: Priest Game Issues?
Post by: Anaris on August 29, 2014, 01:44:52 PM
It really is past time to learn about Unit Testing

This is a short and excellent series by a friend of mine that can get some simple stuff started:

https://jtreminio.com/2013/03/unit-testing-tutorial-introduction-to-phpunit/

Why, yes. Let me stop all current development and bugfixing, and spend a year or two doing nothing but writing unit tests for code which ranges in ages from 1 week to 10 years, with all the various cruft involved in that.

Sorry, Miskel, but it's just not practical for this project—not when I'm the only active dev.

If you want to join the dev team to do that, and have the skills required, then I'd be willing to bring you on at least on a provisional basis. (Only Tom can make the final approval of dev team members.)
Title: Re: Priest Game Issues?
Post by: Anaris on August 29, 2014, 02:02:25 PM
But I am curious as to what Anaris's thoughts upon implementing tdd into his volunteer dev time would be because I honestly do think we need unit testing, I just also realize the opportunity cost of implementation.

First of all, let me say that while I understand the usefulness of unit testing in general, it is not something that I have ever actually learned. It was not taught to me in my college courses, and once I graduated, I was in a position where time was far too much of the essence for me to be able to justify to my non-technical bosses spending the amount of time required to a) learn unit testing, b) refactor the existing codebase to include it, and c) spend a significant portion of my time going forward writing unit tests.

Second of all, as I understand it (and please correct me if this is not the case, since as I said, I have never actually used unit testing myself), we would only be able to create meaningful unit tests for the portion of the BattleMaster codebase that has been Doctrinified—and even that would require some extensive restructuring to properly support the unit tests. And that doesn't even get into the issues involved with how unit testing and the database would interact.

Third of all, and this is particularly directed at Miskel, I don't think unit testing would have done a blind bit of good in this case, for multiple reasons. First, because the problem here isn't a bug, per se, but rather new behaviour that was being tried out, that turned out to have undesirable effects. Second, because those effects could not become obvious based on any immediate testing: they, like many of the behaviours in BattleMaster, were long-term effects, due at least in part to the interaction of many different factors.

This game is full of nontrivial effects like that, and even emergent behaviours that aren't a property of any one piece of code, but rather several systems acting in concert, tied together by the actions of the humans running them—whose behaviour, while it can be predicted to a certain extent, is not subject to unit testing.

So no, I'm not willing to just drop everything and spend, like I said, multiple RL years refitting the entire codebase with unit tests. If Tom or I were willing to accept that kind of timeline for coding that is, to the players, a complete no-op, we would have started rewriting the game from scratch when I first came onto the dev team 6 years ago, and have a very different BattleMaster now.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on August 29, 2014, 11:19:05 PM
You are way off on what Unit Testing is, and how it works, and what you need to do to start applying it.

You could add your first simple test TODAY on any bit of code that you isolated into a testable unit. It takes a little bit of time to get the idea of, like anything else.

Furthermore, Unit Testing is more than simply catching bugs - it is also about confirming that the desired output is being returned. Unit Tests and other types of testing can handle receiving multiple "moving parts" and tell you what outcomes are happening. Far more complex code that BattleMaster relies on testing to stay online.

(BTW - it has nothing to do with Doctrine. If anything Doctrine can make it more difficult sometimes, as everything has to be mocked. I would recommend you skip the db areas for now and look for small bits of code that can be refactored to functions, then learn how to write a few tests on those until you get steadier on your feet with it. It takes time, but there's a huge Open Source community willing to help )

I highly recommend that you take a Sat. afternoon off and play with it for an hour or two and understand what it can do for you. It even the short-term, it can save you many hours of having to go back and constantly fix small things - so it adds up to a huge savings very quickly.
Title: Re: Priest Game Issues?
Post by: Anaris on August 30, 2014, 01:24:09 AM
You could add your first simple test TODAY on any bit of code that you isolated into a testable unit. It takes a little bit of time to get the idea of, like anything else.

Furthermore, Unit Testing is more than simply catching bugs - it is also about confirming that the desired output is being returned. Unit Tests and other types of testing can handle receiving multiple "moving parts" and tell you what outcomes are happening. Far more complex code that BattleMaster relies on testing to stay online.

But, again, bugs like the one described here would have exactly 0 chance of being caught by unit testing. I would write the code, write the test, run the test, and observe that the results match what I expect then and there...and then six months down the road, people actually using the code, enmeshed with all the rest of the game's code, would find that it has unexpected and undesirable interactions when used over long periods of time.

Quote
(BTW - it has nothing to do with Doctrine. If anything Doctrine can make it more difficult sometimes, as everything has to be mocked. I would recommend you skip the db areas for now and look for small bits of code that can be refactored to functions, then learn how to write a few tests on those until you get steadier on your feet with it. It takes time, but there's a huge Open Source community willing to help )

The point about Doctrine was that the code that has been Doctrinified has also been migrated over to OOP, and is much more modular and less crufty.

Quote
I highly recommend that you take a Sat. afternoon off and play with it for an hour or two and understand what it can do for you. It even the short-term, it can save you many hours of having to go back and constantly fix small things - so it adds up to a huge savings very quickly.

I may end up doing so at some point, though not necessarily for BattleMaster. I do write various smaller projects (both for myself and for my Real Work™) that could probably benefit from unit testing.

In the end, BattleMaster just has more than enough work to do for its part-time volunteer developers without trying to add unit tests while also learning how unit testing itself works.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on August 30, 2014, 02:10:37 AM
Yes, but all the OTHER bugs would be caught if you started doing these things.

In the meantime, you build what you are going to need down the road the catch the more complicated issues. Unit testing doesn't catch all issues, but it makes you start writing testable code, which you need for everything else.

Unit testing will save you time once you set it up.

http://blogs.msmvps.com/deborahk/i-don-t-have-time-for-unit-testing/

Title: Re: Priest Game Issues?
Post by: Antonine on August 30, 2014, 05:27:02 PM
Miskel, the devs are saying that they do not have the time it takes to implement unit testing and, given that I've just been looking at the preaching code, I can say firsthand that it would be useless in this situation anyway as it relies on multiple cumulative interactions of players over weeks and months to test how it works in practice - the issue here isn't a bug in the code, it's a balancing issue.

However, you seem to think that unit testing could easily be implemented and should be implemented and that everyone who does any development work on the game is wrong. Fair enough.

But if that's your opinion then I suggest you either put up or shut up. It's already been suggested that if you're that keen on this you volunteer to join the dev team and actually implement it. Believe me, if you're right and it can be done that easily then everyone concerned would be overjoyed by you being proved right. But unless you're actually prepared to step up and practice what you preach it might be a good idea if you stop telling people with actual experience of the database that they're wrong.

Delvin, if you're reading this, I'm away from home today but I hope to start coming up with fixes/suggestions for the preaching/religion spread issue tonight.
Title: Re: Priest Game Issues?
Post by: Vita` on August 31, 2014, 12:52:08 AM
TDD is not Unit Testing; at this point, most of your code is written and needs Unit Testing as you "fix and tweak" to help avoid breaking  things as you fix, and confirming that what you intended is what will actually occur.

Nowhere did I say TDD was unit-testing. But unless you have a magical wand of 'instant unit-testing', I think TDD is the best development practice for implementing unit-testing gradually rather than attempt to do something akin to the doctrinification, where features were put on freeze to convert the codebase (mostly).
Title: Re: Priest Game Issues?
Post by: Vita` on August 31, 2014, 01:21:58 AM
I do agree that learning unit testing is valuable, but as Anaris well knows, convincing one's non-technical bosses of the merits of various development practices is a sisyphean task.

I don't believe we require doctrinification for unit-tests, but it would probably be ideal that unit-testing avoid pre-doctrinification code (or refactor it), for a cleaner codebase. As I mentioned earlier, I think the biggest ordeal will be doing mockups for various db-required testing.

Yes, some of BM is poorly suited to unit-testing and needs some better form of functional testing. Yes, one *could* begin implementing unit-testing as part of all new code, if not refactoring the whole code. Yes, we have primarily one active dev and adding additional development process will increase time. Yes, doing it now is good policy for down the line.

So to summarize - need more volunteer devs with time and knowledge to do this. And many more things. Using a test-driven development process while fixing the numerous bugs would fix both bugs and see some tests implemented.

Octavius, I don't think it a matter of miskel 'being proved right'. I think we can recognize the benefits without seeing it in practice, but as you mentioned, it comes down to free time by volunteers.
Title: Re: Priest Game Issues?
Post by: De-Legro on September 01, 2014, 02:59:59 PM
I write lots of unit test for work, as well as integration test and validation tests. I do so because I have to the systems I design control packages for often have costs measured in the tens of thousands of dollars when they are down and not producing, so I can't afford for bugs during commissioning. The reality of volunteer projects is that very very few ever implement unit tests and the few that do generally do so in one big push and then never update them. The reason is simple, even though in the long term there are time savings in the short term it is a massively boring undertaking. Volunteer projects need the devs to be motivated, interested to actually keep them around and giving up their free time to produce something. As soon as that effort is no longer entertaining, you lose them to something that is.

Before Unit testing could even be considered in the current code base every part of the code requires proper documentation. I know that I often look at parts of the code and can only guess at why certain restrictions and such are included. Are they intended? What is the goal of the code? Unit testing only works once you actually know what the result should be.

So the end result? To keep the game moving with ANY new features, as well as needed bug fixes unit testing would be relegated to at least the same time frame as the doctrine conversion, IE still happening. It also requires someone to seriously take it as their little project in terms of overseeing it, else the newly written tests will become invalidated as people edit the code or make bug fixes and don't ensure test are updated if required. In a system where dev time is already stretched I just don't see it happening.

If we were to make a move towards unit testing, I would suggest using codeception.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 03, 2014, 08:25:57 AM
If you add unit tests correctly, and use continuous integration with your repositories, then you MUST keep your tests up-to-date or you cannot push your new commits - you will be blocked from doing so (except for new functionality, of course).

You start with a simple framework and write some very, very basic tests. Then as you work, you refactor the simpler parts of your code so they they have tests. You don't sit down and make adding tests a new project that you work on for months. You gradually, one or two chunks of code at a time, add these in. You build them up over time.

Yes, even this priest issue is something that would be covered by Unit Tests. If you don't think so, you simply don't fully understand what they are. Yes, you will need to do considerable refactoring - which is why you take it in small steps.

I think you should focus on existing code, adding a test each time you fix a bug so that you know your fixes are correct, and so you won't ever have to spend time going back and fixing them again while you are trying to write new code features. However, if after learning about them you think you'd rather start with TDD on your new features, there's nothing wrong with that approach. I would caution against it though - you are most likely going to try to reuse existing code, and since that will be untested and have bugs, I think you'll find you will need to do even more test writing than if you just refactored small things.

What does NOT work, however - as some people have suggested - is to try to have one person who writes test for everyone else. That simply doesn't work. If everyone isn't on board, there's no point bothering.

Title: Re: Priest Game Issues?
Post by: De-Legro on September 04, 2014, 04:49:20 AM
If you add unit tests correctly, and use continuous integration with your repositories, then you MUST keep your tests up-to-date or you cannot push your new commits - you will be blocked from doing so (except for new functionality, of course).

You start with a simple framework and write some very, very basic tests. Then as you work, you refactor the simpler parts of your code so they they have tests. You don't sit down and make adding tests a new project that you work on for months. You gradually, one or two chunks of code at a time, add these in. You build them up over time.

Yes, even this priest issue is something that would be covered by Unit Tests. If you don't think so, you simply don't fully understand what they are. Yes, you will need to do considerable refactoring - which is why you take it in small steps.

I think you should focus on existing code, adding a test each time you fix a bug so that you know your fixes are correct, and so you won't ever have to spend time going back and fixing them again while you are trying to write new code features. However, if after learning about them you think you'd rather start with TDD on your new features, there's nothing wrong with that approach. I would caution against it though - you are most likely going to try to reuse existing code, and since that will be untested and have bugs, I think you'll find you will need to do even more test writing than if you just refactored small things.

What does NOT work, however - as some people have suggested - is to try to have one person who writes test for everyone else. That simply doesn't work. If everyone isn't on board, there's no point bothering.

Welcome to the world of volunteer systems. Generally we don't want to have too high a barrier to people wanting to join the team as coders. We have in the past had people joining with very little PHP and coding experience. Requiring them to learn a unit test system at the same time they are trying to learn PHP would I think be daunting.

With regards to continuous integration into our GIT repository, I have to admit I don't even know what servers our GIT is on, if we control them and if they can access the test server for running automated testing. GIT is not something I personally use or have great experience with.

By the way the nature of the Priest bug means unit tests would not have detected anything. Individual software modules were working correctly. In that case a integration test system would have been needed to have any chance of detecting the edge case problem with the interaction of separate systems.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 04, 2014, 09:28:08 AM
Quote
By the way the nature of the Priest bug means unit tests would not have detected anything. Individual software modules were working correctly. In that case a integration test system would have been needed to have any chance of detecting the edge case problem with the interaction of separate systems.


Sorry, you're correct on that - have a bad habit of saying "Unit testing" when I mean "testing"

As for the rest - if they are able to learn Doctrine, they are able to learn simple Unit Testing. There comes a time when you need to keep the bar at a certain level, or end up going backwards all the time.

There's a reason the Peace Corp doesn't accept most applicants - well-intentioned as they might be, a volunteer who doesn't know anything does more harm than good.

If they don't know how to code php, they should get involved in other ways. You can say that sounds harsh, but you wouldn't accept volunteers to build bridges in Africa just because they have good hearts, right? They should actually know something about bridge building.

If they REALLY want to be coders, then tell them to learn how to code unit tests first. Will make them more useful to the world in general. Being a coder is not 100% about writing code.

EDIT: for those interested in learning more, here is a decent definition of some different types of tests:
http://programmers.stackexchange.com/questions/214529/how-to-create-unit-integration-tests-for-my-web-app
Title: Re: Priest Game Issues?
Post by: Indirik on September 04, 2014, 02:58:54 PM
... you wouldn't accept volunteers to build bridges in Africa just because they have good hearts, right? They should actually know something about bridge building.
If you put out the call for volunteers, and the only five people that responded knew nothing about building bridges, then you probably would. Otherwise, you'd never build that bridge.

The reality of this particular project is that there are no experienced coders volunteering. It's not like the dev team is turning down coders left and right. There are no experienced coders volunteering. If we limit our system to only accept volunteers that are already experienced coders, and perhaps have testing experience, then we won't have any volunteers.

If the entire dev team consists of one self-taught, volunteer coder who is already overworked trying to implement and maintain the code base, and maybe two self-taught, part-time bug fixers, then there simply is no experience, time, or motivation to make any sweeping changes to the system. Despite the possible advantages that any kind of coherent testing suite could possibly bring to the game, it will not happen for the simple fact that there's no one available to do it, or even capable of doing it.

There is a small, finite amount of time available for the volunteers to maintain and expand the game. This kind of project simply cannot afford the overhead that large corporations and popular, well-staffed open-source project can do. You can point to all the web pages, white papers, and tutorials you want. In our situation, it's just not going to happen.
Title: Re: Priest Game Issues?
Post by: Chenier on September 04, 2014, 03:30:37 PM
And pretty much all of this should be moved to a new thread...
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 05, 2014, 09:42:07 AM
Good chance it's a self-fulfilling prophecy, or vicious circle, or whatever.

Experienced programmers don't want to work with a group of people who are going to argue all day long that they don't have time to do things correctly.

"Incorrectly done" is a huge pain in the ass. If I volunteer, I want to sit down and get things done  - not spend 20hrs on a simple task because everything around it is buggered. That precisely why I have no interest in volunteering to help with BM code, and I imagine a lot of the other programmers who read these forums feel more or less the same.

I don't think you realize how quickly experienced programmers can write good code, and how unattractive it is to us to join a project where we can't apply those things.

TL;DR; - fix your attitudes, you'll get better qualified volunteers.



Title: Re: Priest Game Issues?
Post by: Indirik on September 05, 2014, 04:32:51 PM
That precisely why I have no interest in volunteering to help with BM code, and I imagine a lot of the other programmers who read these forums feel more or less the same.

I don't think you realize how quickly experienced programmers can write good code, and how unattractive it is to us to join a project where we can't apply those things.
You just don't listen, do you?

Not a single person here has ever told you that BattleMaster will never implement any kind of testing because: 1) we don't want to, 2)we don't think it will help, or 3) that we don't need it. What we've said is that the *current* team, which consists almost exclusively of a single volunteer, can't do it for various reasons that you have chosen to simply dismiss and/or ignore.

Given the reality of our current situation it cannot happen. Anaris already told you this: "If you want to join the dev team to do that, and have the skills required, then I'd be willing to bring you on at least on a provisional basis. (Only Tom can make the final approval of dev team members.)" If it's as simple and basic to get started as you seem to be implying, then surely it would only take a minimal effort from you, right?

So here's your chance to help solve what you have identified as a critical deficiency of BattleMaster development. You can either choose to help fix it and get the dev team on track with writing better code, or you can continue to write lengthy posts about how everyone not doing it your way is doing it wrong, and not do a single thing to actually help improve things. Either way, I'm doing with this topic.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 05, 2014, 11:21:44 PM
Hallelujah!

Now you can stop cluttering up a thread with comments that show you aren't following the conversation & don't understand, and we might get somewhere!

A SINGLE dev who has NEVER used Unit Testing before and has NOTHING more than a tutorial to work from can be up and running in an hour or two with his first simple tests.

Furthermore, the difficulties he has will teach him precisely why his current code is bad (because most of the code will be untestable without refactoring) so he can start to change his coding style for the better.

Anaris, unfortunately, seems to still harbor this idea that it will takes "YEARS AND YEARS" to get going.

This is exactly what EVERY dev thinks at first, and why so many take so long to adopt it. Ironically, it is precisely people like Anaris and his role in BM that Unit Testing (and other forms of testing) that it has exploded in use in recent years.

- People who don't have time
- People with a mess of spaghetti code, where they can't tell what they are affecting when they make changes

As I explained, you can't just have one person step in and start writing tests - it doesn't work like that. You'll probably need to refactor much of your code to make it testable in the first place. It is a system change, not an enhancement to be snapped on. If one person writes tests, but the other isn't using them, they are all worthless.

The first step is for Anaris to say, "Yes, I think Unit Testing is important, but I need help getting started" and then I'm sure there are plenty of people who will lend a hand. But if he's not on board, there is no point anyone else wasting their time.

Title: Re: Priest Game Issues?
Post by: Zakilevo on September 05, 2014, 11:40:20 PM
Who cares if the code malfunctions? Anaris will fix it in time. It is a free game with voluntary developers. Why do you care so much? They are coding this game out of love for this game.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 06, 2014, 12:04:18 AM
That really doesn't make any sense.

Or if it does, that means they aren't even trying to be programmers, just "game makers",  so forget the whole thing.

But I certainly hope they are trying to do the best they can.

Every hour they spend fixing bugs is an hour they can't spend making some new feature. If you fix the same bug 5 times, that's 5 hours you could have been building something cool, but instead you wasted.

In addition, when you write code in a testable design, it makes all of your code easier to work with and to modify - meaning that the next time you want to add a cool feature, it takes half as long to do.

Furthermore, if you are writing good class-based code, you can get other devs to volunteer just to make small modules for you - they don't need to have access to your db, or you entire codebase, in order to create the back-end logic for a new feature. So, you can get MORE volunteers who are afraid to make a large commitment but would be happy to give you a few hours from time to time.

THIS IS WHY "I don't have time" is such a horrible argument.
Title: Re: Priest Game Issues?
Post by: Zakilevo on September 06, 2014, 12:54:34 AM
That really doesn't make any sense.

Or if it does, that means they aren't even trying to be programmers, just "game makers",  so forget the whole thing.

But I certainly hope they are trying to do the best they can.

Every hour they spend fixing bugs is an hour they can't spend making some new feature. If you fix the same bug 5 times, that's 5 hours you could have been building something cool, but instead you wasted.

In addition, when you write code in a testable design, it makes all of your code easier to work with and to modify - meaning that the next time you want to add a cool feature, it takes half as long to do.

Furthermore, if you are writing good class-based code, you can get other devs to volunteer just to make small modules for you - they don't need to have access to your db, or you entire codebase, in order to create the back-end logic for a new feature. So, you can get MORE volunteers who are afraid to make a large commitment but would be happy to give you a few hours from time to time.

THIS IS WHY "I don't have time" is such a horrible argument.

Then why don't you join the dev team to make it better? It isn't like closed off to a small clique. Anyone can join. You should probably do that and try to make it efficient?
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 06, 2014, 12:59:19 AM
Did you read where I already offered to help, once I'm sure I'm not wasting my time?

Did you read the part where I explained that no one has to "join the dev team" to help with code, if they adopt this system?

You don't need to defend them. I'm doing this to help them, because it is a hard first step and often requires a firm push from the outside. I'm not the bad guy.

Title: Re: Priest Game Issues?
Post by: Indirik on September 06, 2014, 04:24:52 AM
Anaris has already offered to bring you on and see what you can do to help. At this point, the only thing you could say that could be of any use is "sure, I'd be willing to lend a hand". Anything else is just you posturing for the crowd and stroking your ego.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 06, 2014, 06:26:46 AM
Quote
Either way, I'm doing with this topic.

That didn't last long. Putting you on ignore now.

Mods who worry about the atmosphere on  the forums - please take note of the personal attacks.
Title: Re: Priest Game Issues?
Post by: Ravier Nebehn on September 06, 2014, 06:35:35 AM
I see no personal attacks. What I am seeing is more of a "put your money where your mouth is" statement.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 06, 2014, 06:43:22 AM
Ok, let me spell it out even more clearly than the 4 times I've already spelled it out:

When Anaris says,

"Yes - I am willing to work with you and other experienced devs to start using modern methods such as composer, unit testing, class-based code, etc and will be open to taking advice about how to refactor the code base, instead of putting up a wall of objections"

then I will volunteer some of my time and work to recruit other experienced devs to help with the site.

If he only wants people to sit and add more band-aids on top of this rickety old legacy code, then I have no interest (and I doubt any other experienced devs do either)

There's an unlimited number of Open Source projects we can and do contribute to. We don't have the energy to work on something where half the team is just breaking our code & arguing with us all the time.
Title: Re: Priest Game Issues?
Post by: Jens Namtrah on September 06, 2014, 07:11:33 AM
(and back in the game - at least 2 cases this turn of food being sold in the market, and no bonds received. something that used to work was broken by a later change. so now Anaris will have to stop working on the new War Package and spend time tracking that down instead.

Precisely what we should be trying to stop with Testing. )
Title: Re: Priest Game Issues?
Post by: Thehatter on September 25, 2014, 12:35:45 AM
I will offer my assistance to your noble cause.
Title: Re: Priest Game Issues?
Post by: kamandi on September 25, 2014, 06:52:24 PM
AND NOW....

My priest is moving per turn, as apposed to per hour.

Is this a new change or a bug?

AC
Title: Re: Priest Game Issues?
Post by: Indirik on September 25, 2014, 07:42:57 PM
Priests on long distance travel will arrive on a turn change.
Title: Re: Priest Game Issues?
Post by: kamandi on September 25, 2014, 08:00:01 PM
Okay. I didn't realize that change was coming.

Is this part of a bigger overhaul we should know about or just a tweak?

Thanks!

AC
Title: Re: Priest Game Issues?
Post by: Indirik on September 25, 2014, 09:07:33 PM
This isn't a change. Its always been like that. Any travel that takes more than 16 hours goes like this:

1. You have a chance to arrive immediately, using all of your hours.
2. If not, you use all 16 hours, then proceed at one IG hour per RL hour.
3. When you are one hour away, you start accumulating hours again, but do not arrive yet.
4. At the next turn change you arrive, with whatever hours you have accumulated so far.
Title: Re: Priest Game Issues?
Post by: kamandi on September 26, 2014, 05:51:22 AM
Cool, good to know!

I've been playing a priest for a while recently, and played a couple ages ago, and have never encountered that particular travel method, believe it or not.


Thanks!

Alex
Title: Re: Priest Game Issues?
Post by: Vita` on September 26, 2014, 09:11:46 AM
I've experienced this recently, but my experience differed, very slightly, from Indirik's explanation. I will try to duplicate this, to be sure, on my return trip.

The difference was that if the travel time was marginally more than 16 hours (say 18 hours), you would still move to the region immediately. If it was much more than 16 hours, it did was Indirik explained.
Title: Re: Priest Game Issues?
Post by: vonGenf on September 26, 2014, 11:48:47 AM
The difference was that if the travel time was marginally more than 16 hours (say 18 hours), you would still move to the region immediately. If it was much more than 16 hours, it did was Indirik explained.

Was there a "you find the route shorter than expected" message?
Title: Re: Priest Game Issues?
Post by: Indirik on September 26, 2014, 02:36:39 PM
The difference was that if the travel time was marginally more than 16 hours (say 18 hours), you would still move to the region immediately. If it was much more than 16 hours, it did was Indirik explained.
That's what I was trying to explain when I said that there is a chance to arrive immediately. Hard to write long explanations on a phone, though. :-\

As vonGenf mentioned, as soon as you click to begin your travels, you will get a message about arriving immediately, and you will be there in your new destination, with 0 hours. You will never be in the "Travelling" state.
Title: Re: Priest Game Issues?
Post by: Eirikr on September 26, 2014, 09:30:21 PM
I've experienced this recently, but my experience differed, very slightly, from Indirik's explanation. I will try to duplicate this, to be sure, on my return trip.

The difference was that if the travel time was marginally more than 16 hours (say 18 hours), you would still move to the region immediately. If it was much more than 16 hours, it did was Indirik explained.

This technically doesn't conflict; Indirik said there was a "chance". To be fair, you could be right that the chance is 100% for certain values close to 16 as I've never experienced the system Indirik laid out despite having several 16+ times on my advy.
Title: Re: Priest Game Issues?
Post by: kamandi on November 22, 2014, 05:33:28 PM
Just to revisit this...


In the past week or so, I have done nothing but preach in a city with a large temple of my faith, and 0% percent followers. It has remained at zero percent all week, gaining about 1 follower per 12 hours. My oratory skill is perfectly good.

It's super frustrating. I understand it's a bug, and I understand that no one has the time to fix it, and everyone is a volunteer, but it really makes playing a priest kind of a bummer.

I don't want to change classes- the whole point of this character was to be a priest. He's also a diplomat, and that seems effective enough, but a little boring for RP purposes.

Just following up. I wonder if, as a salve for now, until the bug is fixed, the penalties for "influencing followers" can be tweaked down a bit, or something, just to level out the cost benefit (so to speak) of playing a priest.

Sorry to be a whiner about this topic.

Alex
Title: Re: Priest Game Issues?
Post by: kamandi on November 26, 2014, 04:55:46 PM
AN EXAMPLE:

"You preach to the masses for 10 hours, reaching a total audience of 1030 listeners.
Many peasants just ignore you, tired of the constant preaching they have been subject to recently.
24 pagans and believers in local folklore appear to be convinced and you formally convert them to The Way of the Warrior Saints in a small ceremony.

There are now about 20 believers in your faith The Way of the Warrior Saints in this region. That is about 0% of the population."

So if I converted 33 last round, and 24 this round, plus the numbers I've converted the last few days, why is it still "about 20 believers"?
Title: Re: Priest Game Issues?
Post by: Thehatter on December 01, 2014, 03:25:14 AM
Speaking of priests, are you able to kick them out of a religion and if they are clicked out do they lose their priest status.

Second can they be deported from an island if captured?
Title: Re: Priest Game Issues?
Post by: Anaris on December 01, 2014, 03:30:47 AM
No, and no.
Title: Re: Priest Game Issues?
Post by: De-Legro on December 01, 2014, 04:18:42 AM
It is however now confirmed that if you somehow end up with a priest that is no longer a member of a religion, you are able to join a new religion.
Title: Re: Priest Game Issues?
Post by: kamandi on December 03, 2014, 09:18:29 PM
I just got a "your words fall on deaf ears, the people appear tired of the constant preaching they have been subjected to lately" in a region that No One has been in for weeks, and is half covered in glacier.
Title: Re: Priest Game Issues?
Post by: kamandi on December 17, 2014, 08:49:18 PM
Okay.

After preaching intermittently for weeks, the city I had gotten up to 4%, slowly, just dropped to 0 followers, O%.

What is the point of this class?
Title: Re: Priest Game Issues?
Post by: De-Legro on December 17, 2014, 10:22:27 PM
Okay.

After preaching intermittently for weeks, the city I had gotten up to 4%, slowly, just dropped to 0 followers, O%.

What is the point of this class?

What other faiths are in the city? How experienced is your priest? What sort of religious coverage does your faith have in surrounding regions? The priest is an advanced class, it is not designed so a single player can create a religion and just convert half the continent so details are required to truly answer this.
Title: Re: Priest Game Issues?
Post by: kamandi on December 18, 2014, 06:42:40 PM
What other faiths are in the city?

None, last time I checked. The 4% I had generated was the highest percentage outside of "local pagan folklore etc"

How experienced is your priest?

Very- last time I went to the academy, the expert tutor could not help him. He's also a diplomat, so his oratory is excellent.

What sort of religious coverage does your faith have in surrounding regions?

Huge- It's the dominant faith by a wide margin in most surrounding regions.

The priest is an advanced class, it is not designed so a single player can create a religion and just convert half the continent so details are required to truly answer this.

I get that, but my priest has been completely inneffective for months, and other players have slowly drifted away from playing priests in the past year because there is so little you can do. Knights doing civil work has more of an effect on local morale and attitudes than Priests, with less of the negative effect. Preaching generates almost no new followers, and swaying public opinion basically destroys your follower base.

I played a priest years ago, and don't remember having this kind of trouble with the stats and the effectiveness. I love the RP aspect of the class, but it's very frustrating to have zero effect on game mechanics.

AC
Title: Re: Priest Game Issues?
Post by: Chenier on December 18, 2014, 07:34:35 PM
What is the point of this class?

There is none, other than perhaps satisfy your masochist urges.
Title: Re: Priest Game Issues?
Post by: De-Legro on December 19, 2014, 02:57:22 AM
None, last time I checked. The 4% I had generated was the highest percentage outside of "local pagan folklore etc"

Very- last time I went to the academy, the expert tutor could not help him. He's also a diplomat, so his oratory is excellent.

Huge- It's the dominant faith by a wide margin in most surrounding regions.

I get that, but my priest has been completely inneffective for months, and other players have slowly drifted away from playing priests in the past year because there is so little you can do. Knights doing civil work has more of an effect on local morale and attitudes than Priests, with less of the negative effect. Preaching generates almost no new followers, and swaying public opinion basically destroys your follower base.

I played a priest years ago, and don't remember having this kind of trouble with the stats and the effectiveness. I love the RP aspect of the class, but it's very frustrating to have zero effect on game mechanics.

AC

Priest and the religious game has long been touted as a RP avenue rather than something that was designed to add unique game mechanics. If the idea of RPing a religion and its trials and tribulations are not appealing to you, if you are looking for the Priest class to in some way be "equal" to other classes in terms of ability, then I agree, there is little point to the Priest Class for you.
Title: Re: Priest Game Issues?
Post by: Eldargard on December 19, 2014, 09:37:40 AM
Priest and the religious game has long been touted as a RP avenue rather than something that was designed to add unique game mechanics. If the idea of RPing a religion and its trials and tribulations are not appealing to you, if you are looking for the Priest class to in some way be "equal" to other classes in terms of ability, then I agree, there is little point to the Priest Class for you.

It sounds to me like players are pointing out what sound like valid concerns. I do not know if there really is a problem with the code but it seems kind of inconsiderate to simply say this. Sure, I can appreciate that the priest is centered around RP. All the same, if those buttons are so unimportant, remove them all and all mechanic related to them. IF a priest truly has so little ability to convert peasants, then why even bother tracking peasant faith at all? If we are not tracking peasant faith, why even have buttons priest players can click that depend on having peasant followers? IF everything does work and people are just misunderstanding the game, then help them understand it!
Title: Re: Priest Game Issues?
Post by: Anaris on December 19, 2014, 01:16:02 PM
There are known problems with the code—I've mentioned before that when I adjusted temple effects on religious followers a year or two ago, I pushed the effects too far, and they now overwhelm preaching in most cases.

I know more or less what needs to be done to fix it, but it's going to be a somewhat laborious process, and I haven't had time to do so yet.
Title: Re: Priest Game Issues?
Post by: Eldargard on December 19, 2014, 01:49:56 PM
That makes perfect sense.
Title: Re: Priest Game Issues?
Post by: Chenier on December 19, 2014, 03:24:08 PM
All of the RP the priest class is for can be done just as well with any other class, leaving the priest class completely pointless in all but a very few rare cases.
Title: Re: Priest Game Issues?
Post by: kamandi on December 19, 2014, 05:10:42 PM
There are known problems with the code—I've mentioned before that when I adjusted temple effects on religious followers a year or two ago, I pushed the effects too far, and they now overwhelm preaching in most cases.

I know more or less what needs to be done to fix it, but it's going to be a somewhat laborious process, and I haven't had time to do so yet.

Thank you- I appreciate the answer.

That's all I was looking for.
Title: Re: Priest Game Issues?
Post by: kamandi on December 19, 2014, 05:46:26 PM
Priest and the religious game has long been touted as a RP avenue rather than something that was designed to add unique game mechanics.

But it has unique game mechanics. They just don't work. I love RP- anyone in a realm with my characters can attest to that. And my priest is very active. But are you actually saying that this class with it's own skill set should be viewed as solely RP, with nothing to add to a region with regards to affecting the game? Adventurers are more useful.

If the idea of RPing a religion and its trials and tribulations are not appealing to you, if you are looking for the Priest class to in some way be "equal" to other classes in terms of ability, then I agree, there is little point to the Priest Class for you.

I'm pretty sure I never said anything of the sort. I just want my character to be more than a message machine, and the sum of his sub-class. Is that not reasonable?
Title: Re: Priest Game Issues?
Post by: kamandi on December 19, 2014, 05:47:41 PM
It sounds to me like players are pointing out what sound like valid concerns. I do not know if there really is a problem with the code but it seems kind of inconsiderate to simply say this.

Thank you.
Title: Re: Priest Game Issues?
Post by: Chenier on December 19, 2014, 07:36:49 PM
I'm pretty sure I never said anything of the sort. I just want my character to be more than a message machine, and the sum of his sub-class. Is that not reasonable?

A preaching adventurer actually sounds pretty darn cool.
Title: Re: Priest Game Issues?
Post by: pcw27 on December 24, 2014, 07:38:31 AM
A preaching adventurer actually sounds pretty darn cool.

Hey that could be something, change priest to "Bishop" or "Cleric" or something of that sort and make an adventurer class of "priest" or call the adventurer priests Acolytes or something. Adventurer priests can build shrines, but not temples. Instead of "preaching" they "hold services" which reduces the chance of a paganism surge, makes conversions harder for priests/clerics of other faiths and has the slim chance of attracting a convert or two.

Also you can still hunt undead, and maybe even get a bonus to it.
Title: Re: Priest Game Issues?
Post by: Indirik on December 24, 2014, 03:50:27 PM
We will not have be having adventurer priests, nor priests that hunt undead.
Title: Re: Priest Game Issues?
Post by: Chenier on January 03, 2015, 03:53:20 PM
We will not have be having adventurer priests, nor priests that hunt undead.

Nothing prevents a advy from preaching, as in, trying to convert other player characters.
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 03:50:31 PM
I've made a couple of tweaks to how the turn change script handles followers, which should both reduce the number of followers that leave a religion for no particular reason and reduce the effect that temples have on followers.

Together, these changes should increase the impact that preaching has.

It's only on testing for now, and it may be somewhat subtle, so for those of you on Dwilight and Beluaterra, please keep an eye on things for the next few weeks and see how the tweaks affect actual gameplay.
Title: Re: Priest Game Issues?
Post by: Chenier on January 13, 2015, 04:17:07 PM
I've made a couple of tweaks to how the turn change script handles followers, which should both reduce the number of followers that leave a religion for no particular reason and reduce the effect that temples have on followers.

Together, these changes should increase the impact that preaching has.

It's only on testing for now, and it may be somewhat subtle, so for those of you on Dwilight and Beluaterra, please keep an eye on things for the next few weeks and see how the tweaks affect actual gameplay.

Isn't Dwilight stable, now?
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 04:24:24 PM
Isn't Dwilight stable, now?

Huh? No...Dwilight and BT are testing, and have been since their respective openings.
Title: Re: Priest Game Issues?
Post by: Chenier on January 13, 2015, 04:57:31 PM
Huh? No...Dwilight and BT are testing, and have been since their respective openings.

Game says stable when I look up by Dwi character, so something's off somewhere.

Actually, it also says stable for BT.
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 05:02:32 PM
Game says stable when I look up by Dwi character, so something's off somewhere.

Actually, it also says stable for BT.

Can you be more specific? What, exactly, says "stable"?
Title: Re: Priest Game Issues?
Post by: Chenier on January 13, 2015, 05:24:34 PM
Can you be more specific? What, exactly, says "stable"?

Top right of the browser screen, when logged in to a character page.
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 05:31:51 PM
Top right of the browser screen, when logged in to a character page.

Ah, that just means that that's the branch that particular page is currently on: just because you're on testing doesn't mean that any given page has a separate testing version.

Click on Command on Dwilight or BT, and it should change to "testing," because that page does have some slight changes at present.

If you want to know what branch an island is on, you need to look at the URL.
Title: Re: Priest Game Issues?
Post by: Chenier on January 13, 2015, 05:36:16 PM
Ah, that just means that that's the branch that particular page is currently on: just because you're on testing doesn't mean that any given page has a separate testing version.

Click on Command on Dwilight or BT, and it should change to "testing," because that page does have some slight changes at present.

If you want to know what branch an island is on, you need to look at the URL.

Oh, okay. That's somewhat misleading, though.
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 05:41:37 PM
Oh, okay. That's somewhat misleading, though.

Well, it makes it really easy to get people to post which branch the page they're on is part of when they're making a bug report...and other than that, why does it matter what branch any random player thinks they're on at any given time?
Title: Re: Priest Game Issues?
Post by: Chenier on January 13, 2015, 05:57:10 PM
Well, it makes it really easy to get people to post which branch the page they're on is part of when they're making a bug report...and other than that, why does it matter what branch any random player thinks they're on at any given time?

Well, what matters to the player is what branch his character is, not what branch whatever game mechanic is using.

Devs: "New looting mechanics for testing"
Player: "Oh, this is stable, so I don't need to take it into account"
Player suffers effect of new looting mechanics, is frustrated by the surprise

Bug reports and other such things sometimes encounter similar issues with confusion about what continent is stable and isn't.

It's certainly not a huge deal. But it doesn't seem useful to anyone but the devs to distinguish which pages are testing and which are stable, so might as well hide the info?
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 06:01:41 PM
Well, what matters to the player is what branch his character is, not what branch whatever game mechanic is using.

Devs: "New looting mechanics for testing"
Player: "Oh, this is stable, so I don't need to take it into account"
Player suffers effect of new looting mechanics, is frustrated by the surprise

Bug reports and other such things sometimes encounter similar issues with confusion about what continent is stable and isn't.

It's certainly not a huge deal. But it doesn't seem useful to anyone but the devs to distinguish which pages are testing and which are stable, so might as well hide the info?

That's why it's very faint, in the corner.

We want it to be accessible, so we can ask for it if we need it. And like I said, you can always see what branch you're on right in the URL.

Furthermore, this all started because I explicitly stated which continents were testing continents, and thus should expect to see this change.
Title: Re: Priest Game Issues?
Post by: Chenier on January 13, 2015, 06:08:20 PM
That's why it's very faint, in the corner.

We want it to be accessible, so we can ask for it if we need it. And like I said, you can always see what branch you're on right in the URL.

Furthermore, this all started because I explicitly stated which continents were testing continents, and thus should expect to see this change.

I presume, though, that if a testing continent uses a stable page, then there's probably no testing version of that page, right? So say there's a bug on the character page, it doesn't matter if the guy is on testing or stable, as they both use the same thing. Therefore, it's redundant data for the devs, no?
Title: Re: Priest Game Issues?
Post by: Anaris on January 13, 2015, 06:16:46 PM
I presume, though, that if a testing continent uses a stable page, then there's probably no testing version of that page, right? So say there's a bug on the character page, it doesn't matter if the guy is on testing or stable, as they both use the same thing. Therefore, it's redundant data for the devs, no?

Sure—but there have been instances in the past where someone, by whatever means, ended up using the stable version of a page when there was a testing version available.