SitRep Summaries

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderators: Oberlus, Oberlus

Post Reply
Message
Author
dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

SitRep Summaries

#1 Post by dbenage-cx » Fri Jun 03, 2016 3:45 am

I thought it might be nice to have a summary for sitreps, grouped the same as the filter.
The thinking was to help de-clutter the UI some and to reduce the amount of scrolling through the main sitrep window.

This worked decently well, but after playing with it for a while, I felt a bit detached from the game and was constantly forgetting to address something each turn.

I thought I would post the current state in the event it inspired some other implementation in the future.
(Unless everyone wants it fleshed out, it is meant to be an addition to the current window, which can be hidden)
SitRep_Summary01.png
Apologies for the size, shrinking results in illegible text.
SitRep_Summary01.png (104.83 KiB) Viewed 1057 times
Part of the vision was for:
  • Left clicking a icon to show a detailed window (similar to the normal sitrep window).
  • Right click context for filtering the group.
  • A settings icon on the summary panel for filters and any other options.
In case it is of use, the code is here, squashed to a single commit.
A few notes if you browse or want to cherry-pick parts:
- I have not looked into adding to XCode/MSVC project files yet, for UI/SummaryBrowseWnd.h/.cpp
- While functional, it is no where near PR ready. Needs separated commits, quite a few additions and cleanup (e.g. converting the c++11 style for statements)
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: SitRep Summaries

#2 Post by MatGB » Fri Jun 03, 2016 3:51 am

Hmm, not sure about doing it this way.

What would/could be good though is a way to rearrange the order so you can group it by system instead of type, then have one of them pop up for a system if you click on it.
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

User avatar
The Silent One
Graphics
Posts: 974
Joined: Tue Jul 01, 2003 8:27 pm

Re: SitRep Summaries

#3 Post by The Silent One » Fri Jun 03, 2016 6:42 pm

My initial reaction is that I like it and I would like try it out in-game. However, I didn't succeed compiling it, I get several linking errors, e. g.:

Code: Select all

Error	1	error LNK2001: unresolved external symbol "public: __thiscall SummaryBrowseWnd::SummaryBrowseWnd(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class GG::X)" (??0SummaryBrowseWnd@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VX@GG@@@Z)	C:\Users\Martin\Documents\FreeOrion\debenage-cx\msvc2013\FreeOrion\SitRepPanel.obj	FreeOrion
Any idea how I can fix this?
If I provided any images, code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0.

dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Re: SitRep Summaries

#4 Post by dbenage-cx » Sat Jun 04, 2016 12:08 am

Might be nice for a system-wide summary option, though I typically use sitreps to remind me a system needs attention that turn.

Pushed commits for MSVC project file and removal of c++11. Can not verify the project file atm, let me know if I missed something (you might just manually add UI/SummaryBrowseWnd if so).
XCode project files look a bit more, well...detailed, I'd attempt a patch if I could verify it.
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

User avatar
The Silent One
Graphics
Posts: 974
Joined: Tue Jul 01, 2003 8:27 pm

Re: SitRep Summaries

#5 Post by The Silent One » Sat Jun 04, 2016 7:23 am

dbenage-cx wrote:Pushed commits for MSVC project file and removal of c++11. Can not verify the project file atm, let me know if I missed something (you might just manually add UI/SummaryBrowseWnd if so).
XCode project files look a bit more, well...detailed, I'd attempt a patch if I could verify it.
Thanks, it did compile now. However, freeorion.exe crashes instantly on startup even before logs are created. Clicking on debug I get:

Code: Select all

>	FreeOrion.exe!std::map<char,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<char>,std::allocator<std::pair<char const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > >::operator[](const char & _Keyval) Line 226	C++
 	FreeOrion.exe!OptionsDB::Option::Option(char short_name_, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name_, const boost::any & value_, const boost::any & default_value_, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & description_, const ValidatorBase * validator_, bool storable_, bool flag_, bool recognized_) Line 92	C++
 	FreeOrion.exe!OptionsDB::Add<int>(char short_name, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & name, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & description, int default_value, const ValidatorBase & validator, bool storable) Line 228	C++
 	FreeOrion.exe!`anonymous namespace'::AddOptions(OptionsDB & db) Line 435	C++
 	FreeOrion.exe!GetOptionsDB() Line 61	C++
 	FreeOrion.exe!ClientUI::Pts() Line 59	C++
 	FreeOrion.exe!`dynamic initializer for 'ENTRY_BUFFER''() Line 6	C++
 	[External Code]	
 	[Frames below may be incorrect and/or missing, no symbols loaded for msvcr120.dll]	
