function starnode_setup()
	game.newStarnodeGenerator("tartarus",3,6)
	if game.hardcore == 0 then generator.level = 2 else generator.level = 3 end
	
	game.newMessage("WE ARE NOT LOST", "stolenrobot")
	game.newMessage("MERELY PURSUING OUR PREY", "stolenrobot")
	game.newMessage("I AM SURE IT WILL ALL WORK OUT IF WE SHOOT ENOUGH THINGS", "stolenrobot")
	
	--add any survivors that haven't already been encountered
	generator.addSurvivors()
	
	-- place gate at first room
	generator.placeRoom("gate", 0)
	actor.offsety = 42
	
	--shop right after the gate
	generator.placeRoom("shop", 1)
	
	--if we're doing this map only
	if game.playthrough == 0 then
		generator.startingPoints = 1000
		generator.startingPods = 5
	end
	
	-- place boss at final room
	generator.placeRoom("boss_reef", generator.het-1)
	
	--add a gate right past the boss
	generator.placeRoom("gate", generator.het)
	--actor.addEvent("gate", 6)
	actor.addEvent("winnerisyou", 6)
	actor.addEvent("dest_eden")
	
	--paint some backgrounds
	for i = 0, generator.het do
		generator.paintActor("terrain_ringnebula.lua", i)
	end
	
	-- ======== TERRAIN ======== --
	
	-- layer 0 -- backgrounds
	generator.setRoomLayer(0)
	--generator.addRoom("empty", 100)
	--generator.addRoom("planet_green", 10)
	--generator.addRoom("planet_rakis", 10)
	--generator.addRoom("comets", 30)
	
	-- layer 1 -- stuff
	generator.nextRoomLayer()
	generator.addRoom("empty", 60)
	generator.addRoom("crate_points", 30)
	if game.hardcore == 0 then generator.addRoom("crate_equipment", 20) end
	generator.addRoom("pixel", 50)
	generator.addRoom("shop", 20)
	generator.addRoom("cryopods", 30)
	
	-- layer 2
	generator.nextRoomLayer()
	generator.addRoom("empty", 220)
	generator.addRoom("nebula_fog_light", 50)
	generator.addRoom("nebula_storm_light", 50)
	generator.addRoom("asteroids_plain", 60)
	generator.addRoom("asteroids_gems", 25)
	generator.addRoom("asteroids_hard", 25)
	
	-- layer 4 -- hazards
	generator.nextRoomLayer()
	generator.addRoom("empty", 80)
	generator.addRoom("asteroids_bighard", 5)
	
	generator.nextRoomLayer()
	generator.addRoom("empty", 190)
	generator.addRoom("asteroids_explode", 40)
	generator.addRoom("micrometeors", 40)
	generator.addRoom("mines", 60)
	
	generator.nextRoomLayer()
	generator.addRoom("empty", 40)
	generator.addRoom("cuttlefish", 20)
	
	generator.nextRoomLayer()
	generator.addRoom("empty", 60)
	generator.addRoom("eggs", 10)
	
	generator.nextRoomLayer()
	generator.addRoom("empty", 60)
	generator.addRoom("anemones", 20)
	
	generator.nextRoomLayer()
	generator.addRoom("empty", 60)
	generator.addRoom("spikeflowers", 10)
	
	generator.nextRoomLayer()
	generator.addRoom("empty", 60)
	generator.addRoom("gasbags", 10)
	
	-- ======== ENEMIES======== --

	
	-- other aliens
	--generator.nextRoomLayer()
	--generator.addRoom("empty", 30)
	--generator.addRoom("mob_mites", 30)
	
	--generator.nextRoomLayer()
	--generator.addRoom("empty", 30)
	--generator.addRoom("mob_spitters", 30)
	--generator.addRoom("mob_wolves", 30)
	
	--ENEMY GROUPS
	generator.addMobGroup("actor_interceptor.lua", "A", 5)
	generator.addMobGroup("actor_interceptor2.lua", "A", 5)
	generator.addMobGroup("actor_turret.lua", "A", 2)
	generator.addMobGroup("actor_blinkturret.lua", "A", 3)
	generator.addMobGroup("actor_beamturret.lua", "A", 3)
	generator.addMobGroup("actor_artillery.lua", "A", 2)
	
	generator.addMobGroup("actor_artillery.lua", "B", 1)
	generator.addMobGroup("actor_artillery2.lua", "B", 4)
	generator.addMobGroup("actor_blinkturret.lua", "B", 2)
	generator.addMobGroup("actor_pillbug.lua", "B", 4)
	generator.addMobGroup("actor_lancer.lua", "B", 4)
	generator.addMobGroup("actor_frigate.lua", "B", 1)
	
	generator.addMobGroup("actor_lancer.lua", "C", 3)
	generator.addMobGroup("actor_destrier.lua", "C", 5)
	generator.addMobGroup("actor_artillery2.lua", "C", 2)
	generator.addMobGroup("actor_bulwark.lua", "C", 1)
	generator.addMobGroup("actor_beamturret2.lua", "C", 2)
	generator.addMobGroup("actor_frigate.lua", "C", 3)
		
	generator.addMobGroup("actor_bubbledrone.lua", "Z", 3)
	generator.addMobGroup("actor_node.lua", "Z", 3)
	generator.addMobGroup("actor_pulsardrone.lua", "Z", 3)
		
	--ENCOUNTERS
	generator.nextRoomLayer()
	--generator.addRoom("empty", 30)

	
	generator.addRoom("encounter_1", 20)
	generator.addRoom("encounter_2", 20)
	generator.addRoom("encounter_3", 20)
	generator.addRoom("encounter_4", 20)
	generator.addRoom("encounter_5", 20)
	generator.addRoom("encounter_6", 20)
	generator.addRoom("encounter_7", 20)
	generator.addRoom("encounter_8", 20)
	generator.addRoom("encounter_9", 20)
	

end