Page 1 of 3

Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 6:30 pm
by Klonan

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 6:41 pm
by Bart
but it wouldn't be us if we didn't break mod compatibility in a new release.
:lol:

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 6:42 pm
by Rhamphoryncus
I've done a GUI lib before.. my sympathies for the pain involved. I'm sure the result will be worth it though.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 6:43 pm
by eradicator
I already love you for keeping the gui debug-view in for us modders.
Can you estimate just how bad the gui breakage will be? I'm on the verge of writing some rather large mod gui and if it's too bad i might as well postpone it until release of 0.16.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 6:50 pm
by MasterBuilder
eradicator wrote:I already love you for keeping the gui debug-view in for us modders.
Can you estimate just how bad the gui breakage will be? I'm on the verge of writing some rather large mod gui and if it's too bad i might as well postpone it until release of 0.16.
You'll be waiting a lot longer than that:

https://www.factorio.com/blog/post/fff-212
Finally the million dollar question is when will this be in game? Because it's quite a bit of work we already pushed the GUI update to 0.17. On the bright side, this mean 0.16 will come a bit sooner.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 6:57 pm
by Rseding91
eradicator wrote:I already love you for keeping the gui debug-view in for us modders.
Can you estimate just how bad the gui breakage will be? I'm on the verge of writing some rather large mod gui and if it's too bad i might as well postpone it until release of 0.16.
Not that bad. It will be mostly find-and-replace kind of fixes that mods need to do.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 7:11 pm
by PunkSkeleton
Didn't you consider writing your own GUI library from the scratch? From my experience open source software can often be scary (my favorite example is JFreeChart which would randomly crash when using multiple windows until I did single synchronize on the top level of this library drawing function), especially when it wasn't written to do what you want to do. Once you pass certain level of understanding it is often better to rewrite the whole thing from the scratch instead of applying dirty fixes.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 7:48 pm
by Gergely
PunkSkeleton wrote:Didn't you consider writing your own GUI library from the scratch? From my experience open source software can often be scary (my favorite example is JFreeChart which would randomly crash when using multiple windows until I did single synchronize on the top level of this library drawing function), especially when it wasn't written to do what you want to do. Once you pass certain level of understanding it is often better to rewrite the whole thing from the scratch instead of applying dirty fixes.
I kind of agree. It will take some time (actually, I think it would take as much time as the multiplayer rewrite did) but then you would have yourself a library that is fine tuned for every "special case" you come across. And in game development, there are a lot of special cases. Trying to fix a third party library( where the writer has no idea what it will be used for) is the same as solving that bridge construction fail with an s-bend and calling it "straight enough":
Bridge Construction Fail

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 8:12 pm
by Proxy
I'm just impressed i'm able to add 10 Module Slots and 33 Fuel slots to a machine and it doesn't break the Game, except for adding scrollbars to the fuel slots

Can't wait when GUIs will actually get some textures or some fancy glass effect (the ray one) or rust or something

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 8:36 pm
by Durabys
Bart wrote:
but it wouldn't be us if we didn't break mod compatibility in a new release.
:lol:
Maybe it will finally force the lazybones who haven't fixed bugs in their mods since 0.14 (and basically only made their mods compatible for 0.15 and nothing else) to get up their arse and start working on their mods again. ;)

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 8:49 pm
by ssilk
Wonderful.

Byebye for a 1.0 release this year. :) I nearly have won my bet with other webadmins at the release party in June. :D

Keep on this direction. It will look fantastic and will have a superior mod-ablity.

PS: What remains is just to replace lua with javascript ... <duck> ;)

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 9:00 pm
by Xterminator
ssilk wrote:Wonderful.

Byebye for a 1.0 release this year. :) I nearly have won my bet with other webadmins at the release party in June. :D
Seems like bye bye for even a 0.16 release this year, but I'm still remaining hopeful. The new GUI will be great once it does get implemented. Plus cleaning up all the code is good for future development and such. :)

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 9:13 pm
by Loewchen
Xterminator wrote:
ssilk wrote:Wonderful.