Any other information I could provide that may be useful to get this working?
If I provided any images, code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0.

dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Re: SitRep Summaries

#6 Post by dbenage-cx » Sat Jun 04, 2016 10:19 am

Guessing here, try adding to SummaryBrowseWnd.cpp:5

Code: Select all

#include "ClientUI.h"
If still getting the issue, for purposes of demo:

Code: Select all

const GG::X ENTRY_BUFFER(7);
const GG::Y TITLE_BUFFER(8);
const GG::Y ENTRY_HEIGHT(GG::Y(3));
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

User avatar
The Silent One
Graphics
Posts: 974
Joined: Tue Jul 01, 2003 8:27 pm

Re: SitRep Summaries

#7 Post by The Silent One » Sat Jun 04, 2016 10:47 am

Code: Select all

#include "ClientUI.h"
Still crashes. But in addition with

Code: Select all

const GG::X ENTRY_BUFFER(7);
const GG::Y TITLE_BUFFER(8);
const GG::Y ENTRY_HEIGHT(GG::Y(3));
the crash is gone :) Thanks! So ClientUI::Pts() was the culprid!?

As for the alternate way to display sitreps: very nice! Though, to be really usable, it would need some more functionality:
- clicking an icon "selects" the first/next entry of the summary group
- selected entry will be highlighted on tooltip (e. g. by bold font)
- depending on selected entry, a different action is performed: go to fleet/system (fleet arrived, combat at), open tech/production screen (tech researched, gas giant reminder), ...
- double clicking (or right-click menu) discards entry group >> icon will be hidden
- button on sitrep to show/hide grouped sitrep summary
If I provided any images, code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0.

dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Re: SitRep Summaries

#8 Post by dbenage-cx » Sat Jun 04, 2016 11:10 am

The Silent One wrote:

Code: Select all

#include "ClientUI.h"
So ClientUI::Pts() was the culprid!?
Thinking it is not initialized before the const is defined for msvc.

Good points for functionality. Maybe a highlight on the map for systems with related visible sitreps, then selecting one group would remove the highlight of the others.
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

LGM-Doyle
Programmer
Posts: 219
Joined: Mon Feb 29, 2016 8:37 pm

Re: SitRep Summaries

#9 Post by LGM-Doyle » Sat Jun 04, 2016 9:18 pm

I pulled it, tried it, liked it (I think).

I say I think , because it is obviously incomplete and I'm really used to the sitrep. I never close it.

I played 85 turns using only sitrep summaries.

Stuff I liked:
  • Cool looking.
  • transparency - Get to see more map. Galactic overlord style.
  • categorized - Categories with a number are perfect for events that you are expecting/anticipating. I really like the categories.
Stuff that felt odd:
  • Transience. Sometimes, I clicked "Next Turn", "Next Turn" and realized that the sitrep summary had flashed something up that I had missed. I'm used to clicking back on the sitrep. No can do with this. I was a bit afraid I'd missed something important. Perhaps if it shows bright items from the current turn and faded items from two/three turns in the past, I'd feel more comfortable.
I understand what you mean by disconnected. Here are some thoughts, but no conclusion.

When I started playing (freeorion not this branch) I used the sitrep like a checklist, because I didn't know what to expect and didn't want to miss a critical report. I think that part of the reason these summaries work for an experienced player is that they know exactly what to expect. They are only using the summaries as reminders. The downside is the loss of engagement, because you are not reading through the story of your empire via the sitreps.

For the novice, the risk is they never get engaged. Play is too mechanical. There have to be links to information on game mechanics, like the Pedia, and also to flavor, like your researchers observed a new star forming.

No conclusion.

Maybe bugs/ maybe unfinished
  • A tiny window tried to open in the bottom left of my screen twice. Too small and misshapen to see, but it looked like it had a button.
  • Align the vertical word "REPORTS" with the top sitrep summary icon. On my screen it way usually orphaned halfway down the screen.

Post Reply