(in-) engine menu - Page 2

(in-) engine menu

Discuss game development here, from a distinct game project to an accessible third-party mutator, down to the interaction and design of individual units if you like.

Moderator: Moderators

gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: (in-) engine menu

Post by gajop »

Funkencool wrote: That's good to know. I'm guessing mutator's basically just act as mods of mods in regards to the engine; or in other words games that depend on other games?
If so maybe I could just come up with some basic code to start mutators while largely ignoring the rest of the mission format until that's settled on at a later time. Regardless, I'll look into it more outside of this discussion.
Yes, they're just like normal games. I already generate startscripts and so does ZKME (I think). If you just treat them like normal games then it's the same as generating scripts for skirmish games.
Funkencool wrote: Then, I feel this should definitely be on the "todos" on the engine side ( I want my minimaps :P )
Minimaps are part of the map, and neither ZKME nor scened generates a map, but only a mutator (game). Maps are an implicit (another reason why we need a mission format) dependency.
Funkencool wrote: Sorry but team-limit information? Is that in regards to the map config or something else?
You can't play Dota in 6v4, nor 3v3v3. You can't play footman frenzy in 5v4v4v3. In X Hero Siege all players must be on the same team.
If these limits exist, they must be specified by the mission and serve as a crucial part of the format.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

gajop wrote: Yes, they're just like normal games. I already generate startscripts and so does ZKME (I think). If you just treat them like normal games then it's the same as generating scripts for skirmish games.
Perfect then because that goes along with my idea of simply having a menu where you can select from an assortment of scripts which are then used to launch spring. It can just assume the player/dev has the dependencies for now. Anything beyond that can be for later or someone else :P .

Perhaps games should deal with the rest themselves, since campaigns and missions can be organized or played through in vastly different ways.
gajop wrote: Minimaps are part of the map, and neither ZKME nor scened generates a map, but only a mutator (game). Maps are an implicit (another reason why we need a mission format) dependency.
I'm only referring to the fact the engine currently has no function for supplying the minimap, metal map, or type map of a given map archive. Right now the only way I know of getting that data in general is dissecting the .smf file from within lua (creating that function). I've also put some time into fetching map images from springfiles and/or zk's repo of map info with lua sockets, getting nowhere of course.

From what I know unitsync is the primary reason all current lobbies have and display this information. Also, from what I know, everything else could be gotten with springs archive functions/reading plain text, .smf just requires something more.
gajop wrote: You can't play Dota in 6v4, nor 3v3v3. You can't play footman frenzy in 5v4v4v3. In X Hero Siege all players must be on the same team.
If these limits exist, they must be specified by the mission and serve as a crucial part of the format.
Oh, I see what you mean, but that's far beyond the scope of where I'm at right now.
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: (in-) engine menu

Post by 8611 »

Spring.LoadMap() :arrow: Spring.Reload() :?:
abma wrote:primary goal imo should be:
4. allow to setup a single player game with selecting game/map & ai
I read that as a menu similiar to the Singleplayer tab of, say, Springlobby: Selection menu for game&map, some buttons to edit teams or add AIs.
How the singleplayer menu should work/look like is highly game-specifique, especially if one considers missions.
So imo that does not belong into engine but into the game.
This instantly solves all the problems of "which maps", "which AIs work", "which modoptions to show", "how does campaign work" etc.

For multiplayer one shared lobby is acceptable because of other advantages but singleplayer is different.
Games already years ago had ingame SP menus tailored to their needs, a "one fits all" solution will never be as good.
Instead just add a way to more easily enter these already existing menus!

The engine-menu only needs to select the game and then load the menu of that game. Nothing more.

http://youtu.be/YNCj50dmgB8
https://github.com/spring/menu-game.sdd/issues/1
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: (in-) engine menu

Post by Silentwings »

I'm only referring to the fact the engine currently has no function for supplying the minimap, metal map, or type map of a given map archive.
The minimap can be got as a gl.Texture iirc - but I've not tried it myself so maybe someone else can confirm? The metal map can be got through Spring.GetGroundInfo, and there are various pieces of lua code for making sense of the data (e.g. http://imolarpg.dyndns.org/trac/balates ... finder.lua and http://imolarpg.dyndns.org/trac/balates ... r.lua#L177). I guess the typemap can also be got from GetGroundInfo but I've never seen any lua code to make it into a useful form.
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: (in-) engine menu

Post by 8611 »

To get minimap, metalmap etc there are of course Lua functions and the "info textures" viewtopic.php?f=23&t=30196 (old thread, textures are now seperated)
But "a given map archive" is about getting the minimap of a map that is not currently played.
That is more difficult but imo not so important and nothing critically blocking for singleplayer menu.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

