I think there is lots of confusion here
Boar are you talking about Birth of the federation game? Cus this is Supremacy part, separate game, it is "like" sequel to BoTF.
EDIT:
Spocks-cuddly-tribble wrote: ↑Mon Aug 15, 2022 10:42 pm
There is also a map editor for BotF. It's part of the Ultimate Editor (Tools -> UE in the AIO Installer): viewforum.php?f=125
The users in this topic don't know how the Ultimate Editor for BotF works, that's why you got the link, so that you can ask the question where the right guys might read it and give you advice.
Last edited by Spocks-cuddly-tribble on Fri Aug 19, 2022 9:15 pm, edited 1 time in total.
I don't know how many bugs is too many but that point is reached somewhere before however many in BotF is.
Misfire wrote: ↑Sat Mar 05, 2022 2:03 pm
I've decided to take on the task of creating a map editor and wanted to ask if anyone has any input on what this should include. My thoughts:
On the new game configuration screen, create an option to load map data from a file. The game would then load map data from a file which would contain:
-Map size
-Position of all empire home systems
-Position of all minor home systems
-Position of all uninhabited systems
-Position of all other objects (wormholes, nebulae etc.)
Does anyone have an opinion on whether each home system location should be specific (i.e. Sol in sector 5,10, Romulus in 20,25) versus having generic starting positions defined for empire home systems, then assigned to each empire at random?
To keep the scope of this project smaller, I think it would be best to leave the individual system properties (planets, population etc.) to be set by the game rather than in the map file. Thoughts on this?
Any other ideas are welcome.
I can see you can alter galaxy map size parameters e.g. "huge" = 150 x 150 squares in 'resources/tables'
How can I get a .gal file that has a "custom size" e.g. 150 x 150 ?
Just as I'm building a true canon map and think it needs more spacing out for systems etc within sectors
I'll work on getting that done. I'll probably have to convert maps to have their own numerical size, rather than use the values from the tables (that could cause issues when people have them set differently). Shouldn't be too hard to implement.
Misfire wrote: ↑Sat Aug 20, 2022 8:19 am
I'll work on getting that done. I'll probably have to convert maps to have their own numerical size, rather than use the values from the tables (that could cause issues when people have them set differently). Shouldn't be too hard to implement.
Great stuff
Yeah, I saw in the tables that you can alter the galaxy size e.g. huge is currently 72 x 72.
A gigantic 150 x 150 generates some interesting maps ... LOL
I'm playing on a 120 x 120 with a higher minor spawn ratio, and have altered the ship lists slightly to be more canon like.
Misfire wrote: ↑Sat Aug 20, 2022 8:19 am
I'll work on getting that done. I'll probably have to convert maps to have their own numerical size, rather than use the values from the tables (that could cause issues when people have them set differently). Shouldn't be too hard to implement.
I created a custom map from one of the pre defined maps.
What is this error referring to? Is it because there are too many systems in the game to start ?
21:23:25.451 [48] ERROR General - An error occurred while starting a new game.
Supremacy.Types.SupremacyException: An error occurred while creating a new game context. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Supremacy.Universe.GalaxyGenerator.PlaceMinorRaceHomeworlds(CollectionBase`1 positions, IList`1 starNames, HomeSystemsDatabase homeSystemDatabase, List`1 minorRaceCivs, CollectionBase`1 minorHomeLocations, List`1 chosenCivs, Boolean respectQuadrants, IList`1 mapinfo) in C:\Projects\Supremacy\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 665
at Supremacy.Universe.GalaxyGenerator.PlaceHomeworlds(CollectionBase`1 positions, IList`1 starNames, CollectionBase`1& homeLocations, IList`1 mapinfo) in C:\Projects\Supremacy\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 996
at Supremacy.Universe.GalaxyGenerator.GenerateGalaxy(GameContext game) in C:\Projects\Supremacy\Mainline\SupremacyCore\Universe\GalaxyGenerator.cs:line 198
at Supremacy.Game.GameContext.Initialize() in C:\Projects\Supremacy\Mainline\SupremacyCore\Game\GameContext.cs:line 828
at Supremacy.Game.GameContext..ctor(GameOptions options, Boolean isMultiplayerGame) in C:\Projects\Supremacy\Mainline\SupremacyCore\Game\GameContext.cs:line 772
at Supremacy.Game.GameContext.Create(GameOptions options, Boolean isMultiplayerGame) in C:\Projects\Supremacy\Mainline\SupremacyCore\Game\GameContext.cs:line 751
--- End of inner exception stack trace ---
at Supremacy.Game.GameContext.Create(GameOptions options, Boolean isMultiplayerGame) in C:\Projects\Supremacy\Mainline\SupremacyCore\Game\GameContext.cs:line 755
at Supremacy.WCF.SupremacyService.DoStartGame() in C:\Projects\Supremacy\Mainline\SupremacyService\SupremacyService.cs:line 255
toffeeblue wrote: ↑Fri Aug 19, 2022 9:38 am
I can see you can alter galaxy map size parameters e.g. "huge" = 150 x 150 squares in 'resources/tables'
How can I get a .gal file that has a "custom size" e.g. 150 x 150 ?
Just as I'm building a true canon map and think it needs more spacing out for systems etc within sectors
Thanks
I have this functional in the game and editor, just need to add buttons in the editor yet to alter the size. Then I'll do a bit of testing to make sure it didn't affect anything else in the game, it should be coming soon.
Sorry guys, I should have posted about being away, but I wasn't expecting so much action in august and I thought I'd be back sooner.
I was busy with RL stuff, and taking some vacation time. Now with the beach stuff taken care of, time to get back to work
@Misfire, since you're working on the map editor, one smallish detail. When loading a map, the civ list is built/ordered in the order the civs are found in the map file (by sector coordinates), instead of their CivID. This might cause some issues.
I edited the canon map so that the empires are listed in their CivID order, but when custom maps are made, the maker needs to be aware of this.
Oh, and one other "bug" that affects custom made maps. When generating random systems, it can happen that Rogue planets are spawned in non-Nebula systems. I had to remove/replace them by hand in the canon map.
Iceman wrote: ↑Sun Aug 28, 2022 8:14 am
Oh, and one other "bug" that affects custom made maps. When generating random systems, it can happen that Rogue planets are spawned in non-Nebula systems. I had to remove/replace them by hand in the canon map.
Fixed.
Also made it possible to add planets to Nebulae, fixed planet bonuses in GGs, semi-fixed Crystalline planets, and some other smallish fixes.
First of all I want all of you to thank you for your work.
I have also discovered the fantastic mapeditor. But I have a problem. Every time I want to edit a saved map, I get an error.
Could you help me?
Thank you in advance. Keep up the good work.
bij Supremacy.Client.MapEditorDialog..ctor(IList`1 mapInfo, GalaxySize galaxySize, String fileName, String description) in C:\Projects\Supremacy\Mainline\SupremacyClient\MapEditorDialog.xaml.cs:regel 533
bij Supremacy.Client.LoadMapDialog.GenericCommandsDeleteCommandExecuted(Object source, ExecutedRoutedEventArgs e) in C:\Projects\Supremacy\Mainline\SupremacyClient\LoadMapDialog.xaml.cs:regel 110
bij System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
bij System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding)
bij System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
bij System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
bij System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
bij System.Windows.UIElement.OnExecutedThunk(Object sender, ExecutedRoutedEventArgs e)
bij System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object target)
bij System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bij System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bij System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bij System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bij System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
bij System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
bij System.Windows.Input.RoutedCommand.ExecuteCore(Object parameter, IInputElement target, Boolean userInitiated)
bij MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
bij System.Windows.Controls.Primitives.ButtonBase.OnClick()
bij System.Windows.Controls.Button.OnClick()
bij System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
bij System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
bij System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bij System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bij System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bij System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bij System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
bij System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
bij System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bij System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bij System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bij System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bij System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bij System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
bij System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
bij System.Windows.Input.InputManager.ProcessStagingArea()
bij System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
bij System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
bij System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
bij System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bij System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bij MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bij MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)