Good evening ladies and gents,

as the title says, the Windower team is recruiting. The reason for this, as some may have noticed from other threads, is that the current development team is drastically reduced due to SE sucking and not being able to motivate us to keep playing. Currently we have about 1.55 active core/plugin devs and about as many active addon devs, and they overlap as well.

That is not a lot to maintain a project of this scale, especially since there are a number of fringe projects related to us that many might not know about yet. So what follows is a listing of projects we're currently maintaining (or rather, struggling to) along with a short description of what it entails. If you feel you're able and willing to contribute to any of them, feel free to PM any one of us or hit us up on IRC.

Note that you can help out for more than one of these projects. Currently we all do a bit of everything anyway, so the lines are very blurry. One requirement we do expect from all of the projects is communication. For that we mainly use IRC, but for the less teamworky jobs in the list this isn't a definitive requirement. If you want to apply either send me a PM or hop on IRC (the latter is recommended, since you'll want to use it as part of the team regardless). You will find all of us on the FFOChat network (irc.ffochat.com) in the #windower channel. The easiest way to get there is to simply load the FFOChat plugin, it will automatically connect. To talk, then type /x <message>, where x is the channel number (2 for a default installation, it will say when you connect). You can also type /pm arcon <message> to talk to me directly.

Also note that all specific language requirements can be relaxed if you already have general programming experience and are able to pick up new languages. We don't work on a strict schedule, it's not an issue if you take a while to get into it before you start working. Not like we're paying you or anything. And speaking of which, we're not paying you or anything! Consider it charity work for the poor souls having to deal with SE's software.

So here's the list of things you can do to help out. If you're not sure about some of the requirements or what exactly it entails, feel free to ask about it.

Plugin development

This is a crucial area and the one that requires the most skill and knowledge. As some may have noticed, we shifted focus from plugins to addons, and we intend to continue that trend. However, there are plugins that still need maintenance or bug fixes (especially after every update), and some plugins cannot be converted to addons, because Lua lacks some crucial low-level functionality, and LuaCore needs to be maintained and developed as well. That's what this position is for.

All plugins are written in C++, hence knowledge of it is appreciated, but not required if you're a good programmer and think you can pick it up. This will also entail bit-level trickery, working with pointers and general memory infrastructure, internal memory layout and packet analysis.

Addon development/maintenance

Addons can be developed by anyone, so this is a bit of an obvious position. However, many addon devs joined, made an addon and disappeared. Some don't work right and some require maintenance after an API change. Ideally, that shouldn't happen, but reality is rarely ideal. This is not quite an important position, but help with this would also be appreciated.

General programming language is expected, Lua knowledge preferred, although that's pretty easy to pick up if you know any other languages.

Wiki/doc maintenace

Again, not terribly important, but since I'm lazy and stupid the docs often go out of date when I add to or change the API, and that shouldn't really happen. So this is a) for maintaining an accurate API reference, b) documentation and perhaps tutorials for Lua libraries and their usage and c) hopefully, eventually, a listing of plugins/addons and their documentation.

This one requires some familiarity with various plugins/addons/LuaCore as well as communication with the dev team.

FFXIDB

This one is a three-parter.

Website

The actual website. This does not have to include visual design (although we definitely wouldn't say no to that), but mainly infrastructure (server setup, efficiency, DB handling, etc.).

The website is written in Python (Flask) and we use Mongo DB with a Python ORM (conjure).

Server-side data

This includes collections and organization/display of all data we collect. This currently entails kill data, synth data, Voidwatch data and mob spawn data.

Again, Python is the language of choice here, but more important is understanding of game data and a sense of statistics.

Client-side data handling

The FFXIDB plugin has been available on Windower 4.1 for a while, although as of now it's not much more than a minimap. This should be extended to incorporate data from the FFXIDB website in real-time, to look up NPC positions, mob spawn positions, drop rates and whatever else you can think of.

The requirements are the same as for plugin development (it is just another plugin, after all) but might also include some networking.

Resource management

The age old problem of Spellcast not equipping new gear after an update, or better yet, crashing the game. Hardly anyone who hasn't been annoyed by that yet, and you can help! POLUtils was the tool of choice to extract resources with. We currently have our own tool we use for Windower-internal resources ever since Radec quit. Maintaining and expanding that will be the main concern of this position. One task will be Lua-formatted table output, so addons can include it easier than parsing XMLs.

The program is written in C# (both ours and POLUtils), knowledge of that or general programming language will help. Also knowledge of game internals (especially DAT files and their infrastructure) will be useful, but we can explain that in detail if you're interested.

Moderators

While we're currently in no pressing need of forum moderators, if you're really interested and want to help, you can apply. What we could use is an issue moderator. Someone who browses old issues as well as new issues on our GitHub repository and tags them appropriately, sets priorities, assigns personnel, closes duplicates, answers what they know and just try to keep things organized in general.

Some technical understanding (no actual programming knowledge) will be useful.

Testers

This is a crucial position and you don't even have to apply for it! As usual, we can always use people that help us test new features and debug them. No particular requirements for this one. Just be active, and report issues. Preferably on our issue tracker or on IRC (or both).