Hello everyone,
As zaroth seems to be busy lately, I'll reply to you.
Just wanted to wish you guys the best of luck. We've been far too long without an update.
So, I've looked through the plans and changelog, and it looks like your main goal here is to make the ui more consistent. I've seen the LCS source code, and in my opinion the best thing to do would be just starting over with the menus. It would probably be more work at this point to build on the preexisting menus than it would be to just tear them out and replace them with something better
@ Capital Fish: Thanks!
Thanks, you may expect some kind of little bug-fix/ui upgrade release when all issues on github with milestone "Low hanging fruit" are implemented, which may happen approximately in a month, as the exam session is getting closer and both me and zaroth have had little time lately (and it'll only get worse).
My role so far was changing little things in code not refactoring anything so far to fix the most annoying issues for me and implement little QoL features. Yes. Making the ui consistent is our first and main goal. With object oriented, encapsulated code it'd be much easier to implement other features.
@Gatleos: I agree that the code has to be refactored/rewritten in some points and I do not intend to leave it be as it is now and develop messy code. So far I have been changing little things to familiarize myself with the code. I hope that it will allow me to plan better changes (I'd prefer to avoid making the same mistakes, as I'm not experienced programmer) and implement easy stuff in the current code.
So, what should we replace it with? On one hand, the ASCII graphics of liberal crime squad need to stay. It would be much easier and more in the spirit of the game to continue using them. On the other hand, I think that LCS needs to drop pdcurses if we're going to unobfuscate the ui. The main problem is that there just isn't enough space. A larger, resizable window would make things much easier, as would better keyboard and mouse input methods. I already suggested rendering backend alternatives like libtcod and SFML. It's up to you which we end up using, assuming we go that route.
I'd be happy to work on a brand new, more modern ui for this game, but if you plan on working with the same cluttered and inefficient foundation of C and pdcurses then I'll have to pass.
We planned starting putting the real refactoring effort at the end of June/beggining of July. We haven't considered yet which libraries we will use, but there are two important aspects to focus on:
1) writing the new ui may be done in such way that it'll be easy to port it to anything: like graphical ui or any other interface, or strictly stick to the ascii and don't plan anything in this area. I like ascii graphics in roguelikes and of course I'd start with it, but I'd like to code it in such way that would be easily portable.
2) being resizeable and scallable - it's a mayor upgrade for interface and certainly a must-have feature.
It's also worth mentioning that when we start refactoring, it will take considerable amount of time and it will freeze any other updates of the code. As we are quite unexperienced in this matter, we'd like to do it in small steps (if possible) being careful not to break anything during it. That's why we plan to make unit tests to keep sane :p. So 2 points: 1) we plan to write a brand new ui code 2) but also we want to keep it working after small steps of changes - so it will require working with the old code. It's important for me, as I'm afraid that we might get burdeoned and buried by the amount of things to be done, if we decide to break compatibility/working of the game and code new ui and try to fit it to the mechanics - it's much better to have something working not so far behind to be able to get back to.
If you want to help us in this journey, you're welcomed! But keep in mind, that as I stated before we won't focus on lcs until we have lots of time to spend (which we estimate at the end of the June).
@maiuw62: I agree
@KA101: nice to hear, and nice to see you posting there! I'm glad to meet Cataclysm DDA developper! It's one of my favourite roguelikes with a great potential (heck, there can be done so much, that even ideas of managing your character, dwarf fortress and npc-squad managing (to survive and build base together) can be joined!). I wanted to start developping cataclysm, but I couldn't get started and wanted to find something smaller to grab
juice first.
Greetings!
As I have posted (and have been delayed due to final exam season), I've been working on a fairly extensive mod for LCS that involves rewriting a fair amount of the code. How would I best integrate your code upgrades with mine?
@SlatersQuest: Difficult question. If our project will get to the release, then I'd bother integrating any code, as I am not 100% sure how long we'll manage to work on this.
By the way, having looked at your post with the mod I suspect that you don't use any repository to maintain it. I recommend you learning some (like git) to improve your quality of life
.
Furthermore, if you want to join our version (not the svn one, which by the way, we'll track and pull changes from there), the best option would be to fork us, translate changes you've made so far to your brand new git fork and keep working with github. Having done so, keeping synced with our fork isn't difficult. It will require just merging with master from time to time (the easier to make the more frequent you do it).
On the other hand, if you want to do it every time by yourself, or just once (like just adapt changes I've made so far till today), you can use
github diff (navigate to "Files changed"). It may be difficult without some advanced programming enviroment though, as we've normalized this messy code with script changing (normalizing) indentations, brackets, comments etc and line numbers do not match in both versions (you have to use the context).
I'd like to apologize everyone for any language mistakes I may have made,
Greetings,
Lasica