• Advertisement
Sign in to follow this  

Unity 2D Space Map

This topic is 2378 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello Game Dev community! This is my first post., but I have lurked for a while here. I'm a solo indie planning my next game.

I searched the forum and the web and wasn't able to find any great sources for this topic, so I was hoping you could help me! My apologies beforehand if I missed something.

I'm trying to build a space exploration game, with a ship mode and a player mode. As in, the player can either be piloting their ship in a top down twin-stick kind of mode, or a more traditional RPG mode where the player can walk around and interact with other characters. This will all be in 2D, top down. My current plan involves XNA.

I'm running into a problem figuring out how to best handle my space-mode maps. The player-mode will be relatively painless, a tilemap. But I'm at a loss as to the best way to create a galaxy. I'm currently thinking that I will break up space into solar systems and there will be a travel mechanic to go between these sytems. So the maps will actually be individual solar systems, not all of space. I have a few ideas on how to store this, but I was hoping to get some feedback before I really started rolling.

I was thinking of a XML file defining a point, an asset to use for the planet's graphics, and a scale. And then I'd read that file. At first I would manually edit it and maybe eventually put together an editor. I want to support asteroid belts as well so being able to define a path to draw along would also be useful.

So, anyways, I have a few ideas, but I'd love to hear from some other programmers before moving forward. Thanks for any help.

Share this post

Link to post
Share on other sites
If your solar system aren't too big, you could stick to the grid based mapping. You could also move onto an oc/quad tree design, instead of having everything on a fixed grid. Using an xml file is perfectly doable... though editing it by hand is going to become a huge pain the more you have to add to it. But along with an editor, it's a decent way to store information, not the fastest but it is friendly to the end user if you allow modding.

Share this post

Link to post
Share on other sites
Since I want exploration to be a big part of the game, I'd like to make the map fairly large. Larger than I see my tile maps being. For the player-mode I plan on using Mappy to generate tile map files, and designing a galaxy to the scale I'm thinking in Mappy would not be easy.

EDIT: Also, the solar systems will not have too many objects in them, so I think hand-editing would not be so bad.

Share this post

Link to post
Share on other sites
This sounds very similar to Planet's Edge. In it, you can be on a planet, interacting with characters, or flying around in your space ship. There are stars in the galaxy map, and when you hit a star with your ship, it takes you to the star's system where you can see planets orbiting the star. If you travel outside the boundaries of the solar system, you go back to galaxy map, exiting from the star that you hit, in the same direction that you left the solar system.

For star placement in the galaxy, I had a similar problem, the proposed solutions may help you. For solar system, do you want it to be real-time or static? If static, you can get away with randomly generating points for planets to be on (random radius * random angle) -> convert to x,y position. If realtime, you can generate random radius for each planet, assign orbit speed, and update the angle of the planet in relative to the star in middle, then convert to x,y position again.

Share this post

Link to post
Share on other sites
Hmm, I actually hadn't considered yet having the planets move, yet that makes so much sense :D Your navigation sounds nice and smooth, similar to Mass Effect 2's as well which I really enjoyed. I haven't decided between that and actually warping between systems through a navigation menu or something. I'm kind of a Trekkie so I like the idea of warping around...

