Author Topic: "New Game Screen" Redesign  (Read 8144 times)

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
"New Game Screen" Redesign
« on: 20 December 2008, 04:12:32 »
This is a continuation of discussion from viewtopic.php?f=15&t=3974&p=20650#p20650

Quote
there should be a button on the main game screen saying MAPS, once clicked opens a smaller a window which lets you choose the map and give a description
I think this could be done without having a new window.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

wciow

  • Behemoth
  • *******
  • Posts: 968
    • View Profile
Re: "New Game Screen" Redesign
« Reply #1 on: 20 December 2008, 10:18:35 »
I agree a map previewer would be nice.

It seems strange that you can have animated models in the menu but not a simple bmp file :s
Check out my new Goblin faction - https://forum.megaglest.org/index.php?topic=9658.0

modman

  • Guest
Re: "New Game Screen" Redesign
« Reply #2 on: 21 December 2008, 01:32:44 »
What would the bmp file be of?  A picture of the map in the map editor?  Yes.  I think that would be best.

ZaggyDad

  • Guest
Re: "New Game Screen" Redesign
« Reply #3 on: 26 December 2008, 19:29:25 »
Quote from: "modman"
What would the bmp file be of?  A picture of the map in the map editor?  Yes.  I think that would be best.
Naw, it should show a large part of the map in-game. Otherwise, that would be a useless feature for anybody new to the game. Even the Glest-geeks probably wouldn't be able to tell much about the map through the preview that way. And it should be using the normal tileset, or the new one. No mod tilesets. Unless it's meant for that tileset, of course.

modman

  • Guest
Re: "New Game Screen" Redesign
« Reply #4 on: 26 December 2008, 23:40:50 »
Then there needs to be a function ingame to take a full map screenshot.  I tried to take a full map screenshot of my 256x256 map and the game ran incredibly slow.  And that was even when I had it paused.  (And don't say it was because of my videocard because it's fine)

I hate playing on maps and finding out halfway through the game that something is entirely wrong with it, so I will appreciate the preview of the map. :wink:

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: "New Game Screen" Redesign
« Reply #5 on: 29 December 2008, 01:43:58 »
I think it should be apart of the map editor to create a preview image.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

daniel.santos

  • Guest
Re: "New Game Screen" Redesign
« Reply #6 on: 29 December 2008, 09:41:28 »
Yea, please enter a bug for the feature requests you want to see and file it under "map editor".  I think we should gather requirements for a new map file format, which includes up to 16 players.  Yea, I know 16 sounds crazy, but I've already worked it out in some other places in the code and I think it'll be fine.

ZaggyDad

  • Guest
Re: "New Game Screen" Redesign
« Reply #7 on: 29 December 2008, 15:53:37 »
Yaay! 16 players! :D

modman

  • Guest
Re: "New Game Screen" Redesign
« Reply #8 on: 29 December 2008, 21:04:48 »
How big are you expecting the maps to be?
But 16 players sounds like a blast, but anyone who buys a video card that can handle that, even in late game, should seriously start making a budget. :O

Lets not let that get to off topic, OK?

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: "New Game Screen" Redesign
« Reply #9 on: 30 December 2008, 01:46:14 »
Would a map preview also eat up a bit of space? I've heard of things lagging a lot when you zoom out to the point where you can see the entire map...
Suppose something that allows you to zoom in as well, and move the camera at high speeds with the arrow keys. Also, would it be better to pre render everything as if it were an image and then allow you to see it? Or would that take too long?
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

modman

  • Guest
Re: "New Game Screen" Redesign
« Reply #10 on: 30 December 2008, 02:33:22 »
I doubt it.  I suggest that the slot amount default to 2 and be vertically centered on the far right side and that the map preview and its description be on the left.  Also the game should credit the creator of the map by saying "by modman" for instance under the map.

daniel.santos

  • Guest
Re: "New Game Screen" Redesign
« Reply #11 on: 4 January 2009, 17:57:12 »
Map preview wouldn't eat much space.  The map already contains the author, but it should be displayed in the new game and load game screens.

