Page 3 of 5
Re: (in-) engine menu
Posted: 25 Feb 2015, 20:05
by abma
smoth wrote:Why is a one size fits all menu bad?
nothing is bad with it. its perfect because a game dev can copy the menu and modify it. its just meant as reference. idk why 8611 is so pesimistic. the idea is to activate it by two config settings in springsettings.cfg, i.e. MenuGame & MenuMap (as long as we don't have a "menu" archive format) and spring then defaults start this map and game as menu. this allows the menu to change it was well by resetting these config settings and launch it by Spring.Reload().
Re: (in-) engine menu
Posted: 25 Feb 2015, 20:13
by smoth
Apologies, I will restate:
smoth wrote:Why is a one size fits all menu bad? Some thoughts on what could be good or bad:
Good
if it is lua based we can ignore it/disable it.
if it is lua based we can easily copy the file and extend it.
Most spring games are *A games, we don't see a lot of non-annihilation games.
Most spring games that are NOT *A will end up making their own changes/extending it.
Bad
Many games already have menus, for a while there Zwzsg was being extremely generous and was hooking anyone who asked for a menu up with one.
I will not use anything that doesn't utilize chili. I know jools sees things the opposite.
I don't want more in engine code that isn't lua.
I didn't read the thread yet, probably have to sort through all the drama and maneuvering.
sorry for being less than clear with my intentions on that post
Funkencool wrote:Code: Select all
if it is lua based we can ignore it/disable it.
if it is lua based we can easily copy the file and extend it.
Good summary and I agree with this most
I don't see why we can't have both a generic launcher for games without their own menu, and a generic launcher for games with their own menu. Both could easily exist as seperate tabs and cover both scenarios.
Take care when you say launcher, that reeks of external executable. We don't need that any more.
Re: (in-) engine menu
Posted: 25 Feb 2015, 20:17
by abma
an external launcher is just a lot of work and isn't usable for all games / all platforms / integrates bad / ... -> waste of time.
Re: (in-) engine menu
Posted: 25 Feb 2015, 20:28
by smoth
We had a few people doing that years ago. I cannot remember who developed it but it was a bad idea.
I really liked Zwzsg's solution:
Which is why I wanted spring.reload
Re: (in-) engine menu
Posted: 25 Feb 2015, 20:38
by Funkencool
Yes sorry launcher was just the first word that came to mind but I do mean a pre game menu for accessing in game features.
It really would be easy to add a menu for quickly getting into games that already have an in game menu, but I feel it's redundant when those games could just be accessed with a start script of their own.
I do think however that those menus now need to be upgraded to take advantage of Spring.Reload()
Re: (in-) engine menu
Posted: 25 Feb 2015, 20:54
by abma
two notes:
- imo the default menu has to be full-featured / bloated: else it will be very difficult to test functionality / add
features engine side.
- as the default menu is selected by a config setting, everything can be done, 8611's suggestion of a launcher-like menu is possible, too.
Re: (in-) engine menu
Posted: 25 Feb 2015, 22:25
by Funkencool
My current progress
https://www.youtube.com/watch?v=vwOQK6B ... e=youtu.be
It's still mostly just an experiment on what's currently possible, but most necessary things are now so it's coming along.
Re: (in-) engine menu
Posted: 25 Feb 2015, 23:40
by 8611
Funkencool wrote:It really would be easy to add a menu for quickly getting into games that already have an in game menu, but I feel it's redundant when those games could just be accessed with a start script of their own.
What does the underlined part mean / how do you imagine it to work?
Imo it is other way around: It is redundant (and a noobtrap) to have a one-fits-all menu when eventually all games (that care about singleplayer) will have their own SP menu, made to their needs.
Your videos are nice, but I see a BA lobby/menu, not something general.
In your one-fits-all menu, what is planned to happen when a game different than BA is selected:
-You have the tabs: Skirmish / Missions / Chickens.
Another game needs: Tutorial / World Tour / Protect the City / Manual
How?
-How will the menu know which AIs to add when the add-AI button is clicked?
(
validAIs.lua does not exist)
-A game wants to offer pre-defined quickstart battles, that require just one click to start: How?
-A game wants to offer missions selection in custom style, for example non-linear like this:
http://i.ytimg.com/vi/BDhP2vxS5qQ/maxresdefault.jpg
Another game might want this style:
http://www.androidtapp.com/wp-content/u ... select.png
How can there be a standard for that? Imo not possible.
Those are not even particularly wild examples.
It is way simpler when each game only has to care about what it wants to do.
I do think however that those menus now need to be upgraded to take advantage of Spring.Reload()
Not sure what new advantages (beside 'it works') exist or what needs to "upgraded"? Just replace Spring.Restart() with Spring.Reload() and they work the same as before.
Re: (in-) engine menu
Posted: 25 Feb 2015, 23:42
by abma
@8611
please stop writing essays, this doesn't help, i and others don't have the time to read it and respond to it. we have to make a menu "somehow" and it won't be perfect and also won't serve all purposes. BUT: it can be replaced / changed if needed. the menu has to replace the current hardcoded engine menu, so it needs the same/similar basic features.
also we have already collected a lot of useful hints which makes it a lot of easier to implement a basic menu.
Re: (in-) engine menu
Posted: 25 Feb 2015, 23:58
by 8611
It is not nessecary to read the essays if one remembers 5 years of ingame-SP in spring and the problems / discussions / solutions around it.
The "basic feature" is:
Allow players to get into the menus of games. In playerfriendly way, no fiddling with configs.
The end.
Re: (in-) engine menu
Posted: 26 Feb 2015, 00:17
by Funkencool
8611 wrote:What does the underlined part mean / how do you imagine it to work?
Imo it is other way around: It is redundant (and a noobtrap) to have a one-fits-all menu when eventually all games (that care about singleplayer) will have their own SP menu, made to their needs.
In your scenario where every game has it's own custom menu ( will you be making them ), why would someone not just run the game they wanted to play straight from their desktop environment? Why add an extra step with a nearly useless selection menu. Are you not aware of how easy it is to launch straight into a games menu without the need for another in game menu?
I want a menu a developer can test their game with.
I want this menu so that
I can more easily test games among other things.
I no longer want to have to download a lobby with my copy of spring.
8611 wrote:rabble rabble rabble
Please, you're negativity is not needed. If you don't want these features don't use them. You don't need to keep rambling on about how things won't work or can't work (if they don't, they don't; no need to point it out) . It's exhausting.
Re: (in-) engine menu
Posted: 26 Feb 2015, 00:24
by smoth
smoth wrote:
if it is lua based we can ignore it/disable it.
if it is lua based we can easily copy the file and extend it.
Knorke, a general menu could be as simple as:
game name
change map
choose AI
choose options
???
PROFIT!
after that if it is written in lua and each sub menu is it's own widget, a game dev can easily alter one to make a new scree and add a new menu item to the screen...
now you have me wanting to develop this... damnit
Re: (in-) engine menu
Posted: 26 Feb 2015, 00:36
by 8611
Funkencool wrote:8611 wrote:What does the underlined part mean / how do you imagine it to work?
Imo it is other way around: It is redundant (and a noobtrap) to have a one-fits-all menu when eventually all games (that care about singleplayer) will have their own SP menu, made to their needs.
In your scenario where every game has it's own custom menu ( will you be making them ), why would someone not just run the game they wanted to play straight from their desktop environment? Why add an extra step with a nearly useless selection menu. Are you not aware of how easy it is to launch straight into a games menu without the need for another in game menu?
Because:
-With a selection-menu the games can be nicely listed.
-A selection-menu mod can be updated which allows updating the gamelist, like adding new games.
-"shortcuts to play from desktop" can not do that as nicely.
I want a menu a developer can test their game with. I want this menu so that I can more easily test games among other things.
I thought this was aimed at players.
Re: (in-) engine menu
Posted: 26 Feb 2015, 00:48
by Funkencool
This might be part of a larger picture which includes players, but right now what players click on spring.exe? I was under the assumption that, for now, this is just a replacement for the current menu.
8611 wrote:Because:
-With a selection-menu the games can be nicely listed.
Done, and done. Want to talk about it more?
Re: (in-) engine menu
Posted: 26 Feb 2015, 00:50
by abma
8611 wrote:I thought this was aimed at players.
goal is to "replace" the current engine menu with it (=it will be loaded when spring.exe without parameters is started)
so it is aimed at devs and in future players.
Re: (in-) engine menu
Posted: 26 Feb 2015, 01:31
by 8611
I assumed this is mainly for players because devs already have enough ways to setup games in whatever ways they want. Stuff like "nicer background image" seemed more aimed at players, too.
Right now no player "clicks on spring.exe". But it could be the way to create something that has been long missed: a way for players to access singleplayer content without hassle.
Funkencool:
That reply does not make sense.
It was in reference to your quote about "Why add an extra step with a nearly useless selection menu. Are you not aware of how easy it is to launch straight into a games menu without the need for another in game menu?" and "play straight from desktop."
As I see it, that would only be possible with custom installers that mainly exist as "external launchers" or to create shortcuts? I hope that is misunderstanding...
Re: (in-) engine menu
Posted: 26 Feb 2015, 01:42
by smoth
Devs->game devs-> players.
We as content/game devs carry the responsibility of providing a user experience for the player. Funken was just asking for something basic and general to hold over games until we get to this part. So we can have a "basic" menu in the mean time.
I get that you misunderstood and I think he does as well.
Re: (in-) engine menu
Posted: 26 Feb 2015, 02:08
by Funkencool
I think we've got off point.
An alternate solution to your problem 8611:
Spring portable is about 11 mb (tiny by todays standards).
Games can just be a self contained engine and game archive (maybe even maps and missions).
They will include their own config so that when the spring executable (which can be renamed) is ran, it launches that games menu rather than the one proposed in this thread.
The menu-map/menu-game proposed in this thread will function as an engine default when a game does not supply it's own.
I'll also state that I don't think it's healthy to contain any specific game related code with the engine. To include a list of allowed games would be within this. Engine code should be "cookie-cutter"
Re: (in-) engine menu
Posted: 26 Feb 2015, 02:43
by smoth
Funkencool wrote:They will include their own config so that when the spring executable (which can be renamed) is ran, it launches that games menu rather than the one proposed in this thread.
in the game file right?
Re: (in-) engine menu
Posted: 26 Feb 2015, 03:00
by 8611
*sigh* so it is not a misunderstanding? :/
Like others, I made such "installer with starter" years ago. Beside experimenting or "proof of concept" it always was a clear dead end. Some reasons:
viewtopic.php?f=14&p=566910#p566871
Funkencool wrote:The menu-map/menu-game proposed in this thread will function as an engine default when a game does not supply it's own.
A bit vague but sounds okay.
Such fallback-menu should just not become a noobtrap where players get lost instead of finding access to the real game-menus.
There is the list of games with "good singleplayer", in corner is the option to setup games in the one-fits-all way:
Funkencool wrote:I'll also state that I don't think it's healthy to contain any specific game related code with the engine. To include a list of allowed games would be within this.
Agreed.
However I think a simple list of
allowed(I prefer: "games with SP content") games does not harm the engine's neutrality.
It is comperable to
https://springrts.com/wiki/Games and more neutral than anything else that was proposed.
For example in your last video the "Chicken" and "Missions" tabs are related to a specific game.
A list does not make any assumption about the games (game modes, supported AIs, ...) it is just the name of a game. And a way to start its menu.
Randomize the order of games if nessecary!
It is not even clear how the menu-game will be bundled with engine: The mod-list could just as well be downloaded or be changed by updating the menu-game via rapid.
The decision of what games are "allowed" would work similiar as on
https://springrts.com/wiki/Games