Hello There, Guest! Login or Register


My opinion about LVP
#3
Please allow me to start off by saying that posting topics such as this one is nothing but appreciated. You have nothing to worry about, and honestly, I think you’re being much too nice. There is absolutely nothing wrong with sharing your opinion, especially when backed up through thorough arguments as you did here.

I’m personally responsible for modifying and removing many of the features which you have mentioned in your post. It’s part of a large-scale cleanup of the gamemode which we have been working on for over half a year already.

The thing to realize here is that there is a trade-off between technical debt and feature support in the shorter term. Las Venturas Playground’s code is an accumulation of changes by about twenty people over the course of roughly seven years or operation. Six months ago, the compiled gamemode had over 135 thousand lines of code, was over 20 megabytes in size, depended on at least five outdated plugins and had no active developer at all, let alone anyone who actually knew what the code did or where it was. People who tried to touch the gamemode quickly found that it was impractical to do so. The few new developers we did find left after a bare week, simply because fixing a bug was considered to be a huge amount of hassle for a relatively small gain.

We had two options: start rewriting the gamemode from scratch, or taking a temporary hit in which features we support as core functionality was being rewritten. Actually rewriting everything was attempted twice before. Both attempts failed. Miserably. So we focused on identifying the biggest pain points in the gamemode, developer environment and general hackability of Las Venturas Playground, and decided to focus on these. To give you a brief idea of what has happened over the past months:
  • We developed the LVP Pawn Editor, a customized editor optimized for working with Las Venturas Playground’s code. It features project-wide searches, auto completion of function names and a much nicer interface than other editors out there.
  • We severely improved capabilities and performance of the LVP PreCompiler, which enhances our ability to write structured code. We can now use classes in Pawn, have removed a number of limitations and have tooling available for more accurate performance measuring.
  • We have thorough documentation available of large parts of the gamemode. Available online, for anyone to see and use. Critical parts of the code have been documented and were completely restructured to improve usability.
  • We have rewritten the Nuwani IRC system. This was a burden which had been bothering LVP for many years already. Did you know that our bots were based on Delvor rather than the open source Nuwani code?
  • We have written our own MySQL plugin, completely and safely multi-threaded, to replace the system which previously was in place. It’s completely asynchronous. We also wrote our own Zone Manager plugin which will enable a better working cash-point system, as well as a future gang system. We also moved to JSON data files for a lot of semi-dynamic data storing.
  • We completely rewrote player account handling, both in the gamemode itself, in the databases and on the website. This has yielded very significant security improvements.
  • We improved performance of the entire gamemode by over 45%.

You will be absolutely correct for making the observation that none of these projects are player facing. It’s true, we focused on the developers for a few months, and I believe that will start paying off shortly. For the first time in years it’s becoming fun and possible to work on Las Venturas Playground again. Recall the numbers I mentioned earlier about the gamemode; today, we have 90 thousand lines of code (-45 thousand), a compiled gamemode of 10 megabytes (-50%), no outdated plugins, much better performance and various developers who know what they’re doing.

As part of a new account system, 45 thousand removed lines of code and many more related clean-ups, we indeed removed a large number of features. Settings such as blocking teleports and the gang system are part of this. I have to admit that I originally expected these features to be back in the gamemode after a week or two, but got distracted with other things and thus have not been able to re-implement them.

An area in which Las Venturas Playground development hasn’t been doing well is keeping track of bugs. Trac is often considered to be too technical for many people to report bugs in, whereas the forums and spreadsheets are very accessible solutions, while very messy as well. We have been cleaning up Trac over the past few weeks and are ramping up to using that as the bug tracker.

Looking forward, we’d like to make much more features open source. On the short term planning are releasing the MySQL and Zone Manager plugins, which will be useful to many more communities. The LVP Pawn Editor already is available to the public (although we cannot make this open public due to licenses), and we have plans to release the LVP PreCompiler on the slightly longer term. This will, hopefully, create a healthy developer climate around our community.

And that community is exactly where the critical point lies in the situation LVP is in. Yes, I agree with cake that we need new features on the website. We need to fix all the bugs. We need to implement many new features, and create a great, unique experience for players to play in. However, right now there are only three people who are consistently writing code for the community, and all have only a limited amount of time available. What we need is a stronger, larger group of developers, and that’s very hard to gain.

Without diving into the individual features you’re describing, I think we can agree on critical functionality for players on Las Venturas Playground being broken. We should, must make steps towards fixing this, and I’d like to propose the following steps in order to get there.
  • We open up Trac issues for the world to see. The account system will be linked to Las Venturas Playground’s user databases (i.e. people are already registered), and anyone is able to report bugs and see whether progress on them is being made.
  • The most important bugs need to be filed in the bug tracker as soon as possible, and marked with a high priority. We will spend time on fixing these as soon as possible.
  • Incidentally, we introduced an instrumentation system in the gamemode yesterday to keep track of which features players are actually using, which will give us significantly more insight in where to focus our time on.
  • Going forth, we should start prioritizing player experience above developer convenience, given that the latter has reached an enjoyable point.

Does that sound reasonable to you?

Russell
Reply


Messages In This Thread
My opinion about LVP - by Beaner - 04-29-2013, 08:17 PM
Re: My opinion about LVP - by cake - 04-29-2013, 10:39 PM
Re: My opinion about LVP - by Russell - 04-30-2013, 12:35 AM
Re: My opinion about LVP - by Beaner - 04-30-2013, 11:25 AM
Re: My opinion about LVP - by Russell - 04-30-2013, 12:01 PM
Re: My opinion about LVP - by striker - 04-30-2013, 03:50 PM
Re: My opinion about LVP - by Russell - 05-01-2013, 01:25 AM
Re: My opinion about LVP - by striker - 05-02-2013, 03:04 AM
Re: My opinion about LVP - by Russell - 08-14-2013, 01:26 AM
Re: My opinion about LVP - by Beaner - 08-16-2013, 07:17 AM
Re: My opinion about LVP - by striker - 08-17-2013, 12:00 AM