Tool Starbound Space Station Planificator DEV

Discussion in 'Starbound Modding' started by Tezorukos, Jan 5, 2022.

  1. Tezorukos

    Tezorukos Tentacle Wrangler

    Nice Day everyone!

    I'm a new member here. I'm a 40 years old, pass-time software programmer.
    I'm working on a Starbound Space Station Planificator.
    It's main use will be to planify your space station, within a windows software dedicated to it.

    (Main features planned will be)
    For each Expansion in the map:
    A way to tell, built and not-built. And resource cost.
    A way to create sectors, to split your space station project in parts. And resource cost.
    A way to write text within each expansion.
    A way to select expansions, and know their total resource cost.
    Globally:
    Save the map into a bitmap/jpeg/etc.
    Print the map to a Printer.
    Total resource cost of Space Station. Total + built + not-built.

    Right now I got the basic drawing routines done. It's only drawing an empty grid right now.
    Next step: is the camera movements.

    I plan to place it somewhere on the web. And will be needing users to test and have their comments.
    Please be respectful, and constructive!

    Upcoming features...

    1) Placing expansions in grid tiles. I must add code for doors connections restrictions. And also code supporting large expansions using multiple grid tiles.
    I must also add a palette of expansions, one you must select.

    2) More work on the camera, it's really basic right now. It works badly with small grid tiles. Centering the view on the first core is buggy. I'll fix it eventualy.
    I'll also add a toolbar with camera related buttons.

    3) Sector creation tool. Just a palette of colors, one you must select. Then you can click a grid tile to assign/remove that color to the tile. Colored square displayed around the grid tile. With a sector on/off switch for show/hide the sectors' color.

    4) At least one starry background, with on/off switch. Solid background options with color choice. Rework on the grid and maybe a choice of grid types. Enough features so that you can make it game-like or blueprint-like. For later printing/save-to-file features.

    5) An automatic expansions suggestions tool. Working much like in the game. You would click on a grid tile, and possible fitting expansions are displayed in a palette. You can then select the one you want.

    6) A text label system. I'll start with a fixed text centered within grid tiles. Then i'll make it more flexible and allow them to be moved and placed anywhere.

    7) A grid tile selection tool. Displaying total expansions count, with total resource costs. Much like it is planned for the sector tool.

    8) Final polishing should include a rework of the UI visuals so it looks much like in the game. This will be done by the very end. During debuging and testing for public release.
     
    Hedison likes this.
  2. Tezorukos

    Tezorukos Tentacle Wrangler

    The project is going well. Still drawing an empty grid but the rest is ready and still unused. I made the inner systems simplier, fixed many bugs. Basic camera movements is done. I still need to add some error handlings to prevent many crashes. Need to do some work for faster drawing routines, it's already nice but i'll do the maximum.
    After some bug hunting and some other coding, i'll do the next step: adding UI elements.

    See ya!
     
  3. Tezorukos

    Tezorukos Tentacle Wrangler

  4. Tezorukos

    Tezorukos Tentacle Wrangler

    The grid now contains the starting mech bay and core. It's possible to change the content of the grid tiles thru code. And change between three different view. Room Icon, Room Doors, Room Game-like. Still lots of work...
     
  5. Tezorukos

    Tezorukos Tentacle Wrangler

  6. Tezorukos

    Tezorukos Tentacle Wrangler

    I've started adding a few UI elements.

    1) A colored square around the mouse position, with a label displaying coords.

    2) Grid tiles can be selected, and are displayed with a colored square around them.

    Now working on adding a color palette system for the application. With the code already supporting features allowing user customisation.
     
  7. Tezorukos

    Tezorukos Tentacle Wrangler

    Currently working on many things at once. I added two more view modes. Now there's Doors, Icon, Small, Medium and Large view modes. Been adding a color palette piece by piece. Working on adding mouse tools and UI. Working on "Autobuild" feature, with expansion suggestions, door restrictions to be added soon. Adding windows form menu with File options. Added an FPS calculator. Lots of details here and there. Simplified a few things.

    A work in progress...
     
  8. Tezorukos

    Tezorukos Tentacle Wrangler

  9. Tezorukos

    Tezorukos Tentacle Wrangler

    I removed the File and View menus and replaced them with keyboard keys. The menu was problematic. I tried to find a fix, but something was wrong and i had no control on it. I could have fixed it in a basic way, but it would be problematic on different pc/windows systems. I need to do some research on this detail, it's not the first time i have this particular problem.
     
  10. Tezorukos

    Tezorukos Tentacle Wrangler

    I redid the camera centering maths. And added printer-like graphics.

    Now there's 10 sets of grid tiles. Doors, Icon, Small, Medium, Large. And all the same in printer-like version.

    I added a Keyboard key for centering the camera on the first core. And when changing between grid sizes, the view stay about the same place in the grid.
     
  11. Tezorukos

    Tezorukos Tentacle Wrangler

  12. Tezorukos

    Tezorukos Tentacle Wrangler

    I added different grid styles. I think there's 8 of them. No grid + other grid styles. And also the option to remove the tile, making it invisible. Will be used to display background, and to create comment text areas.
     
  13. Tezorukos

    Tezorukos Tentacle Wrangler

    I added multiple screen support with a Setting screen at app launch. Settings can be opened with a keyboard key. With screen change applied quickly without restarting the application.
     
  14. Hedison

    Hedison Space Spelunker

    Hello Tezorukos I liked your project. I wanted to know, do you use Git (or another VCS)? I would just like to see the open source code of the program, because it's not just a mod.

    And I also have an additional idea for your project. What if you use an algorithm for automatic generation? So that you can randomly generate examples of ready-made stations.

    Not so long ago I was doing a "direct implicit brute force algorithm for finding the chromatic number of a graph." And it seems to me that this algorithm can be used to automatically assemble a station from different blocks. Or, for example, to decompose different objects into separate blocks.

    Here is the link to Git: https://github.com/DemidovDG/zooGraphColoringAlgorithm
    (There is a description written in Russian, but I think the translator can handle it. Of course, if you're interested)

    I'm not sure, but it seems in the video you wrote code in C++/C#. Most of the time I've been writing code in Java, but I can try to transfer the logic of the algorithm to the language you use.

    _____________________________________________
    I am not a native English speaker
     
  15. Tezorukos

    Tezorukos Tentacle Wrangler

    I do it in MS Visual Studio 2010 in C#.
    Your idea is nice for auto-generation of space station. Of course it's something that could be added. Probably at the end of the project.

    My project is a stand-alone app. It doesn't communicate with the game itself. It's like a Paint program, designed especialy to plan Starbound Space Station. I try to make it customizable so eventualy i can use the same program for a similar use with another game/or-something-else
     
  16. Tezorukos

    Tezorukos Tentacle Wrangler

    Update: i've been on vacation and didn't do much in the dev of the app. I did screw up the camera centering code, oops! But I had a reason to do it, will be fixed soon enough. Still on vacation for a few days/weeks. Giving you a real update soon.
     
  17. Tezorukos

    Tezorukos Tentacle Wrangler

    HEDISON ==> The page is in Russian but i see where this is going. I do it differently but i am interested to see how you do it in C# yourself.
     
  18. Tezorukos

    Tezorukos Tentacle Wrangler

    Insane checklist of my things to do for this application to be great. I might not complete the list, but that's what planned.
     

    Attached Files:

  19. Tezorukos

    Tezorukos Tentacle Wrangler

    I've been working a little on my app, update soon.
     
  20. Tezorukos

    Tezorukos Tentacle Wrangler

Share This Page