Byebye for a 1.0 release this year. :) I nearly have won my bet with other webadmins at the release party in June. :D
Seems like bye bye for even a 0.16 release this year, but I'm still remaining hopeful. The new GUI will be great once it does get implemented. Plus cleaning up all the code is good for future development and such. :)
The GUI update is not part of 0.16.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 9:33 pm
by Olreich
I'm glad you're cleaning up the GUI code. The GUI and keybindings are the hardest part of this game for newcomers, and having additional help and consistency for new players will be great. While you're playing with the GUI, can you give mod authors a way to create additional views when you click on an object? The biggest thing here is inserters. Customizing inserter positions in Bob's mods is quite ungainly right now (requiring a special key bind). It could be just an additional circuit connection/logistics network connection pop-out view with support.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 9:35 pm
by Durabys
I hope you have the games source code burned on a DVD or two somewhere and not just on a hard drive. I can see the competition trying to send you a virus bomb to destroy your game. It is rumored that Bethesda did that to a Polish company who was making a post-apoc Fallout-esqe game back in 2010 to clear the way off any competition Fallout 3 could have had.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 9:40 pm
by Klonan
Tomik wrote:
I hope you have the games source code burned on a DVD or two somewhere and not just on a hard drive. I can see the competition trying to send you a virus bomb to destroy your game. It is rumored that Bethesda did that to a Polish company who was making a post-apoc Fallout-esqe game back in 2010 to clear the way off any competition Fallout 3 could have had.
That might be a good opportunity to start fresh :lol:

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 10:21 pm
by IronCartographer
Olreich wrote:I'm glad you're cleaning up the GUI code. The GUI and keybindings are the hardest part of this game for newcomers, and having additional help and consistency for new players will be great. While you're playing with the GUI, can you give mod authors a way to create additional views when you click on an object? The biggest thing here is inserters. Customizing inserter positions in Bob's mods is quite ungainly right now (requiring a special key bind). It could be just an additional circuit connection/logistics network connection pop-out view with support.

Couldn't the customization event use a mouse-click binding and operate on the highlighted inserter just as the default hotkey does?

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 10:29 pm
by eradicator
Rseding91 wrote:
eradicator wrote:I already love you for keeping the gui debug-view in for us modders.
Can you estimate just how bad the gui breakage will be? I'm on the verge of writing some rather large mod gui and if it's too bad i might as well postpone it until release of 0.16.
Not that bad. It will be mostly find-and-replace kind of fixes that mods need to do.
I'll take your word for it 8-) . As long as it doesn't require rewriting half the code i'll hopefully be fine. And if it's been postponed to .17 i don't have a choice anyway, :mrgreen:. Will be looking forward to it.

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Fri Nov 10, 2017 11:11 pm
by Ohz
At that time, one of the new programmers wanted to fix some of the hacks. The result was, that he wanted to fix everything, and after 9 months of repeated inability to show anything, he was fired.
This somehow made me sad...

Re: Friday Facts #216 - Paving a path for the GUI update

Posted: Sat Nov 11, 2017 12:39 am
by menschmaschine
Kovarex wrote :
At that time, one of the new programmers wanted to fix some of the hacks. The result was, that he wanted to fix everything, and after 9 months of repeated inability to show anything, he was fired.
That makes me sad too and a little bit angry.
Why would a guy be fired after failing at fixing something that by your own admission is a total chaos and only an be resolved by a total rewrite? Not to mention, as you wrote,
he went onto that task out of his own will, not because he was given that task. Also: Letting him try for 9 (nine) months and -then- kicking him out seems to be a little bit weird.
I would have waited 1 month maximum and then i would not have him fired, but taken that task away from him to free him up for other things.

(I do not know the poor guy and it is not my goal to start any drama here, i just express my opinion (which is solely based on this FF#216) about this specific company-behaviour)

I hope the Devs handle such situations better in the future, who knows what talent got lost that time just because he could not fix something that was unfixable?