EternalBlueFlame / Traincraft-5

Traincraft repository for version 1.7.x port.
Other
58 stars 54 forks source link

Add more types of Tracks #48

Open NitroxydeX opened 8 years ago

NitroxydeX commented 8 years ago

WE NEED TO REWRITE OUR SYSTEM BEFORE WE CAN ADD TRACKS THAT ARE KINDA SPECIAL

More types to be added

Cronosus commented 8 years ago

i like 1x1 version, its more useable than 5x5 or 3x3

MacTirom commented 8 years ago

me to 1x1 is better.

pietrodevo commented 8 years ago

Yes, that's true, 1x1 would let player more choice. One kind of track thath I think it is very important to review is the parallel switch, that actually is ?x4 blocks and would be far better to have it ?x3 (I don't remeber exactly now the lenght) beacuse 2 blocks between rails instead of 1 isn't very necessary and 1 is I think just mre common than 2. Another point would be having a parallel switch that can connect two different continuous lines, so not like the one actually in-game that basically does 1to2 or 2to1 connections, but one that can do 2to2

NitroxydeX commented 8 years ago

@Pdevo well. I'm sure MrBrutal did this with something in mind but yeah, I agree that they are more realistic with x3. But please keep in mind that if we add new tracks we need to follow the old rules of Brutal which could cause serious problems for the designers. can you show us examples (pictures, drawings) of your last mentioned connection thing I don't understood anything from that. :D

pietrodevo commented 8 years ago

Yes, I also agree with that. Personally I admit that x4 is more realistic and I already had to rebuild my railways two years ago and, yes, I find it not bad, It doesnt changes so much, what it changes is the 2t2 I was referring that now I will better explain:

I talk simply about this: http://images.mocpages.com/user_images/64178/1345736684m_SPLASH.jpg

That actually is impossibile to do as now and very frustrating, or better, can be done but using two parallels with x4, so having as result x8 space, basically 6 spaces between lines! with parallels having x3 would be mitigated and wouldn't require implementing what I refer to in the picture, and having a rail yard or a station with different tracks, but not necessarily so many, to connect or simply a two-way classical railway where you need to move a train from one side to other is complicated, with simply that would be far easier and useable

NitroxydeX commented 8 years ago

@Pdevo So you basically just want to have two parallel switches that are closer to eachother or more like something that is already a final track like the thing on the top right. Is this correct?

pietrodevo commented 8 years ago

Yes exactly sir! That would do the job well

EternalBlueFlame commented 8 years ago

We should keep in mind too that since minecart functionality works on trains again, we should be able to use Zora no Densha rails too. I need to actually test that myself at some point.

EternalBlueFlame commented 8 years ago

Because this has gotten some talk recently, and some work too.... Due to track detection 1x1 crossings are potentially impossible. however 3x3 should not pose any issues. I think the 5x5 size unnecessary, both from a use and programming standpoint, if you want that size you could just add the extra 1x1 tracks manually.

Cronosus commented 8 years ago

agreed ;) 3x3

matart0 commented 8 years ago

So how can Railcraft have this kind of track? ('Junction Track', 1x1)

EternalBlueFlame commented 8 years ago

Because railcraft tracks are extended off base game rails. TC tracks are anything but.

That being said, we have recently found out 1x1 would be possible, in fact it would be possible to remove all the little extra 1x1 tiles on tracks, like on switch tracks, but the main issue is going to be that a lot of things will need tweaks for it to work well if at all. Probably something to consider during the post-release cleanup.

Valaktik commented 8 years ago

What about diagonal tracks ? And for @Pdevo 's special switch : Image

NitroxydeX commented 8 years ago

not with this kind of system TC is using at the moment.

matart0 commented 8 years ago

I have a doubt because of my ignorance: is adding a new type of track possible, given that this is just a port?

Also, @NitroxydeX are you talking about this port of Traincraft (1.7) or it's same thing for 1.9 rewrite? Just for curiosity.

NitroxydeX commented 8 years ago

@matart0 yes it is. I'm talking 'bout this port. Don't know what's planed for the rewrite.

EternalBlueFlame commented 8 years ago

@matart0 well this is the github for the 1.7 port, i'd hope we were talking about it. haha. That aside, nitro is right that adding new types of track is possible, although it is difficult without the code being heavily cleaned up. it's all still a mess.

@Valaktik it would be possible to make diagonal sections, but the ends will have to be facing specifically north/south/east/west since they are designed to be used similar to base game/railcraft rails.

NitroxydeX commented 8 years ago

@EternalBlueFlame well wo don't need to face it into north/east/south/west. It's not only implementing the Tracks it's also to write the Code for EntityRollingStock and EntityBoogie that they are correct following the tracks.