Thank you for the link Zeraan I'll check it out.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By Innoc uous
      I'm working on a space game, and I suck at art. I would love to get some help from someone who is more skilled than me. Things I need include modular space ship parts and GUI elements. Nothing too fancy, just functional so I can get a prototype put together. This could potentially become a serious project, but for now this is just a hobby project.
      In this video, you can see a few things I already completed
      :2018-02-24 20-08-13.flv2018-02-24 20-08-13.flv
    • By Innoc uous
      If you want to incorporate noise into your shaders, the Turbulance Library has you covered. Using code I gathered from this library, I made a cginc file that contains all you need to easily implement noise into your unity shaders. Who knows how this stuff works, but man, does it work well!
      Here is an example of what you can create using these noise functions.
    • By Nio Martinez
      I'll be buying a new laptop as my workstation for building games, Mostly 3D but not hard core. 
      I'm stuck at choosing between these 2 specs below. Does this really matter and if so, can some one tell my how and why it matters. 
      Intel core i5-8250U (8th gen Kabylake refresh)(6 MB Smart Cache, 1.6 GHz Base with Turbo Boost up to 3.4 GHz) 4 cores 8 threads
      RAM 8 GB DDR4 (2400 MHz)
      GPU 2 GB DDR5 Nvidia MX150 256 bit
      SSD: yes
      Intel core i7-7500U 2.70GHz Base Processor (4M Cache, up to 3.50 GHz Boost) 2 Cores, 4 Threads
      RAM 4 GB DDR4 (1800 MHz)
      GPU 2 GB DDR5 Nvidia GeForce 940MX 256 bit
      SSD: No
    • By Manuel Berger
      Hello fellow devs!
      Once again I started working on an 2D adventure game and right now I'm doing the character-movement/animation. I'm not a big math guy and I was happy about my solution, but soon I realized that it's flawed.
      My player has 5 walking-animations, mirrored for the left side: up, upright, right, downright, down. With the atan2 function I get the angle between player and destination. To get an index from 0 to 4, I divide PI by 5 and see how many times it goes into the player-destination angle.

      In Pseudo-Code:
      angle = atan2(destination.x - player.x, destination.y - player.y) //swapped y and x to get mirrored angle around the y axis
      index = (int) (angle / (PI / 5));
      PlayAnimation(index); //0 = up, 1 = up_right, 2 = right, 3 = down_right, 4 = down

      Besides the fact that when angle is equal to PI it produces an index of 5, this works like a charm. Or at least I thought so at first. When I tested it, I realized that the up and down animation is playing more often than the others, which is pretty logical, since they have double the angle.

      What I'm trying to achieve is something like this, but with equal angles, so that up and down has the same range as all other directions.

      I can't get my head around it. Any suggestions? Is the whole approach doomed?

      Thank you in advance for any input!
    • By devbyskc
      Hi Everyone,
      Like most here, I'm a newbie but have been dabbling with game development for a few years. I am currently working full-time overseas and learning the craft in my spare time. It's been a long but highly rewarding adventure. Much of my time has been spent working through tutorials. In all of them, as well as my own attempts at development, I used the audio files supplied by the tutorial author, or obtained from one of the numerous sites online. I am working solo, and will be for a while, so I don't want to get too wrapped up with any one skill set. Regarding audio, the files I've found and used are good for what I was doing at the time. However I would now like to try my hand at customizing the audio more. My game engine of choice is Unity and it has an audio mixer built in that I have experimented with following their tutorials. I have obtained a great book called Game Audio Development with Unity 5.x that I am working through. Half way through the book it introduces using FMOD to supplement the Unity Audio Mixer. Later in the book, the author introduces Reaper (a very popular DAW) as an external program to compose and mix music to be integrated with Unity. I did some research on DAWs and quickly became overwhelmed. Much of what I found was geared toward professional sound engineers and sound designers. I am in no way trying or even thinking about getting to that level. All I want to be able to do is take a music file, and tweak it some to get the sound I want for my game. I've played with Audacity as well, but it didn't seem to fit the bill. So that is why I am looking at a better quality DAW. Since being solo, I am also under a budget contraint. So of all the DAW software out there, I am considering Reaper or Presonus Studio One due to their pricing. My question is, is investing the time to learn about using a DAW to tweak a sound file worth it? Are there any solo developers currently using a DAW as part of their overall workflow? If so, which one? I've also come across Fabric which is a Unity plug-in that enhances the built-in audio mixer. Would that be a better alternative?
      I know this is long, and maybe I haven't communicated well in trying to be brief. But any advice from the gurus/vets would be greatly appreciated. I've leaned so much and had a lot of fun in the process. BTW, I am also a senior citizen (I cut my programming teeth back using punch cards and Structured Basic when it first came out). If anyone needs more clarification of what I am trying to accomplish please let me know.  Thanks in advance for any assistance/advice.
  • Advertisement