AGS 3.3.x/3.4.0.0 Developer Discussion

Started by Gurok, Sun 09/02/2014 08:45:13

Previous topic - Next topic

monkey0506

Sorry this took me a bit longer than I thought it would, but here you go. Again, this is just the contents of the "data" folder produced by running the make_ags+libraries.sh script, and should be extracted to AGSEditor/Linux. This is based on the latest commit to develop-3.4.0.

Crimson Wizard

#201
I suddenly realize I really want to stop doing this....
For the last four or five years all I do is fixing old and usually ugly code. I do that on my fulltime job, and I do that in spare time with AGS. I feel like forgetting how to write a new and good one. Word "tired" can not describe this, I think "fed up" suits this best.
I am also not really good at working with low level code, like utility algorithms; I would really prefer using someone's library, but I have to hack the utility functions, like graphic ones, all the time in AGS. I feel like I am not doing what I wanted to.
I remember back in 2009 maybe, I wanted to make some games, but I wasn't able, and I have no free time now; while everyone around do that. So I grow even more jealous over time.
I know this may look like childish emotions, but I can hardly help myself.
:embarrassed:

Gurok

Hey, CW. I'm sorry to hear this. I try my best to help out, but not one of us has the time to spend on AGS that you've been putting in lately. Please take a little break, you sound so stressed. If we limit the scope of 3.4.0 we might have an easier time getting something released and some of the new features out to the public.

I have honestly been sticking to the sidelines mostly because I want to speed along the release of the next version. I don't think I've committed anything recently that hasn't been a fix for a regression or a bug I've introduced. I would love to help with the magic pink transparency bug (which I assume is the cause of this tension), but I have no idea where to start.

Some people might say that the hardest part of making a game with AGS is just making a start. But I know for you it's more complicated. You feel a duty to the community to maintain AGS. It's true that without you it's harder, but if you need to take a break, please don't beat yourself up over it. And if you took a break to work on a game, I don't think people would greatly mind.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

Quote from: Gurok on Tue 13/01/2015 12:27:30I would love to help with the magic pink transparency bug (which I assume is the cause of this tension), but I have no idea where to start.
No, it is not a big problem on its own, I already know how to fix this.
But it just stresses me all the time that I am reimplementing something that is so common and might have been already implemented in much better way than I would be able to do.
Also the need to keep backwards compatibility always keep me wonder whether I must keep some buggy behavior to prevent breaking older games...
I really fail organizing the work process, and I keep postponing many breaking changes I was thinking of before, because I've lost belief in what I do here and reluctant to start new tasks.


Alberth

Quote from: Crimson Wizard on Tue 13/01/2015 10:14:54Word "tired" can not describe this, I think "fed up" suits this best.
Stop now is the only advice I can give you.
While it may feel wrong to give up, continuing isn't going to make it better.

Stop now, and do something else. Make a game (and just ignore all issues you encounter in AGS while doing that!), read a book, do nothing, write new shiny code in an unrelated project, whatever makes you happy again. Nobody in the community is going to be happy when you get fed up so much that you walk out (Including yourself is my guess after reading the responses, relieved yes perhaps, happy no.)

Once you cooled down enough to make sane decisions again, decide what you want to do, and if and how AGS fits in that. As you found out, the world has more problems and feature requests than you can manage. Heck, it has more than all developers in the world together can manage. There is no shame in choosing, it's essential to keep your sanity and happiness.

I survive by having 3 or 4 projects at most, and not playing a main role in all but one (anyone here for taking over FreeRCT? :D ) and jumping between them, but it's a personal thing. You will make a different choice, one that works for you.

Quoteand I have no free time now; while everyone around do that. So I grow even more jealous over time.
You're a slave to yourself only.

Nobody has free time, they make it by not doing some things. I have time to write this reply because I don't enter or solve issues for a game script, I don't code the new worldgen window in OpenTTD, I don't code queuing in FreeRCT, I don't make tea, and several other things I can/should do. Other people making eg a game can only do that by not doing other things. You don't have free time, you make it.

Do I feel bad about not doing those things? yes.
At the same time I also feel happy being able to write this message, hoping it's of use to you. At the end it feels like a good choice, even if it is not a very productive one in terms of code or tea. This what it is all about, in my opinion.

Make choices based on what you want, rather than what others want, or what you think others want. Until they pay you, they don't own your free time. (I know it's way easier to say than to do, but you are really in control here. Nobody will come to your house and beat you up because you skipped a day or a week working on ASG, it's safe to do that, really.)

QuoteI know this may look like childish emotions
I think it's brave that you express it here in public. No need to feel embarrassed.

QuoteI can hardly help myself
Here you are wrong, you can make a different decision. I bet you hesitated before opening the new post window, typing the message, and pressing Post. Yet you decided to do it.
In the same way, you can hesitate yet decide not to code AGS for one evening. If that is too long, decide to stop coding an hour earlier than usual. That's how you help yourself. Stop doing bad things by deciding you don't do them. It's as easy and difficult as that.

(And here I am, hesitating whether I want the world to know I wrote this quite personal message...
Yet hoping you can use at least some of it, I decide to go ahead, type this line, and press Post.)

tzachs

I sympathize in more than one way.
I don't want to make personal suggestions, your post feels more like blowing off steam than asking for advice, but on a practical level,
at least the bit about the stress you feel when making changes, this is something probably shared by all who touched the code.
A possible (albeit partial) solution for that would be to have a set of unit tests, which would give developers more confidence that they're not breaking anything.
Of course this would be a massive undertaking and will require maintenance of its own, and will probably take a lot of time until it bears some fruit,
so maybe we're better off staying at this junction, stressed out and overwhelmed. :~(