EternalBlueFlame commented 8 years ago

@NitroxydeX true.... Well there was this old mod that did it for base game rails, its just a texture/model change if circumstances were right, it would be possible to do the same with TC rails, and it wouldn't get too complicated (after the code is clean) to add the necessary functionality like 90 degree turns and detection of nearby rails to prevent derailing at high speeds, as well as to change the graphic. http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1285612-1-4-2-forge-better-rails-mod

MggMuggins commented 8 years ago

How hard is it to add a track? If possible, could there be, say, multiple block widths of the same type of switch/turn? Take the parallel switch, for example. Do one that only moves the track over one block (no space between tracks), one with one block in between (one block between tracks), etc. I would also suggest that there be a track similar to the parallel switch, just without the switch. Basically track that would move over a certain number of blocks without the switch. Basically a squiggly line.

EternalBlueFlame commented 8 years ago

Most of the issue is creating a new item, block, and entity, then sorting them into the registers, there would be at least three registers which would need it added (most with 6+ variables and more conditions than a single line of code should have), one of which it will need to be added 8 times so the pathing can be properly defined dependent on direction placed. This isn't even counting rendering (I still haven't even set foot in the rendering code), or making the model. Or dealing with switch functionality. At the current stage TC is anything but a copy paste system, nor is it as simple as 'import track' like it should be.

This is why I wanted to put off adding track until after the cleanup, it would cut down the work significantly.

That mess being said to answer your question on how hard it is, it's still good to keep track of this stuff for when the mod is clean enough where it won't be that big of a mess.

NitroxydeX commented 8 years ago

No space between The Track? Not the best idea with this hitboxes

Cronosus commented 8 years ago

this type, posted by pdevo, will be really nice http://images.mocpages.com/user_images/64178/1345736684m_SPLASH.jpg

ad. and what about this? http://ttmodelar.eu/image/cache/data/zbozi/08-kolejivo/tillig-profilove/krizovatky/83161-1-300x80.JPG http://www.itvlaky.cz/fotky18461/fotos/_vyr_80283210.jpg http://www.rkmodel.cz/fotky44568/fotos/_vyr_343f6164.jpg (switch)

these crossings you can make from straight to crossing and back to straight ͞ ͞ \ / ͞ ͟ ͟ / \ ͟

NitroxydeX commented 8 years ago

the Second thing is something I also thought about.

EternalBlueFlame commented 8 years ago

The issue that will be with the first and third of those three is there is no diagonal track, and support for such a thing is very questionable due to the nature of how rails work. I agree though that the second one would be a good option...

Cronosus commented 8 years ago

you mean this? http://www.itvlaky.cz/fotky18461/fotos/_vyr_80283210.jpg this type i like most of all three i post, becase combining exchange-crossing and quadruple-paralel switch. Best choice

EternalBlueFlame commented 8 years ago

That should be fully possible. Ones like this: http://www.rkmodel.cz/fotky44568/fotos/_vyr_343f6164.jpg Won't really be an option because diagonals don't work with square based puzzle pieces like TC and normal rails.

pietrodevo commented 8 years ago

That one would be the best thing to have, really needed @Cronosus

Cronosus commented 8 years ago

post someone something like that? https://www.itvlaky.cz/fotky18461/fotos/_vyr_42936154_rgb.jpg something to rotate train (i know, just 4 directions are possible) will be nice too. (if is possible)

pietrodevo commented 8 years ago

Yes, for sure not a priority and something that goes ahead from the "port" target, but would be great in a future, like also having detectors, activators, speed controllers and so on for new rails, not so many things indeed, just core functionalities like detectors and holders

MggMuggins commented 8 years ago

Another new kind of track that would be nice: Longer slopes. Slope tracks that are 12, 18, 24 and maybe even more. The question is, is it possible?

NitroxydeX commented 8 years ago

Our API is ready for longer slopes.

Cronosus commented 8 years ago

and shortest? :D

NitroxydeX commented 8 years ago

@Cronosus the API is ready for every lenght of slope. shorter or longer is supported (but shorter makes no sense) This rotate thing I think is not possible.

Cronosus commented 8 years ago

ok, with this second track, i post, will be easy to rotate train. (make circle)

Cronosus commented 7 years ago

models mine version here: https://www.dropbox.com/sh/gbdpiqkm2de008s/AACmXsoL_KeJPlkJJwT03fUCa?dl=0 krizeni-fin pdevo's version here: https://www.dropbox.com/sh/9wtpt6g9zhl2dk5/AAA-rsDJj8WuFbMevbC0l-EIa?dl=0 odbocka