The engine-menu only needs to select the game and then load the menu of that game. Nothing more.
and for the rest of the games?
A generic selection menu would prove useful as not only a template for developers to personalize but also as a fall back for the games which neglect to include one at all.
Silentwings wrote: The minimap can be got as a gl.Texture iirc - but I've not tried it myself so maybe someone else can confirm? The metal map can be got through Spring.GetGroundInfo, and there are various pieces of lua code for making sense of the data (e.g. http://imolarpg.dyndns.org/trac/balates ... finder.lua and http://imolarpg.dyndns.org/trac/balates ... r.lua#L177). I guess the typemap can also be got from GetGroundInfo but I've never seen any lua code to make it into a useful form.
it's not the minimap but every minimap that I would need.
8611 wrote:That is more difficult but imo not so important and nothing critically blocking for singleplayer menu.
I'd just like to point out that every iteration of a lobby/game selector I've ever came across for any type of strategy game ever has had some type of minimap. That might be a bit hyperbolic but at least close to the truth.
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: (in-) engine menu

Post by dansan »

No need to render images on your own. You could pull (via lua-socket) map images from http://api.springfiles.com/xmlrpc.php

Example:
http://api.springfiles.com/?springname= ... tegory=map

Ofc this works only for maps uploaded to springfiles/rapid, but that should be OK for 99.9% of the players.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

Funny you mention that because I actually wrote a widget to do exactly that but didn't know sockets well enough, got frustrated, and quite. If I find it again I'll attach it or something in case someone knows better than me.
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: (in-) engine menu

Post by gajop »

It's good to know there's an API one can use to obtain map images. That's great for maps that are not on your PC (for showing downloadable maps), but for those that are, it's silly to require internet access in order to display them.
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: (in-) engine menu

Post by 8611 »

Funkencool wrote:
8611 wrote:The engine-menu only needs to select the game and then load the menu of that game. Nothing more.
and for the rest of the games?
A generic selection menu would prove useful as not only a template for developers to personalize but also as a fall back for the games which neglect to include one at all.
Of course there can always be some example in spring, similiar to how there is an example gadgets on how to spawn a commander or whatever.
Games which include no singleplayer...will have no singleplayer. :shock:
Games with no singleplayer...will not appear in the singleplayer selector. :shock:
I'd just like to point out that every iteration of a lobby/game selector I've ever came across for any type of strategy game ever has had some type of minimap. That might be a bit hyperbolic but at least close to the truth.
For a decent singleplayer experience many mods will want to limit the map-selection anyway (validmaps.lua) so even something superprimitive as Kernel Panic did (included map images in bitmaps\minimaps\) is okay. It can be improved later and is not a blocking problem.
dansan
Server Owner & Developer
Posts: 1203
Joined: 29 May 2010, 23:40

Re: (in-) engine menu

Post by dansan »

Oh damn - you mentioned it above... didn't read the whole thread before posting - sorry.

I was thinking that maybe some Lua-wizard could write a high-level lua-socket-API (json <-> lua table or something?), because / if some stuff for a lobby/SP-menu could benefit from online-ressources:
  • images (maps, logos)
  • mission-updates (or can pr-downloader do this?)
  • game-maintainer supplied list of suggested maps for SP
  • (MP lobby only): game-maintainer supplied lists of suggested maps for MP of size XvX
  • game-maintainer supplied news texts
  • tell pr-downloader-API to run update() on [certain|all] installed map/mod/mission
  • switch game feature (com xmas hat) on/off
I don't know which of these things should be lobby-protocol extensions and which not... just some ideas for things a game-maintainer might want to easily edit/enable in a web interface of sorts.

Regarding Internet access: players are expected to have it today - by all games!

Still: 1) the maps that are delivered together with the game as a pack should provide a mini-, big, metal-, and height-map in some default location. 2) All later downloaded maps should be accompanied by a download of the respective images. Problem solved for new installations. Maps downloaded through other lobbies will require a download though (or a shared location & naming scheme).
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: (in-) engine menu

Post by 8611 »

"allow spring to use rapid"
https://springrts.com/mantis/view.php?id=4431
https://github.com/spring/spring/commit ... 04400982e7
https://github.com/spring/spring/commit ... 7aeed0a752

This thread...so much is all possible or already done years ago or was discussed before or just not that important or not relevant for singleplayer.

