Simplifying would do good. You could have just something like:

VB Code:
  1. Type MySolarSystem
  2.     Name As String
  3.     X1 As Long 'top left corner in the map this solar system starts
  4.     Y1 As Long
  5.     X2 As Long 'top right corner
  6.     Y2 As Long
  7.     X3 As Long 'bottom left
  8.     Y3 As Long
  9.     X4 As Long 'bottom right
  10.     Y4 As Long
  11.     'you can simplify the position by having rectangular areas...
  12. End Type
  13.  
  14. Type MyPlanet
  15.     Name As String
  16.     Info As String
  17.     X As Long 'position in the solar system
  18.     Y As Long 'solar system is determined by the X and Y values
  19.     Inflation As Single 'can hold decimals unlike Long
  20. End Type
  21.  
  22. Type MyCity
  23.     Planet As Integer 'index to Planets array
  24.     Name As String
  25.     Info As String
  26.     Weather As Byte 'you can have 256 different weathers this way
  27.     Inventory(999) As Integer 'you can have 1000 different item types this way
  28. End Type
  29.  
  30. Public Solars() As MySolarSystem, Planets() As MyPlanet, Cities() As MyCity
  31.  
  32. 'just some random example...
  33. Sub Initialize()
  34.     ReDim Solars(9)
  35.     ReDim Planets(49)
  36.     ReDim Cities(499)
  37. End Sub

A lot depends on how big, configurable and random you want your world to be. The bigger the world, the more data it requires. What I've shown here is pretty much as low memory use you can get with your project. Good luck!