Space Station 13 Clone

deaf_fish
Member
 
Posts: 16
Joined: Sun Oct 21, 2012 00:02
GitHub: hansonry
IRC: hansonry
In-game: hansonry

Space Station 13 Clone

by deaf_fish » Wed Jun 22, 2016 15:05

Hey, I have been thinking about making a clone of Space Station 13 using minetest. I am an experienced programmer, but I am wondering how difficult it would be to implement some of the features Dose the API have hooks? Would it be faster/better to implement it in the engine itself?

  • Can I query blocks to figure out rooms for air pressure and temperature related calculations?
  • Can I do custom interfaces for interacting with items?
  • Can I remove the ground so you can see the skybox?
  • Can I restrict what players can do with which objects?

Let me know your thoughts and ideas. Thanks
 

User avatar
Mainpage
Member
 
Posts: 61
Joined: Fri Nov 13, 2015 01:12
GitHub: mainfolio
IRC: mainpage
In-game: mainpage

Re: Space Station 13 Clone

by Mainpage » Wed Jun 22, 2016 15:27

You can probably implement this in a sub-game, but it's most likely best to make the sub-game with LuaJIT.
Do you plan on making your own mobs mod, or use an existing one, like simple mobs or mobs redo. I think the engine has a path finding logarithm that's being updated.
Anyways it looks interesting, I'll play the sub-game if you make one.
I eat baby seals
 

deaf_fish
Member
 
Posts: 16
Joined: Sun Oct 21, 2012 00:02
GitHub: hansonry
IRC: hansonry
In-game: hansonry

Re: Space Station 13 Clone

by deaf_fish » Wed Jun 22, 2016 16:09

Do you plan on making your own mobs mod, or use an existing one, like simple mobs or mobs redo.

I don't know how soon I will add mobs, but I will probably use what is already out there. I have heard mobs have issues, but I don't want to re-invent the wheel unless I have to
 

User avatar
Mainpage
Member
 
Posts: 61
Joined: Fri Nov 13, 2015 01:12
GitHub: mainfolio
IRC: mainpage
In-game: mainpage

Re: Space Station 13 Clone

by Mainpage » Wed Jun 22, 2016 17:50

deaf_fish wrote:
Do you plan on making your own mobs mod, or use an existing one, like simple mobs or mobs redo.

I don't know how soon I will add mobs, but I will probably use what is already out there. I have heard mobs have issues, but I don't want to re-invent the wheel unless I have to

I think the issues are probably because of broken engine path-finding systems, https://github.com/minetest/minetest/issues/4198, though gregorycu said he is working on it. When it's done making your own mobs mod will probably be easier and turn out to be less buggy since you'll not have to make your own lua based path-finding code.
I eat baby seals
 

Byakuren
Member
 
Posts: 816
Joined: Tue Apr 14, 2015 01:59
GitHub: raymoo
IRC: Hijiri
In-game: Raymoo + Clownpiece

Re: Space Station 13 Clone

by Byakuren » Wed Jun 22, 2016 23:50

  • You will probably want to simulate atmos separately from the map. Atmos requires doing lots of calculations and you don't want to multiply that time by expensive engine calls. Minetest has no built-in concept of rooms, so you would have to implement that yourself in a mod. AreaStores will help with determining if things are in a room.
  • You can do a custom interface using formspecs. Formspecs are admittedly a bit clunky, and its coordinate system isn't friendly for when you want to generate dynamic formspecs.
  • In the API, you can set the map generator to "singlenode", which makes it so that the engine map generator does not generate any terrain.
  • You can define callbacks for your items for what they do when used. You could implement restrictions using these callbacks.

The API has many hooks. See https://github.com/minetest/minetest/bl ... ua_api.txt

EDIT: Atmos in three dimensions will also be much more expensive than in two. But maybe Lua will be much more performant than byond.
Every time a mod API is left undocumented, a koala dies.
 

deaf_fish
Member
 
Posts: 16
Joined: Sun Oct 21, 2012 00:02
GitHub: hansonry
IRC: hansonry
In-game: hansonry

Re: Space Station 13 Clone

by deaf_fish » Thu Jun 23, 2016 12:50

Thanks Byakuren, that is useful info.
 

twoelk
Member
 