edit: models need to rework.. :/

pietrodevo commented 7 years ago

Wow, that seems incredible! Superb work @Cronosus

EDIT: Usually railroads use parallel lines of two rails, so with one track for each direction, then doubled, would be amazing in a future to have a parallel switch like the one on the right of my image, so connecting three parallel rails, because if I need to move one incoming train to a certain station's platform, I usually have to move not of one, but two rails away beacuse every platform is a sort of cluster for a certain line with its two directions, so something like this:

1 ----->> 2 <<-----

3 ----->> 4 <<-----

5 ----->> 6 <<-----

If I need train on 1st rail to move on another line it will be moved not on number 2, 4 or 6, but 3 or 5, there is no need for these kind of lines to move one train to the siding rail, because it would go to a rail with opposite direction.

This can be archieved using two paralles for sure, I know, in fact are just speculations maybe for the future, not now, I am already excited for the work you are doing guys and people like me can just thank you and wait for your time

NitroxydeX commented 7 years ago

@Pdevo well. you would need to power it from under the block. so we have of means trains are crossing the line in the middle or on both switches in the middle turn the train on the middle track or vise versa

pietrodevo commented 7 years ago

@NitroxydeX Yep sir, or eventually the middle crossing being like the usual 4-way crossing, so just a crossing without possibility to join rail 1 and 3 with 2

NitroxydeX commented 7 years ago

@MggMuggins new slopes are in.

MggMuggins commented 7 years ago

Amazing. I'm going to update my local fork and build it soon.

NitroxydeX commented 7 years ago

@MggMuggins we have official release. https://minecraft.curseforge.com/projects/traincraft

MggMuggins commented 7 years ago

Well that is surprising. I have a bug to report on the new slopes. When loading a world, the previous existing slopes are replaced by the medium, and this makes all old track unusable until the player has gone through and fixed all of the slopes. I don't know if it's an intentional bug or not, but it exists.

Czarified commented 7 years ago

In the OP, could you lay out the requirements for current TC track pieces? It sounds like diagonals are out of the question, unless they link up to a straight piece. Anything else that would be near impossible right now? Would it be helpful at all to have untextured obj files for what has been suggested?

NitroxydeX commented 7 years ago

@MggMuggins that is because we registered the old "Large Slopes" as "Slopes" and the 1x12 as "Large Slopes". But if you placed it it's only the new render that is loaded.

@Czarified if you are following the TC standards you don't need textures. We use only 1 texture. Even for the new rails that @Cronosus provided. They need to fit TC-Tracks like they are now.

Cronosus commented 7 years ago

I think someone asked me for that (parallel curve - without switch) Or my idea? i'm not sure :D https://www.dropbox.com/sh/dokaivwyzyhmwpl/AABVJhUvUlNj7V1SZ5jqz0dta?dl=0 paralelni zatacka

MggMuggins commented 7 years ago

That was me. It would be really useful in a lot of situations for small adjustments.

Cronosus commented 7 years ago

my idea today :) https://www.dropbox.com/sh/lkeblv0dhyrlraq/AAB0j6_Jy9OOsDOHx8X94pTHa?dl=0 2016-09-14_18 38 49

melindaendv commented 7 years ago

Some of these were already mentioned but:

Lanthan64 commented 7 years ago

I have a few suggestions which may be simple enough to be implementable.

  1. "90 degrees very large switch" Whereas the "90 degrees large switch" is a combination of a large turn and a straight track, this would be a combination of a very large turn and a straight track. I often miss a switch like this when designing the divergion of main lines. The "90 degrees large switch" may be useable nicely in speed restricted railyards, but, despite their name, they look quite small when being built into a railroad line where trains are supposed to go at high speeds.
  2. "Extremely large turn" A 12x12 size turn. This would be very nice for dual track lines which have to go through curves. The 9x9 turn would be used for the inner line, the 12x12 turn for the outer one. That way, as opposed to using 9x9 on both lines, the distance between the two lines would be constant along the curve. (Provided the player chooses to build the tracks three blocks apart (center-to-center) as encouraged by the parallel switch)
  3. 90 degree switches with shorter straight track This would allow railyards to take up less space. Simple example: Imagine you want to have one line diverge into multiple lines. This problem could elegantly and space-efficiently be solved by an array of 90 degrees switches, with each switch set to the straight end of the previous one. Unfornunately, the diverging tracks are currently quite far apart. (4 blocks using medium switch, 6 blocks using large switch, as opposed to 3 blocks using parallel switch) Now, if the straight parts of the switches where to be shorter the outgoing tracks could be closer together.