It is currently 26 Apr 2024, 09:20
   
Text Size

Forge Wars

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby drdev » 22 Jan 2014, 17:30

Agetian wrote:r24429: It looks like some borders have disappeared since recently in some of the windows (e.g. the window below indicates that the green field inside the brown window does not have any border, I'm pretty sure it used to have one). Also, I think the inside borders may be missing in a similar way in the Card Detail box.

Another thing is: please note that the title of the popup window is malformed (it says "Choose a card to put into", not saying where exactly to put it). This window is a popup from a card with a Hideaway keyword ability.

- Agetian
The borders are a simple fix I'll make later today.

As for that title, I had fixed it awhile back, then Max reverted my change because he didn't like the function I created on ZoneType. I fixed it again a different way using a static utility method that I thought he would be ok with, and Max reverted my fix yet again (r24381), without even saying a word.

Max, what the heck? If you want to keep being righteous about me interfering with core code, then stop interfering with GUI code. At least my only crime is structuring code differently than you'd like, whereas you continuously break things when you mess with or revert my changes without even talking to me or taking the time to test what you're changing properly.

I'm trying to make peace with you, but you're making it really hard.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 22 Jan 2014, 19:52

drdev wrote:Max, what the heck? If you want to keep being righteous about me interfering with core code, then stop interfering with GUI code. At least my only crime is structuring code differently than you'd like, whereas you continuously break things when you mess with or revert my changes without even talking to me or taking the time to test what you're changing properly.

I'm trying to make peace with you, but you're making it really hard.
What? Are you unhappy with a revert of your game-to-gui dependencies? Who the hell are you to make claims here?

Didn't I tell you last time that those text routines had impossible references?
But you didn't listen, and that's your problem.

So it's your stupidity and inability to understand the modules composition is what you have to make peace with.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby drdev » 22 Jan 2014, 20:44

Max, do you really have to be such a jerk about all this? I genuinely tried to listen to your feedback, which is why I moved the function from ZoneType to a static API function. When I committed that change, all associated files were in forge-gui. I did nothing in forge-core or forge-game. Is it really my fault that afterward you chose to move things around? The bigger point here is that you just move things around and revert changes without even bothering to make stuff work again or involving the developers whose code you are messing with. And then you have the audacity to call me stupid.

Who am I to make claims? I'm the guy who has poured countless time and effort into improving the user interface of this great program in the last 6 months. I'm the guy who can't seem to get anything but disrespect and unhelpful criticism from you at every turn. I'm the guy who keeps trying to make peace and work with you and each time you basically just spit in my face.

Perhaps a better question is: Who the hell are you to domineer this project and constantly put down one of its most dedicated developers just because he doesn't always understand or agree with your decisions?

Please don't make me draw a line in the sand. Because I'm very close to leaving Forge because of you, and I really don't want to. I've had it with your attitude and your complete lack of respect. I'd like an apology.
Last edited by drdev on 22 Jan 2014, 21:00, edited 4 times in total.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 22 Jan 2014, 20:45

Max mtg wrote:
drdev wrote:Max, what the heck? If you want to keep being righteous about me interfering with core code, then stop interfering with GUI code. At least my only crime is structuring code differently than you'd like, whereas you continuously break things when you mess with or revert my changes without even talking to me or taking the time to test what you're changing properly.

I'm trying to make peace with you, but you're making it really hard.
What? Are you unhappy with a revert of your game-to-gui dependencies? Who the hell are you to make claims here?

Didn't I tell you last time that those text routines had impossible references?
But you didn't listen, and that's your problem.

So it's your stupidity and inability to understand the modules composition is what you have to make peace with.
Max, are you kidding? You NEED to be civil with other people in these forums. We've talked about this previously, you are not KING OF FORGE. You are one of the many members who contribute. You need to explain what you are doing. You can't just bludgeon your way past anyone who does things differently than you do. If people are working on something, and you don't like it, explain as best as you can why you think you are doing things wrong. I haven't seen anything of the like from you except for "It's not the way I want", if people don't immediately grasp what you are going for, you need to provide reasons why it's better. Not just beratement until they quit and leave the project altogether. There's no way you can convince me that drdev hasn't helped the UI tremendously in his short time here.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Forge Wars

Postby Max mtg » 22 Jan 2014, 21:47

Sol, I am the only person thus far who introduces revolutionary changes, such as, you know, modules, threads, multiple players or control over other players (to mention the last year's achievements). Noone else could could do that, including you. The titanic work I've fulfilled implementing that, ironing out over 900 references like AllZones.getHumanPlayer(), then about 200 game to gui dependencies gives me the right to be the final authority for the questions of code quality.

And I will not tolerate newcomers changing the code they have no idea of how it works and claiming that their changests may not be reverted. I've told drdev to apply that texts update after module extraction, but he didn't listen and wait, reapplied it and came up with "what the heck" claims. So who exactly is bludgeoning their way past other people?

Drdev has improved the ui, indeed, but he's as good as a wall painter. I bet he won't be able to connect the deck editors and deckmanagers alone, so that the latter reflect changes made in the former. So why make him quit? No reason to expell a good wall painter, let him adjust margins and skin controls - I totally like this idea. But from the changes drdev attempted at core, it's easy to conclude that he lacks the understanding of modules' purpose and set of their liabilities. That is why it's too early for him to insist on keeping his changes in any module deeper than ui.

Sol, what don't you like about my "way I want"? It has always brought us to successful imlementations this far. I do not understand your distrust in my vision. Besides, it is quite well explained in threads devoted to multiplayer, modules and developer plans.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby drdev » 22 Jan 2014, 23:36

Max, what the hell is your problem? Nobody is questioning your contributions, just your communication skills. You say I'm new and don't understand stuff, then how about you offer constructive criticism to help me learn instead of berating me or breaking functionality behind my back.

I asked for an apology, but instead I get an arrogant reply where you belittle my contributions and capabilities and defend your right to be a dick. It's nice to know you think UI development is a joke and that no other developer's work on Forge holds a candle to yours. Ever heard of teamwork?
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Xitax » 23 Jan 2014, 01:09

No one is going to benefit from this drama, least of all those of us who use Forge and hope great things from it. I don't want anyone who's providing useful input into this project to have to leave because communication issues prevent the person from being able to contribute, or worse make them feel put down. I appreciate all of you and what you do and I'm grateful.

As to the nature of the discussion, I can only say this: I am a senior electrical design engineer by trade and working with others is the lifeblood of my job. Without good communication I can't accomplish anything. Mutual respect is essential. Another thing that is necessary whether I like it or not is dealing with newbies. I don't like training new people but I often do and it tests my patience sometimes. It's necessary to play the part of mentor if you have the knowledge and experience whether I like it or not, and the upside is that soon enough the new person is contributing useful work, so please consider this for the sake of Forge's future.

Thanks!
Xitax
 
Posts: 918
Joined: 16 May 2010, 17:19
Has thanked: 183 times
Been thanked: 133 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 23 Jan 2014, 05:37

I agree that the war just has to stop. No one is going to benefit from it and the people who are going to lose in this war are the users of Forge who will eventually find the project abandoned. If anything, I don't want to see that happen.

I respect the fact that so many people from different corners of the world, all different in profession and skill, have gathered here united by their love for Magic: The Gathering and their desire to make a free, open source, and cross-platform game that can be enjoyed by millions of people in the world. All of us here have different levels of programming skills. For instance, admittedly, I'm not even a professional programmer, I'm a teacher of English at a university. Programming is my hobby and one of the ways to improve at this hobby has been working with all of you guys here on Forge. If it hadn't been for Forge, I would have never learned (or had the desire to learn, potentially) all those things about coding principles and Java that I have learned over time in order to be able to help here and make the game a little better. I admit my code has never been quite high level as far as clean code design goes. My first attempts at coding when I just came here were, in fact, horrible - and even now, after four years of tinkering, I admit my decisions are not the best, far from it actually. And, on the one hand, I do welcome and respect criticism which allows me to see what I've done wrong and I'm honestly trying to improve what I'm doing as long as and as far as I understand what was wrong in my designs.

On the other hand, what did keep me here was good communication, which was especially important for me during my first year here and which is still very important. If all I ever got was constant bashing and no one ever told me how to correct myself or how to improve, I probably wouldn't have stayed for very long because I would not have seen a point in staying where I was pretty much not wanted, I would have looked for another project to join, maybe even MAGE or Magarena or something else and seen if the communication was better there. Forge might have benefitted from me leaving in the way of coding standards and code cleanliness (after all, amateur programmer Ag wouldn't have spoiled the code with his poor implementations), but it would have lost in the way of some features that I was able to help out with and that nobody else had the desire to spend time on.

The point of the matter is, all of us are trying to do the same thing - work towards the benefit of the project we love and we want to see grow. We are all different, and sadly, many of us are non-pro programmers and we also have other work and responsibilities to take care of, and only so much time to devote to programming in general and to Forge in particular. Forge has never been a fully professional project in the sense that only professional programmers ever worked on it. Also, it was never a commercial project (luckily for us, or WotC would have shut us down in an instant), so nobody ever got paid for it and, at the same time, nobody had an entity above them imposing deadlines and specific coding standards.

Every time we release a new beta, there are approximately ten people on the list, give or take, who contributed to the project and made it better. Some of them leave for a while when the life pressure is hard, I know I did more than once, and then they return... most of the time. But if we start leaving forever, I'm afraid Forge may become an abandoned project sooner than we can imagine. If swordshine leaves, boom - almost no new cards for us for quite a while, I imagine it'll be much harder to implement new sets the way we do, almost on the release day. If drdev leaves, boom - almost no UI usability improvements in the foreseeable future, I don't see anybody else willing or ready to work on the UI consistently and practically full time except moomarc's amazing effort on the Constructed screen improvements. If Max leaves, boom - our code may eventually grow bloated and disorganized without his professional programmer's contribution and Forge may end up with a tangled code base that will be difficult or impossible to maintain. The same can be said about each and every other person here who finds time and believes it's a worthy cause to spend time on Forge.

Please, all of you, take a minute to consider all this and please cease fire before it's too late. We are good when we work as a team. But neither of us can make our dream project a success all alone.

- Agetian
Agetian
Programmer
 
Posts: 3472
Joined: 14 Mar 2011, 05:58
Has thanked: 677 times
Been thanked: 561 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 23 Jan 2014, 06:49

drdev wrote:Max, what the hell is your problem? Nobody is questioning your contributions, just your communication skills. You say I'm new and don't understand stuff, then how about you offer constructive criticism to help me learn instead of berating me or breaking functionality behind my back.

I asked for an apology, but instead I get an arrogant reply where you belittle my contributions and capabilities and defend your right to be a dick. It's nice to know you think UI development is a joke and that no other developer's work on Forge holds a candle to yours. Ever heard of teamwork?
It is your commits to game or core modules that break functionality behind my back. "Let's compare current player to gui-player inside game code" - fine, but forget about modules then. And how do you call the second rejection of that "features that cannot be stopped by code"? - A spit into face!
Now after a more aggressive response you get offended - nice strategy.

If you are to learn then please be humble and don't display here "hard to make peace with you" moods.
If you are to "crush your way through code" then stay away from layers under swing app. I've spent too much time refining them (and the process is not over yet) to let someone just come and add chaos on those layers.

I don't understand at all why to develop this swing-based UI. Even with all that skinning it won't look like a nice 3D interface similar to the one DotP has or HEX tcg is working on. Swing cannot be ported to mobile devices (unlike Java FX); on the technical side swing is famous for memory leaks dealing with BufferedImage (that's why a third-party library is used to resize images instead of having swing) and listeners, even oracle themselves no longer bet on this technology. So, this UI development is a dead end in a longer run. Sure, the improvements will bring some fun to the dedicated players. Yet, speaking of current trends, Forge needs a client for mobile devices and browsers. Better to have one for all platforms, than separate Forges for Android, iOS, web and desktop.
Unity is the best platform for that purpose, but unluckily it uses a different technology stack. So is the remaining option Java FX?

Speaking of teamwork, other developers don't rush to alter code they don't understand, don't insist on specific changes if those don't fit and display less emotions when something goes different from what was expected, and that helps for good teamwork.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 23 Jan 2014, 07:37

Agetian wrote:Every time we release a new beta, there are approximately ten people on the list, give or take, who contributed to the project and made it better. Some of them leave for a while when the life pressure is hard, I know I did more than once, and then they return... most of the time. But if we start leaving forever, I'm afraid Forge may become an abandoned project sooner than we can imagine. If swordshine leaves, boom - almost no new cards for us for quite a while, I imagine it'll be much harder to implement new sets the way we do, almost on the release day. If drdev leaves, boom - almost no UI usability improvements in the foreseeable future, I don't see anybody else willing or ready to work on the UI consistently and practically full time except moomarc's amazing effort on the Constructed screen improvements. If Max leaves, boom - our code may eventually grow bloated and disorganized without his professional programmer's contribution and Forge may end up with a tangled code base that will be difficult or impossible to maintain. The same can be said about each and every other person here who finds time and believes it's a worthy cause to spend time on Forge.
Let me disagree with you.

If anyone leaves, no catastrophe happens at once.
* The worst impact will be noted if swordshine or any of people implementing new sets leaves. That will be seen in under 3 months when there are little to none cards implemented for the new set.
* If there are no further UI improvements (like when another young man called doublestrike left), the game will have the same rarely changing screens for a while. Not a big problem.
* If I leave - there'll be no one to take those baby-steps improving the platform. No more hope for over network multiplayer in short. Code will degrade slowly, you may have a look at GUI to estimate what it will look like in a couple of years. Singletons, global objects, screens using each ohter's internals, many duplicates (all those variant screens). I haven't ever cleaned up GUI, it's just where the regular development flows in this project.

But the code will compile still, moreover, someone is going to take the most urgently needed members' roles. So, there won't be a big trouble at the moment someone leaves.
That can be a loss in a longer term, in terms of lack of improvements and lack of development, no new features added, but no catastrophe in momentum.

This is to minimize the threats of someone's leaving and put that blackmails aside.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby drdev » 23 Jan 2014, 15:57

First of all, thank you to friarsol, Xitax, and Agetian for speaking up here, not so much in my defense as in defense of Forge and its future, which I care more about than my personal pride.

Max, let me start by clearing up a few misconceptions you seem to have, which may have contributed to your recent rise in animosity towards me.

  • I do believe code organization is important, and I'm quite grateful for your hard work in that area. Those comments I made about "features > code" came off wrong and were said out of frustration. I do intend to involve you more in any future changes I need made in non-gui code, such as I did with the DeckProxy stuff you just worked on, though I'd still like the opportunity to sometimes do it myself with your guidance so I can learn.
  • I never said I should be exempt from having my changes reverted. If I break something, I'd rather somebody revert that change than have a bug introduced. All I asked was that you explain why you're reverting something I did so I can learn from my mistakes, and perhaps give me the opportunity to fix it myself. If you want to fix it yourself, all I asked was that you please involve me so you don't break functionality in the process.
  • I am not a novice programmer. I've worked full-time as a software developer for the past 5 years after getting my Bachelor's degree in Computer Science. If nothing else, I'd like to think my work on Forge in the past 6 months speaks to my capabilities. I still need guidance when working with new code, of course, but I feel you look at me as though I lack the knowledge and capabilities to ever work with any core code, which is not true. I hope through collaboration you'll be able to trust me more eventually, and I am sorry that I've overstepped in the past. I just get excited when I work on new projects, and that leads me to get ahead of myself at times.
  • I was not threatening to leave Forge in an attempt to pressure you to back off and let me have my way with the code. I was only stating that I'm choosing to volunteer my time to Forge, and being treated so poorly by you was making me question whether it was worth it. I've decided it is worth it, as I care more about Forge than my personal pride as a programmer, and if that means having to shrug off your insults, then so be it.

As others have said, this war needs to stop. I want it to stop, and I'm sure you must too. I may not appreciate your attitude towards me, but my pride is less important than Forge. So let's please reach a compromise. Here's my proposal:

I will:

  • Not commit changes outside GUI libraries. If I need anything done outside there, I will either send you a patch to look over, or send a request for you to develop. I will let you decide when you feel it's appropriate to lift this restriction once I've spent more time on Forge.
  • Try to control my emotions better when I receive criticism from you.
  • Not be defiant or ignore your feedback.

In return, I ask that you:

  • Provide more constructive criticism to help me learn my way around non-gui code better.
  • Not insult me and belittle my contributions.
  • Treat me with the respect you would a co-worker who's just newer than you.

Max, will you agree to these terms? I'm of course open to any requests you'd like to add.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Max mtg » 23 Jan 2014, 19:02

drdev wrote:All I asked was that you explain why you're reverting something I did so I can learn from my mistakes, and perhaps give me the opportunity to fix it myself. If you want to fix it yourself, all I asked was that you please involve me so you don't break functionality in the process.
I hope the next time you won't ask for explaination with phrases like
drdev wrote:Max, what the heck?
With that realized, let us be educated and polite instead. That's a more pleasant way of development and eliminates any reason to question anyone's capabilities or personal traits.

drdev wrote:I am not a novice programmer. I've worked full-time as a software developer for the past 5 years after getting my Bachelor's degree in Computer Science. If nothing else, I'd like to think my work on Forge in the past 6 months speaks to my capabilities. I still need guidance when working with new code, of course, but I feel you look at me as though I lack the knowledge and capabilities to ever work with any core code, which is not true. I hope through collaboration you'll be able to trust me more eventually, and I am sorry that I've overstepped in the past. I just get excited when I work on new projects, and that leads me to get ahead of myself at times.
Could that be different skills - writing code and designing software?
I'll trust you at the moment you start taking great or at least good design decisions. Right now I can't, sorry.

drdev wrote:I was only stating that I'm choosing to volunteer my time to Forge, and being treated so poorly by you was making me question whether it was worth it. I've decided it is worth it, as I care more about Forge than my personal pride as a programmer, and if that means having to shrug off your insults, then so be it.
Surprisingly, everyone is volunteering here and noone is paid.
The problem is this project turned out to be addictive, I tried to quit a couple of times but could not.

I believe that as long as this compromise is followed, your programmer's pride is safe.

Agreed on terms with an addition:
from your side: "do not try to recommit any rejected change before discussing the reasons why it was rejected" (especially when it comes to periods of modules extraction - there could be a couple more of such periods later)
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Bug Reports (snapshot builds)

Postby drdev » 23 Jan 2014, 19:16

Max mtg wrote:...
Agreed on terms with an addition:
from your side: "do not try to recommit any rejected change before discussing the reasons why it was rejected" (especially when it comes to periods of modules extraction - there could be a couple more of such periods later)
I accept this addition, and thank you for agreeing to my other terms. I hope to one day earn your trust.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times


Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 121 guests


Who is online

In total there are 121 users online :: 0 registered, 0 hidden and 121 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 121 guests

Login Form