Posts: 1352
Joined: Fri Apr 19, 2013 16:19
Location: northern Germany
GitHub: twoelk
IRC: twoelk
In-game: twoelk
 

deaf_fish
Member
 
Posts: 16
Joined: Sun Oct 21, 2012 00:02
GitHub: hansonry
IRC: hansonry
In-game: hansonry

Re: Space Station 13 Clone

by deaf_fish » Thu Jun 23, 2016 14:04

Thanks twoelk, That is some excellent source material. I am currently looking for space blocks, station bocks, and furniture.
 

User avatar
domtron vox
Member
 
Posts: 111
Joined: Thu Feb 20, 2014 21:07
GitHub: DomtronVox
IRC: Domtron
In-game: Domtron

Re: Space Station 13 Clone

by domtron vox » Fri Jun 24, 2016 23:02

I actually thought about this, making a SS13 subgame, myself right after I read about the death of the attempt to rewrite SS13 to be standalone. I was thinking more along the lines of how to implement the mechanics of the station (wireing, solar panels, tools, sigularity generator). You could maybe mod mescons to act and look like SS13 wiring.

I think there may be an issue implementing the T-Ray scanner. Not sure if you can make blocks see through, or selectivly see through, for just one player on demand. I supose it could just say weather there is a wire below you or not, but that isn't very user friendly. Maybe HUD elements could be added to indicate wire location?

As for art you could probebly get away with just using SS13 art for the tools and maybe even blocks. At least as place holders till you can get better ones. I think the art had a licence that allowed that.

Edit: This is a really cool idea the more I think about it. If you only implement half the stuff on the following page you will have a lot of new content for minetest. http://wiki.ss13.co/Guides
 

Byakuren
Member
 
Posts: 816
Joined: Tue Apr 14, 2015 01:59
GitHub: raymoo
IRC: Hijiri
In-game: Raymoo + Clownpiece

Re: Space Station 13 Clone

by Byakuren » Sat Jun 25, 2016 02:11

domtron vox wrote:I actually thought about this, making a SS13 subgame, myself right after I read about the death of the attempt to rewrite SS13 to be standalone. I was thinking more along the lines of how to implement the mechanics of the station (wireing, solar panels, tools, sigularity generator). You could maybe mod mescons to act and look like SS13 wiring.

I think there may be an issue implementing the T-Ray scanner. Not sure if you can make blocks see through, or selectivly see through, for just one player on demand. I supose it could just say weather there is a wire below you or not, but that isn't very user friendly. Maybe HUD elements could be added to indicate wire location?

As for art you could probebly get away with just using SS13 art for the tools and maybe even blocks. At least as place holders till you can get better ones. I think the art had a licence that allowed that.

Edit: This is a really cool idea the more I think about it. If you only implement half the stuff on the following page you will have a lot of new content for minetest. http://wiki.ss13.co/Guides


The T-Ray scanner in SS13 (at least in /tg/station) reveals it for anyone around, as far as I remember. But to do it in minetest as it is right now you would need to replace nodes with transparent versions, which would be annoying and would probably look laggy.

I wouldn't trust the licensing on any art or sounds from SS13 forks unless you can trace each one you plan to use to its source. I went asking about some sounds I wanted to use from the tgstation repo and it turns out the contributor used some proprietary sound packs, even though the art is supposed to be licensed CC-BY-SA (I think).

For implementing the electric system you could probably get inspiration from an SS13 codebase, since I would guess it is one of the parts where the algorithms are less colored by BYOND. I haven't looked at it though, so it may be some shitcode and you would be better off asking some devs how they would have done it. I wouldn't reuse Mesecons for SS13-esque wiring since it implements more logic than needed, so is less performant, and every part of a circuit needs to be loaded for it to work. Mesecons also has to do map accesses to determine what the neighbors of an activated mesecons component should do, which are expensive. Like atmos, I would recommend keeping track of and simulating the electric system outside of the map, and only use the map for input/output, which would only happen in the parts of the simulation that need it. Node callbacks can be used to add and remove things from the electric simulation to match the wiring in the map.
Every time a mod API is left undocumented, a koala dies.
 

deaf_fish
Member
 
Posts: 16
Joined: Sun Oct 21, 2012 00:02
GitHub: hansonry
IRC: hansonry
In-game: hansonry
 


Return to General Discussion



Who is online

Users browsing this forum: No registered users and 2 guests

cron