Also, video card has NOTHING to do with having more players -- not even the tiniest bit.

Ayrin Greenflag

  • Horseman
  • ****
  • Posts: 188
    • View Profile
    • http://www.lostinn.com/ayrin
Re: "New Game Screen" Redesign
« Reply #12 on: 4 January 2009, 20:54:51 »
Map preview is a nice idea and in having more players the only problem is the lag, but that is for all online games anyway i think 8 players would be enough

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: "New Game Screen" Redesign
« Reply #13 on: 6 April 2009, 09:22:03 »
I think restrict the players to 8 in the GUI but allow for 16 in the code (unless it would be better to restrict it in code now then extend it later). It will be hard to display all of the players until I can get them to scroll.
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: "New Game Screen" Redesign
« Reply #14 on: 8 April 2009, 01:25:04 »
Scrolling's won't be easy, since I don't know any GUIs that have it in their engine (then again, my knowledge is VERY limited). What about a drop down menu?

And I think that 8 players is plenty. I can't imagine trying to fit more in a map. If I made the map too big, then it would be bad for when players are trying to attack all the way across the map, and if its too small, it would be too crowded, and resources would get swamped.

Then again, this is about 'new game screen', not players. Any word on making a quick map viewer?

*One question: It's true the author, the map name, and a description is stored with the map, but are they ever used??? Not as far as I know... Or am I mistaken?
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

modman

  • Guest
Re: "New Game Screen" Redesign
« Reply #15 on: 8 April 2009, 01:39:05 »
I think that there are two options, both with benefits.  There is also a compromise which I like best:

1) The map image is of a png stored in the same directory of the map you are using and with the same name.  This will be the image you would then see on the game setup screen.  A benefit is that you can then stylize the image, but then again you have to get the image in the first place. which may be difficult.

2) The map image could be prerendered so that it fits inside the space allotted.  This would give a very realistic view of the map, but it cannot be stylized and it may also cause a small lag, especially for a larger map.  The latter problem can be solved, however, if the map only has to be prerendered once and then Glest would save the image as a png for you to be looked at after that.

3) A combination of the two would require that Glest first search for an image in the maps folder that is assigned to that map, and if none is found, it creates one.  Then, if one desired, the image could be edited you their heart's content and the next time the map is loaded, it will also display the image which has been created.

@kukac@

  • Guest
Re: "New Game Screen" Redesign
« Reply #16 on: 8 April 2009, 13:57:09 »
Or the map would contain everything: pictures, scripts, everything.

modman

  • Guest
Re: "New Game Screen" Redesign
« Reply #17 on: 11 April 2009, 00:49:53 »
Yes of course this is an option, but I was trying to keep it simple.

@kukac@

  • Guest
Re: "New Game Screen" Redesign
« Reply #18 on: 11 April 2009, 17:57:11 »
Users don't have to see it. Picture until 'endpic' string, scripts until 'endscript' string, etc. etc.

daniel.santos

  • Guest
Re: "New Game Screen" Redesign
« Reply #19 on: 12 April 2009, 09:16:09 »
Well, I don't want scripts built into the map for strictly design proposes.  Even if we have to create 3 layers (the map and two meta-data layers) under the scenario and campaign, I'm not a big fan on forcing things to be bundled when there's a high likelihood that people would want to use them separately.  This also makes it harder to re-use the work of others.

As for the picture being embedded in the map, that's not something I'm opposed to.  In order for GAE to dynamically render such an image, it would have to load the map and a tileset, setup the 3d engine, etc. quite a lot of work.  I'm not opposed to the idea of the pic being separate, but I like the idea of embedding the image much better, especially since it's reasonable to restrict it to a small size (e.g., 128x128).  Even for a true color uncompressed bmp, that still only takes 48k.  None the less, the map header does not have to be a static size as it is currently:

Code: [Select]
struct MapFileHeader {
    int32 version;
    int32 maxFactions;
    int32 width;
    int32 height;
    int32 altFactor;
    int32 waterLevel;
    int8 title[128];
    int8 author[128];
    int8 description[256];
};

Of note, I've already changed the "maxPlayers" to "maxFactions".  And a bit off-topic, this struct is defined in three different places throughout the code!  (very naughty!)  I'll eventually be moving all of the code related to map format and I/O into the shared_lib sub-project.

I think restrict the players to 8 in the GUI but allow for 16 in the code (unless it would be better to restrict it in code now then extend it later). It will be hard to display all of the players until I can get them to scroll.

Sorry I didn't respond to this thread sooner.  I think 8 players in the UI is plenty fine for now! :)  Also, I've modified the new game menu a considerable amount in the 0.2 branch to accommodate changes in the networking code.  It's no big deal for now, but I'm just about ready to have you jump in and start helping there if you have the time. :)

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: "New Game Screen" Redesign
« Reply #20 on: 12 April 2009, 11:48:41 »
I'd like to get a full rendering map previewer into the map editor which can be used to make a preview image. Then when the map is saved the preview image can be bundled.

I'd guess the struct is also defined in the map editor since it seems independent of the other Glest code. Would linking with shared_lib increase the map editor binary size lots?

Quote
Also, I've modified the new game menu a considerable amount in the 0.2 branch to accommodate changes in the networking code.  It's no big deal for now, but I'm just about ready to have you jump in and start helping there if you have the time.
Good timing. I'm on holidays for a week so I have time.  ;D
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

daniel.santos

  • Guest
Re: "New Game Screen" Redesign
« Reply #21 on: 13 April 2009, 10:15:03 »
I'd like to get a full rendering map previewer into the map editor which can be used to make a preview image. Then when the map is saved the preview image can be bundled.

I'd guess the struct is also defined in the map editor since it seems independent of the other Glest code. Would linking with shared_lib increase the map editor binary size lots?
Well, I think we should move all of the map stuff (using the current map format) into the shared_lib, probably under source/shared_lib/{include,sources}/map.  Basically, all of the code that read in a map file and turns it into the map objects that we use in-game.  As far as a rendering in the map program I'm really 100% for this, but I'm not certain what, precisely, it will require and I'm not 100% certain it would make sense to move all of the map-related sources into the shared_lib either.  Adding the stuff for 3d rendering should most certainly increase the size, but I don't think we need to worry about that so much with the map editor as it's not exactly an app that needs higher performance.  Plus, compiled for release, the glestadv executable is still under 2MB on my system (after it's stripped).

Good timing. I'm on holidays for a week so I have time.  ;D
Sweet!  This is going to be a busy week for me, I'm having to fight a few battles with my benefits, but I'll be on and off in the forums and tinkering with the code too.  I'm looking for bork's posting that I read a few days ago with the patches :)

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
Re: "New Game Screen" Redesign
« Reply #22 on: 13 April 2009, 12:15:11 »
To have a preview, a tileset and tech tree need to be loaded too (for starting locations). It's not the performance I'm worried about rather the size of the download but maybe it's not an issue. Have you thought about having the map code as a separate dll?

Perhaps another topic is needed?
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

ZaggyDad

  • Guest
Re: "New Game Screen" Redesign
« Reply #23 on: 29 May 2009, 16:10:20 »
Why would the tech tree be needed? We don't need to see the players till the actual game.

Hectate

  • Guest
Re: "New Game Screen" Redesign
« Reply #24 on: 29 May 2009, 17:02:04 »
I'm not a coder, yet, but I have a suggestion. Couldn't Glest generate a simple 2D representation of the map easier than trying to render it in 3D only to export as a (small) 2D image? For instance, take the display code from the map editor and remove resources and object markers. Pull some code from the render engine to calculate the water levels and then recolor specific cells based on their water level. Leave markers for player starts.

You could even make it 3d by using voxels! But adding specialized code like that is probably extraneous and unnecessary (how redundant).

 

anything