:arrow:
  • "game selection screen" as mod using Lua that default-loads in spring.exe
  • needs a way for players to start spring.exe: for ex. button in normal lobby/start menu entry etc
  • games include their own SP stuff and handle the rest in whatever way they want to
  • more features (like rapid-tags in startscripts, reading minimaps from un-loaded archive) are always nice but not blocking
Beside serving as fallback or example: Where is the use to make a general "one fits all" SP menu?
Games are way too different to all work with same menu.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

This thread is about achieving a goal who's guidelines have already been set and here you are fighting up stream the whole way. Or in a similar sense everyone here was paddling forward and your here paddling backwards sending our canoe in circles.

could you please bring these concerns to a different thread instead of fighting this one.
Edit: I should clarify; I feel your menu (nice work by the way) and concerns are grounds for a seperate proposal to this one.
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: (in-) engine menu

Post by 8611 »

Funkencool wrote:This thread is about achieving a goal who's guidelines have already been set
Where have the guidelines been set? Surely not in the first post which asks for thoughts:
abma wrote: primary goal imo should be:
...
thoughts? will/would this work? or ideally: is there already such a project?
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

primary goal imo should be:
4. allow to setup a single player game with selecting game/map & ai
5. edit settings
6. replace the current menu

mid term goal could be:
7. select missions / campaign
8. "switch" game menu
9. lobby
10. download game/maps/missions
- etc.etc.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

I am simply trying to reach these goals because I agree with them. I feel you are unnecessarily arguing against progress towards them.
8611 wrote:Where is the use to make a general "one fits all" SP menu?
You clearly don't want "one fits all" SP menu, but I feel that was the entire point of this thread; to organize a "one fits all" SP menu.

Sorry if I've misinterpreted things but this is how I see your posts.
Everyone: "Yeah, let's make a generic SP menu with cool bell's and whistles for all the games that don't have one!"
knorke: "hey, how about let's not!"
8611
XTA Developer
Posts: 242
Joined: 29 Dec 2014, 08:22

Re: (in-) engine menu

Post by 8611 »

The thread clearly asks: "thoughts? will/would this work?"
Imo: No, because:
Funkencool wrote: Why shouldn't we have a "one fits all" SP menu?
Different games have different needs for a SP menu. If one thing should be clear after years of singleplayer discussion it should be clear, then it is that.

Games differ in:
-list of valid maps
-list of valid AIs.
-tutorials, missions, campaign
-which modoptions to show / how to show them (for ex. hide "debug" modoptions)
-graphical design of menu
-pre-game setup stuff, for example configuring your startunits or Commander or even more.
-basically everything

How will the "One fits all" SP menu not end up just as bad as any other SP menu found in normal lobbies?
Games with SP menus already exist - allow players a way to use those.

edit:
ok, all you do is repeat the same thing (that is not even really decided) without adressing any of my reasons -> bye thread.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

dansan wrote:Oh damn - you mentioned it above... didn't read the whole thread before posting - sorry.

I was thinking that maybe some Lua-wizard could write a high-level lua-socket-API (json <-> lua table or something?), because / if some stuff for a lobby/SP-menu could benefit from online-ressources:
  • images (maps, logos)
  • mission-updates (or can pr-downloader do this?)
  • game-maintainer supplied list of suggested maps for SP
  • (MP lobby only): game-maintainer supplied lists of suggested maps for MP of size XvX
  • game-maintainer supplied news texts
  • tell pr-downloader-API to run update() on [certain|all] installed map/mod/mission
  • switch game feature (com xmas hat) on/off
I don't know which of these things should be lobby-protocol extensions and which not... just some ideas for things a game-maintainer might want to easily edit/enable in a web interface of sorts.

Regarding Internet access: players are expected to have it today - by all games!

Still: 1) the maps that are delivered together with the game as a pack should provide a mini-, big, metal-, and height-map in some default location. 2) All later downloaded maps should be accompanied by a download of the respective images. Problem solved for new installations. Maps downloaded through other lobbies will require a download though (or a shared location & naming scheme).
I agree completely. Along the same lines I thought it would be cool to include an API to pull images from springfiles that aren't minimaps (game images, landscapes, maybe mission pics). That would be somewhat tougher since they are optional but could be nice for backgrounds etc.. when available.
User avatar
smoth
Posts: 22309
Joined: 13 Jan 2005, 00:46

Re: (in-) engine menu

Post by smoth »

Why is a one size fits all menu 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.
User avatar
Funkencool
Posts: 542
Joined: 02 Dec 2011, 22:31

Re: (in-) engine menu

Post by Funkencool »

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.
Post Reply

Return to “Game Development”