Search Unity

Assets Nick's Ultima Map Gen

Discussion in 'Works In Progress - Archive' started by mcmikecreations, Jul 19, 2017.

  1. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    A very ambitious project for a beginner programmer.
    Idea
    This project was started to create an editor, where you can view real-world data, download it to your computer and then process it for further use. Examples:
    • Extracting heightmap data to use in Unity Terrain System.
    • Extracting different polygons (areas defined by a bunch of points) e.g. a forest or a field to fill generated Unity Terrain.
    • Using map data to build roads / buildings / rivers etc.
    • Using map nodes (points on the map containing some data e.g. a postbox, a shop) to place GameObjects in the Scene.
    Done right now
    1. [17.07.2017]
      A basic MapView Editor, somewhat working tile display. The map didn't freeze at the end of the video, apparently, I was just too lazy to wait for the map to load.
    2. [19.07.2017]
      Updated MapView Editor, ability to load rendered OSM map tiles and save them for quicker load in the future.
    3. [20.07.2017]
      A new update was done, moving the project from the concept box to an alpha. Tile loading speeds between the updates:
      • [17.07.2017] - 6740 ms at peak
      • [19.07.2017] - 5862 ms at peak 6 ms usually
      • [20.07.2017] - 512 ms at peak 5 ms usually
      The data from profiler doesn't represent the speed upgrade that much, but generally everything feels a bit faster. The peak is due to data loading from the web in the main thread. I will still be working on that.

      Other improvements feature:
      • Map follows mouse cursor precisely. As you click on a point on the map and drag the mouse, the point stays near the mouse. I know that this seems like a very simple thing to do, and at the end it was, I just had to think about it for a while to figure it out.
      • In-Editor GUI for editing in-editor stuff like delta shifts.
    4. [21.07.2017]
      Here are the changes:
      • Fully changed mouse click event handling.
      • Implemented a focusedWindow variable to get the window that I am currently using.
      • Modified the resizing of the map event.
      • Added an option to hide or show the options window.
      • Added an export data menu option with these features:
        • Display a bounding box of data to load.
        • Display bounding box coordinates inside the box.
        • Display bounding box coordinates in a dropdown under the box.
        • Create a button which resets the bounding box relative to the centre of the screen. Keep in mind that map distorts a bit between the equator and the poles.
        • Create a download data button with an ability to change downloaded file name and an option to overwrite the existing file or create a new one.
      • Added a bounding box renderer on the actual map with these features:
        • Drag around the centre to move the whole bounding box or around the corners to move a corner.
        • Bounding box stays in the spot no matter how you zoom or scroll the map. However it's minimal size is 20x20 pixels.
      Warning, I had to make the video private.
    5. [22.07.2017]
      Changelog:
      • Modified the UI a bit, looks better now (in my opinion). All the textures, icons, etc. apart from the map were drawn by me and loaded using Point Filter mode.
      • Added Data type selection for the "Export data" menu
      You can see all the changes from this and previous update here:
    Plans for near future
    • Make map loading faster.
    • Make access for more maps e.g. Wikimapia.
    • Implement some tile renderer to render tiles directly from the users computer at runtime.
    • Make a way to choose a custom bounding box for data loading (see "Idea" paragraph).
    • Clean the code and write documentation.
    How you can help
    For now I don't think it is worth giving you the .unitypackage, but in a week or less I will manage (I hope) to get the damn think working fast, sort out some of my copyright questions, implement a few more things and it will be ready to go.
    You can write your suggestions, questions and other comments down below. Criticism is of course welcomed, I wish to make the project as good as possible.
     
    Last edited: Jul 22, 2017
    yc960 likes this.
  2. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    A new update was done, moving the project from the concept box to an alpha. Tile loading speeds between the updates:
    • [17.07.2017] - 6740 ms at peak
    • [19.07.2017] - 5862 ms at peak 6 ms usually
    • [20.07.2017] - 512 ms at peak 5 ms usually
    The data from profiler doesn't represent the speed upgrade that much, but generally everything feels a bit faster. The peak is due to data loading from the web in the main thread. I will still be working on that.

    Other improvements feature:
    • Map follows mouse cursor precisely. As you click on a point on the map and drag the mouse, the point stays near the mouse. I know that this seems like a very simple thing to do, and at the end it was, I just had to think about it for a while to figure it out.
    • In-Editor GUI for editing in-editor stuff like delta shifts.

    If you have any ideas for me to implement, feel free to comment
     
    neoshaman likes this.
  3. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    It's a shame not even one person got interested in this project, but I will still continue making it. New Update Today: Data Loadng bounding box selection and basic data loading.
     
  4. Cookieg82

    Cookieg82

    Joined:
    Mar 28, 2017
    Posts:
    73
    I took a peek yesterday, its very, very interesting. Extremely detailed. I wouldn't loose heart mate. I have a map system built but yours absolutely sh&$s all over mine. This is even better than the Economic map in the store. If you could develop it for financial firms - they would love it!

    Anyway getting a tad lost there...

    I am happy to keep a watch on this for developments.

    Keep going! :)
     
  5. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    I'm interested but is it at a state where I can talk, idk! I mean I will need it later, not just now lol.
     
  6. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    Just finished working on the new version, that I promised a bit earlier. Thanks to @neoshaman and @Cookieg82 for the overwhelming support. I wrote a bit more detailed post about the update but (oh well, I messed up) I forgot to log in and not everything I wrote stayed in the "Post" text field. Anyway, here are the changes:
    • Fully changed mouse click event handling.
    • Implemented a focusedWindow variable to get the window that I am currently using.
    • Modified the resizing of the map event.
    • Added an option to hide or show the options window.
    • Added an export data menu option with these features:
      • Display a bounding box of data to load.
      • Display bounding box coordinates inside the box.
      • Display bounding box coordinates in a dropdown under the box.
      • Create a button which resets the bounding box relative to the centre of the screen. Keep in mind that map distorts a bit between the equator and the poles.
      • Create a download data button with an ability to change downloaded file name and an option to overwrite the existing file or create a new one.
    • Added a bounding box renderer on the actual map with these features:
      • Drag around the centre to move the whole bounding box or around the corners to move a corner.
      • Bounding box stays in the spot no matter how you zoom or scroll the map. However it's minimal size is 20x20 pixels.
    Warning, due to privacy concerns I had to make this video private
     
    Last edited: Jul 22, 2017
    yc960 and neoshaman like this.
  7. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    The map will be released in the asset store for free or some trivial very small price as soon as I get it to perform as good as I want it to.

    Also I have a dream, when the project is at least in "beta", of contacting other developers of powerful systems like world vegetation generators etc. to work together and make some scripts to combine our projects.
     
    Cookieg82, yc960 and neoshaman like this.
  8. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    A new Tiny update came around. Worked for a little bit on the UI and added a dropdown for specific data type loading.
    Changelog:
    • Modified the UI a bit, looks better now (in my opinion). All the textures, icons, etc. apart from the map were drawn by me and loaded using Point Filter mode.
    • Added Data type selection for the "Export data" menu
    You can see this and everything from the previous update in this video:
     
    Last edited: Jul 22, 2017
    Cookieg82 and yc960 like this.
  9. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    Now I will stop posting everyday updates for some time, I need to figure out how to work with downloaded data. The OverlySimpleMap View looks good to me for now, other improvements will come as the project progresses.
     
    yc960 likes this.
  10. mcmikecreations

    mcmikecreations

    Joined:
    Apr 1, 2014
    Posts:
    16
    Quick update: just finished some basic work on processing downloaded data, new detailed updates tomorrow or the day after.