GSoC 2018 - Save/Module UX

Serj

New Member
Contributor
#1
Heya!
This thread will contain all updates about Game / saved world / module preview image content project.

Summary: The project aims to improve UI/UX of some in-game screens and to give users more opportunities to manage their saved games, set up modules, deal with dependencies, etc.
Mentors: Martin Steiger, arpitkamboj, Cervator, Rostyslav Zatserkovnyi, iojw, Scott Moses Sunarto
Student: Serj Ar[]ne, slack: @Serj ar[]ne
Project Board: https://github.com/orgs/MovingBlocks/projects/12
Communication: #gsoc-ux channel in slack. Weekly meeting at 2PM every Sunday, Eastern Daylight Time.
Devlog: https://ar0ne.github.com/gsoc
 
Last edited:

Serj

New Member
Contributor
#2
Week #1: 05.14 - 05.20
week1.png


## What have you achieved in the last week?

First of all, first week I've spent working on UI updates for SelectGameScreen.
Secondly, I added preview for saved game world. If we don't have it yet, it'll load default image.
Now we capture this preview image when user decides to exit and save it to /saves folder as a "preview.jpg" file.
Additionally, I added short description with information from GameManifest: main world generator and list of modules.

## What are you currently working on?

As you may see, my idea was to use ScrollableArea and ColumnLayout for short description box. That's not good!
In this case we have a big empty area under the "Modules" label. And it looks ugly:(
So, next week I'll proceed work on the UI. Also I'm waiting for feedback for my PR.
Finally, I didn't cover my changes by unit tests yet.

## List of PRs and opened/closed Issues

#3361

## Any blocking, problems ?

Nope
 

Serj

New Member
Contributor
#3
## What have you achieved in the last week?

@Cervator and @rzats reviewed my PR, so I did some changes, some refactoring, add comments, etc.

Also I've tried few ideas how to improve UI experience.

Some of them are pretty discussable. So, I'm waiting for feedback and maybe fresh advices.

Additionally, I added few unit tests and changed default preview image.

## What are you currently working on?

I'm going to start work on new screen "Details".

Also I'm waiting for final review of my PR at least from major part of my mentors.

Probably I'll make last changes after final review and then we could merge the code.

## What problems are you currently facing?

I realized that I can't write good unit tests and cover all classes. Mostly for UI-screen classes.

Unfortunately, I can't do it now, maybe later I'll open additional small PR just to finish that item.

I have really tight deadline and I can't waste time for it now :/

## Is anything blocking you from making progress?


PR needs final review and comments from community.

## List of PRs and opened/closed Issues

[#3361]
 

Serj

New Member
Contributor
#4
## What have you achieved in the last week?

week3.png


I've started work on new GameDetailsScreen. At present, it still needs some polishing and after that I'm going to open PR.
At the moment you could see all details from game manifest, e.g. active modules, their descriptions, biomes, worlds, etc.

Also, recently we found few small issues regarding my previous PR for SelectGameScreen and preview images.
I've fixed them and open PR #3380, hope we will merge them during this week.

## What are you currently working on?

Polishing UI and refactoring code of new GameDetailsScreen.

## What problems are you currently facing?

Nothing special, just trying to create screen which will be useful as much as possible, and have a good look.

## Is anything blocking you from making progress?

Nope.

## List of PRs and opened/closed Issues

Issues:
* #3378

PRs:
* #3380
* Not ready yet. (Will update it soon)
 

Serj

New Member
Contributor
#5
## What have you achieved in the last week?

I've fixed few defects from my last PR and we already merged the code.
Also I've finished my work on new GameDetailsScreen and prepared PR for merge as well.

## What are you currently working on?

For the next week my targets are:

* start work on "dependency manager" widget
* figure out standard for including logos / screenshots in GitHub repositories

## What problems are you currently facing?

At present we don't have ability to hightlight active buttons/tabs in UITabBox widget.
I've created an [issue #3384] and put down it to my backlog for now.
Gonna improve it later and update GameDetailsScreen.

## Is anything blocking you from making progress?

Nope.

## List of PRs and opened/closed Issues

Opened:
* [PR #3382]
* [Issue #3384]

Closed:
* [PR #3380]
* [Issue #3378]

## Something else (pictures of new content, code snippets, new wiki content, ?)

Check it out! :)

 

Serj

New Member
Contributor
#6
# What have you achieved in the last week?

During the last week I was cleaning up code and user's interfaces. Fixed some issues from backlog and opened few PRs.

## What are you currently working on?

I still have few unfinished PRs/features, and I'd like to close them firstly. After that, I'd like to start work on new widget for linking to Github or whatever, something like "Open in Browser".
And I gonna finish work on UIImageSlideshow widget (don't have opened PR yet).

## What problems are you currently facing?

Nothing special.

## Is anything blocking you from making progress?

Nothing.

## List of PRs and opened/closed Issues

Closed:

* [Issue 3391] - Fix NPE on game details screen after releasing v2 Core
* [Issue 3394] - Removed Behavior editor button from Main Screen
* [Issue 3310] - Using F5 (show BT editor) in-game during multiplayer causes crash via NPE
* [PR 3395] - Rewrite modules tab

Open:

* [PR 16] - Improve biomes in PolyWorld module
* [PR 3397] - Rewrite modules tab
 

Serj

New Member
Contributor
#7
## What have you achieved in the last week?

I have been working on two new UI widgets for image slideshow and button "Open In Web Browser".
Also made some refactoring of GameDetails screen (modules and biomes tabs).
Added popup message if errors appear during loading details for saved game.

week6.png

## What are you currently working on?

Next week I'm going to start work on module details screen.

## What problems are you currently facing?

Nothing special.

## Is anything blocking you from making progress?

Nothing.

## List of PRs and opened/closed Issues

* [PR #16: Refactoring of whittaker biomes](https://github.com/Terasology/PolyWorld/pull/16)
* [PR #3397: Improve the biomes view](https://github.com/MovingBlocks/Terasology/pull/3397)
* [PR #3405: New button widget "Open In Browser"](https://github.com/MovingBlocks/Terasology/pull/3405)
* [PR #3406: Image slideshow widget](https://github.com/MovingBlocks/Terasology/pull/3406)
 
Last edited:

Serj

New Member
Contributor
#8
## What have you achieved in the last week?

This week I've fixed my PRs according to comments of reviewers. And I believe we could merge them now.
And also I've started work on the new Module Details screen. Add module's details, navigation between dependencies and etc.

## What are you currently working on?

Currently, I'm still polishing UI/UX and going to open PR really soon;)

## What problems are you currently facing?

Trying to work with @theflash98 on issue (https://github.com/MovingBlocks/Terasology/issues/3402) and figure out other problems with newly implemented screens.

## Is anything blocking you from making progress?

Nothing.

## List of PRs and opened/closed Issues

New:
* [PR #3408: Fix UI for new screens](https://github.com/MovingBlocks/Terasology/pull/3408)

From the previous week:
* [PR #3405: New button widget "Open In Browser"](https://github.com/MovingBlocks/Terasology/pull/3405)
* [PR #3406: Image slideshow widget](https://github.com/MovingBlocks/Terasology/pull/3406)
 
Last edited:

Serj

New Member
Contributor
#9
## What have you achieved in the last week?

This week I've implemented a bunch of useful features from backlog and opened PRs. I refactored selection screens, also add support of Up&Down keys to UIList.
Additionally, now we can highlight buttons, e.g. active tab of UITabBox widget. And few more cool updates of UI:)

## What are you currently working on?

Still developing ModuleDetails screen. Unfortunately, current version is still quite draft and I need extra time to finish all my ideas.

## What problems are you currently facing?

Nothing special.

## Is anything blocking you from making progress?

Nothing.

## List of PRs and opened/closed Issues

* [PR #3426: Refactor of selection screens](https://github.com/MovingBlocks/Terasology/pull/3426)
* [PR #3424: Up-Down-Enter keys support for UIList widget](https://github.com/MovingBlocks/Terasology/pull/3424)
* [PR #3427: Small fix of margin on game details screen](https://github.com/MovingBlocks/Terasology/pull/3427)
* [PR #3429: Highlight active tab buttons](https://github.com/MovingBlocks/Terasology/pull/3429) & [Issue #3384](https://github.com/MovingBlocks/Terasology/issues/3384)
* [PR #3425: Add fully qualified name (module:name) for biomes](https://github.com/MovingBlocks/Terasology/pull/3425)
 

Serj

New Member
Contributor
#10
Week #9

## What have you achieved in the last week?


This week I've updated my PR [#3426], added more useful features and ideas from [#3400].
Additionaly, we merged a bunch of PRs from the previous week:D

At the moment, ModuleDetails screen looks like this:

screeeen.jpg

There are still few moments that I need to resolve several things (images, better UI/UX) and then we could review/merge it.

## What are you currently working on?

Finishing ModuleDetails screen and other issues from PRs.

## What problems are you currently facing?

Nothing.

## Is anything blocking you from making progress?

Nothing.

## List of PRs and opened/closed Issues

* [PR #17: "Source" field for module.txt](https://github.com/Terasology/PolyWorld/pull/17)
* [PR #3436: Remove old useless attributes from ui files](https://github.com/MovingBlocks/Terasology/pull/3436)

Still working on:
* [PR #3424: Up-Down-Enter keys support for UIList widget](https://github.com/MovingBlocks/Terasology/pull/3424)
 

Serj

New Member
Contributor
#11
Week #10

## What have you achieved in the last week?



I think I've finished my work on design of ModuleDetails screen, and tweaks for UIList.
Now needs a review and feedback, and if it's fine and we won't produce more ideas, then probably we'll merge it in the next few days.

## What are you currently working on?

My next goal is to add new UI for FlexibleConfigs. Which would allows us to tune published variables and manage them.

## What problems are you currently facing?

Nothing.

## Is anything blocking you from making progress?

Nothing.

## List of PRs and opened/closed Issues

* [PR #3441](https://github.com/MovingBlocks/Terasology/pull/3441)
* [PR #3424: Up-Down-Enter keys support for UIList widget](https://github.com/MovingBlocks/Terasology/pull/3424)