Atavismus

#207
@CW:
Take a break, have some rest and some fun. :)
(we still have a common game doc ;))

@to the whole community:
We should launch a poll about keeping or not the backward compatibility.
To be true, I don't see why we keep it (I mean, people can do without it easily).
And I guess it will be far easier and faster for the dev team if we renounce to it.
What is your opinion guys?

Crimson Wizard

No, I should not have make this post. Now I feel even worse.
And please, don't make polls just because I was depressed other day. It is not how these decisions should be taken.

abstauber

I hope I didn't add the last straw :-[

Quote from: Crimson Wizard
I remember back in 2009 maybe, I wanted to make some games, but I wasn't able, and I have no free time now; while everyone around do that. So I grow even more jealous over time.
Game creators and their games might bring a little happiness to a broader audience. But you engine coders make us game creators extremely happy :) It was like two birthdays stacked on each other, when 3.4.0.3 came out and included these dialog rendering improvements, a feature I've been hoping for since 2011.

Also if backwards compatibility is such a hassle, we should really discuss if it's still needed. I certainly do not need it.


Atavismus

Quote from: Crimson Wizard on Wed 14/01/2015 00:22:32
And please, don't make polls just because I was depressed other day. It is not how these decisions should be taken.
Don't worry, it's not about you, it's about the engine.
I think about it since ages and even made a topic almost one year ago on the french forum.
http://adventuregamestudio.fr-bb.com/t2288-ags-et-retrocompatibilite-necessite-ou-frein-sondage
As abstauber said : "we should really discuss" about it.

Crimson Wizard

Ok, I suppose we should begin to wrap up the 3.4.0 development.

The most interesting new feature that still needs to be complete is User Objects with managed pointers inside, which in turn requires adding RTTI to script data. I think that it should be a priority (in features field).
Other than that, I do not think that we need to add any major features there.
Gurok, you were working on that before. Do you feel like being able to continue?

I will be finishing few things I was planning, then I'll fully switch to fixing bugs and improving existing features.

Gurok

I will give it a try. My time is limited (as is everyone's). I have a couple of other things on the go right now:
- Support for variable declarations inside for loop initialisers (99% complete)
- Working out why AGD2's project has extra symbols when compiled under 3.4.0 (could be an unintended side effect of some other change)

To be honest, I've forgotten where I was up to, but I'll take a look at it during the week. I'm glad I saved the first pass in a Git branch.

I have been focusing on fixing bugs for some time now. I think most (90%+) of my recent commits have been fixes for bugs I've introduced :-[
[img]http://7d4iqnx.gif;rWRLUuw.gi

Gurok

#213
Sorry for the double post. I took a look at this last night. It's just too much for me at the moment. I feel like I've already made some pretty big changes with scripting. These changes have resulted in little bugs here and there, and while I love AGS dearly, I don't want it chewing up even more of my time. I'm going to have to say I can't do it or we can leave it for later. Sorry.

Edit: To clarify, there will still be more pull requests incoming for regressions and/or bugs found by AGD2. I just don't have time to support even larger changes to the engine that I think would be required.
[img]http://7d4iqnx.gif;rWRLUuw.gi

Crimson Wizard

#214
I was reminded today that this version does not have all features from Draconian Edition yet. And this after two years!!! I don't know how this is happening. I keep loosing track of things ((((((((((((((((((((((((
I need to make a list of draconian features that are still missing.


E: I was ill lately, so I stopped updating things, but I will be doing that again soon.

monkey0506

Just as a reminder, I also need to go through the DataFileWriter class and reimplement some error messages if there are too many of certain items that are still limited on the engine side. Unless of course those limits are similarly removed as the others have been.

I have a week off of school, so I will try to take that opportunity to look at this.

arj0n

Just want to say the AGS Project Tracker team (is that the proper name?) is doing an awesome job!

RetroJay

Hi guys.

I have upgraded to 3.4.0 and thought that I may try to rebuild my game 'The Decorator' with it.
I understand that there are some changes to scripting commands but have I done this correctly.
Originally I had this.
Code: ags
SetSkipSpeech(2);
This made text un-skipable and only continue with timer.
AGS 3.4 doesn't like this and the only thing I can assume it could be now is. :-\
Code: ags
Speech.SkipStyle = eSkipTime;


Is this correct?

Yours.
Jay.

RetroJay

#218
Not to worry. It appears that I was right because it works.

Sorry to say this... but...
I have been working with 3.4 for the past week now and just don't like it. :(
I have gone back to 3.2.1 (Draconian) and feel as if I have just been reunited with an old friend. ;-D


Ok.
Forget what I said above, everything was just wrong with the world this morning and I decided to take it out on AGS. (roll)
3.4 is NOT horrible I just find it rather difficult to work with, at the moment.
I have decided to go back to 3.2.1.(Drac) though for now (sorry I just like it.) ;-D
I will check 3.4 out when it's officially released though.

Yours.
Jay. 

monkey0506

Jay, what was it about 3.4 that made it so unusable for you? Did you experience actual errors?

There are definitely breaking changes, but the current version should be pretty stable by now in terms of actual bugs.




In an unrelated note, I've actually added compile errors to the DataFileWriter class (the new game compiler) for the instances where I had inadvertently removed them (too many dialogs, too many inventory items, etc.). I'm reinstalling VS 2008 right now (formatted the computer recently) so that I can rebuild and make sure that I haven't mucked anything up, then I'll put in a pull request for it.

SMF spam blocked by CleanTalk