All users will need to merge their Minecraft Forum account with a new or existing Twitch account starting October 23rd. You can merge your accounts by clicking here. Have questions? Learn more here.
Dismiss
  • 0

    posted a message on Write a program to run on my minecraft computer!(save is up)
    Quote from the1laz »
    Quote from counting »
    Quote from the1laz »
    ... It seems to be a problem with DNS, but I haven't changed anything recently and I'm having trouble tracking down the exact problem. :S

    Checking your DNS registration sponsors. (It's currently sponsored by GoDaddy.com?) Mostly it's their problems, or something to do with the money, but I found the domain name Created 15-Dec-2010, only expired till 15-Dec-2011. And the default DNS lserver NS01.DOMAINCONTROL.COM, NS02.DOMAINCONTROL.COM, reply query refused, it seems like these 2 lookup servers are broken (settings wrong), so if you paid an annual fee, you should definitely calling their customer service. (Although, $1.99 a year, I doubt it will be easy)

    Thanks, but it seems to be working now. I had emailed their customer support and received some generic responses that didn't help. It's annoying, but I suppose that's what I get for a $2 domain. :tongue.gif:


    The blog DNS is still down from here. But certain setting in domain name may require as many as 24 hours before it can take effect. So fingers cross. Or if you know how to change your DNS settings, adding secondary DNS server ns01.domaincontrol.com(216.69.185.1), or ns02.domaincontrol.com(208.109.255.1)
    Posted in: Survival Mode
  • 0

    posted a message on Write a program to run on my minecraft computer!(save is up)
    Quote from the1laz »
    ... It seems to be a problem with DNS, but I haven't changed anything recently and I'm having trouble tracking down the exact problem. :S

    Checking your DNS registration sponsors. (It's currently sponsored by GoDaddy.com?) Mostly it's their problems, or something to do with the money, but I found the domain name Created 15-Dec-2010, only expired till 15-Dec-2011. And the default DNS lserver NS01.DOMAINCONTROL.COM, NS02.DOMAINCONTROL.COM, reply query refused, it seems like these 2 lookup servers are broken (settings wrong), so if you paid an annual fee, you should definitely calling their customer service. (Although, $1.99 a year, I doubt it will be easy)
    Posted in: Survival Mode
  • 0

    posted a message on Write a program to run on my minecraft computer!(save is up)
    Quote from the1laz »
    Thread's been moved to Beta. :smile.gif:



    Finally!!! And what's going on with the blog?? DNS error?
    Posted in: Survival Mode
  • 0

    posted a message on The MetaMinecraft Project
    Quote from Laogeodritt »
    Someone made half-pong. It's fairly slow...

    I am working on a full pong game, and testing it right now, and It's not that slow. Currently the ball can move at the speed of every 4 ticks (4/16 of a seconds, roughly 0.25 secs) per pixel. And the responds time of a pressure plate control is 3 ticks. I am aiming for multiplayer and the only problem of design right now is the scores couting circuits. It's problem right now isn't too complex (actually quite), but the speed and response time. My old thread is here, and I'll open a new thread once I finished the first demo version.
    Posted in: Discussion
  • 0

    posted a message on The MetaMinecraft Project
    Quote from Conundrumer »
    Conway's Game of Life has already been made, twice.

    I provide an example :
    Posted in: Discussion
  • 0

    posted a message on The MetaMinecraft Project
    Quote from LEROOOY »
    ...It puts people back in touch with a topic that nobody even thinks about anymore: "F***in Computers, how do they work?"

    People who major in computer science and related, know exactly how computers work. We all need to take the basic courses of computer architecture and programming language. And for someone who's interesting about the computer system, here is a good online course which can teach you from the scratch (It's the structure of the 16-bit ALU/CPU builder - theinternetftw use)
    Posted in: Discussion
  • 0

    posted a message on The MetaMinecraft Project
    Quote from WrenAkula »
    ...Practical application aside, I'm pretty certain that duplication of a system within itself is theoretically impossible.

    Have you known the "Universal Turing Machine"? If it's Turing Completeness it can simulate any other Turing machine. It's exactly theoretically possible, BUT not practical. In fact the speed isn't the major problem at all, but space. The concept of IC(Integrated Circuit), means you need to make it small in order to work.

    In building a working CPU model in minecraft, if you tweak the redstone torch delay time and redstone travel distance, it's very possible to create a working CPU. (In fact we are already working on that, and the I/O). The problem right now is that it takes too much space for even a simple 1k RAM (estimate 512x8x64 blocks). And the more space it takes the more delay it has. (You can google "tyranny of numbers" to understand this problem).

    Even in a simple chip like Intel 4004, it contain 2,000+ transistors, and equivalent to roughly 500+ gates. That means if a gates can be compact to 4x4x4 blocks, it still needs at least 32,000 blocks, not counting the need for wires and space between them. That's the real challenge right there. But we can still build those mainframe-like computers in1950s/60s.

    And the fact is minecraft is already running inside a "virtual machine" (you should find the details of JVM easily). Hence solving the hardware problem of a minecraft redstone computer is only half the answer, you also have to deal with the other half - software problems(how to run the program, the OS, memory allocation, etc.)

    The current working CPU in minecraft has a speed of 3 instructions per minutes (before pipelining and optimized circuits). You can view our threads.
    Posted in: Discussion
  • 0

    posted a message on Working CPU with RAM, branching, etc... (save added)
    Quote from the1laz »
    Quote from b_boy_212 »

    ps. when it understands c++ you have yourself a programmer.


    Not any time soon unfortunately. :tongue.gif:


    Logic Shift first !!

    Due to my PONG project, I have a working shift register right now. Right and Left both with PISO (Parrallel In Shift Out). PIPO as well.
    Posted in: Redstone Discussion and Mechanisms
  • 0

    posted a message on Write a program to run on my minecraft computer!(save is up)
    Quote from toatanu »
    I'm not a computing expert, but I wonder if there is a way to store pragrams on a storage section/facility, then use levers to choose what program to use. There could be a pong program and an adding program and a timer and a countdown program and a program that defents your castle automatically with TNT cannons and pressure plates and lava and a program that.........

    You mean a filesystem? That's another level of storage, and often requires a OS. (That's part of the reason why OS is needed). But a giant lever ROM memory, can serve that purpose, the problem will be how to reference the memory without actual memory address. I guess the easist way of doing that is using memory PAGE. That is to divide the memory into severl pages, and each one has a certain among of memory size, each one share the same lower-memory address, but choosing different higher-memory address can give you access different PAGEs.

    But A practical way of doing that in minecraft slow CPU, is simply using hardware with a multiplex to choose which "Memory Tower" to recieve programs, but the problem will be the delay, since a goup of "Memory Towers" will occupy a great among of space.
    Posted in: Survival Mode
  • 0

    posted a message on Redstone PONG project
    Quote from Oddysee »
    You say Pong but the "game console screen" you show looks like Arkanoid?

    The reason why the pad is stated at the bottom is because at first, the screen is standing vertically. So it easier to design the pad-shift-register at the bottom horizontally than vertically in the air.

    And indeed I'm planning to "upgrade" the PONG game into Arkanoid next. But I need the the basic ball moving circuits to be stable and sound, then it's possible to add the "bricks" on the screen. It's a lot harder to "hit" the bricks, than simply bounce back from a fixed wall or pad. One step at a time.

    Due to the new changes to place the screen on the ground, and using a one-on-one control, I will have to optimized the D-flipflop structure in order to fit them tightly.

    In my testing design each D-flipflop is 10 blocks wide hence a 11-bits shift register is 110 blocks long. And that's way too much delay if synchronized. I've working on a 5 blocks/bit design now, and if everything goes well, the screen will be 55x45 blocks with 11x9 pixels. Hopefully if this new design is stable I will be able to increase the resolution even more.

    Also, the advance clock generator needs to be connected to every flip-flop, hence I think it will be better hidden beneath the center of the screen at the very bottom. And when the ball disappears, it will have to send an all-zero signal to stop the clock. Does anyone knows how to design a clock with "start" and "reset" signals, like a stopwatch? (I know you can cheat it by adding an AND gate to the clock output, but it will desync the clock.)
    Posted in: Alpha - Survival Single Player
  • 0

    posted a message on Redstone PONG project
    Quote from Hiro »
    Quote from icks »
    If you haven't already started building, wouldn'it just be easier to build on the grund then project the display vertically? Alternatively, the display could be on the ground and players are on opposite side of the floor-screen, kinda fps/Tron? style.

    Regardless, it's sounds like it will be great.

    The ground-level idea combined with my one-to-one movement one would be VERY tron-like. Like you're trying to reflect it with your own body.

    I think the flat-ground screen is a very good idea, and I won''t need to worried about how to build a vertical shift register.

    Also, since the screen in the one the ground, the 2 players can stand on opposite side cliffs of a large canyon, and look down at the screen in the bottom of the canyon. The screen will no long have up/down and left/right, but north/south/east/west. It will be much more like a real ping-pong game.

    The one-on-one pad design is also perfect, and it will simplified the circuits even more, and no longer requires a pad-shift-register. But the restart circuits after the ball disappars needs to be redesigned. The less complex the better.
    Posted in: Alpha - Survival Single Player
  • 0

    posted a message on Redstone PONG project
    After some thought about how to build mini-game in minecraft, I realize a specialized "video game console" can be built with redstone, and a first mini-game that everyone seems to want is the classic PONG game. Hence I propose a "READSTONE PONG PROJECT" that I have been working on for a while, and hopefully with some effort we can produce a redstone PONG mini-game that actually playable.
    (Special Thanks to The1Laz, and please giving a big applause to his awesome redstone CPU)

    In order to build the PONG game I decided to build it using as few components as possible. In summary, it only require these following components built by redstone circuits:
    1. Pressure pad for user input, and lever for setting.
    2. Basic logic gate : NOT gate, AND(NAND) gate, and OR gate.
    3. 2-1 simple multiplex
    4. D-flipflop for constructing shift registers
    5. JK-flipflop for countdown counter.
    All of which can be found in the minecraft wiki.

    Quote from old version »
    As for the game console screen it would be like this :
    :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] :Diamond: [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone:
    :cobblestone: [] [] [] [] [] [] :Blue: :Blue: :Blue: [] [] :cobblestone:


    New version of the game console screen will be lying at the bottom of a canyon, and the players :Notch: standing on opposite side of the cliffs :cobblestone: looking down. Controlling the pad with pressure plate :_: to hit the moving ball :Diamond: .

    :_: :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone: :_:
    :_: :cobblestone: :Blue: [] [] [] [] [] [] [] [] [] [] :cobblestone: :_:
    :Notch: :cobblestone: :Blue: [] [] [] [] [] [] [] [] [] [] :cobblestone: :_:
    :_: :cobblestone: :Blue: [] [] [] [] [] [] [] [] [] [] :cobblestone: :_:
    :_: :cobblestone: [] [] [] [] [] :Diamond: [] [] [] [] [] :cobblestone: :_:
    :_: :cobblestone: [] [] [] [] [] [] [] [] [] [] :Blue: :cobblestone: :_:
    :_: :cobblestone: [] [] [] [] [] [] [] [] [] [] :Blue: :cobblestone: :Notch:
    :_: :cobblestone: [] [] [] [] [] [] [] [] [] [] :Blue: :cobblestone: :_:
    :_: :cobblestone: [] [] [] [] [] [] [] [] [] [] [] :cobblestone: :_:


    And here is the detailed circuits plan behind the screen:
    1. The ball only travel to its diagonal neighbors, hence it's X and Y position is always shifted by 1. So by using a shift register built with D-flipflop to shift the ball at x and y directions. Each D-flipflop receives data from the previous one. Hence in each clock cycle, it shifts from ...[0][1][0][0]... to ...[0][0][1][0]..., The X and Y shift registers are placed horizontally and vertically with each like :

    [] :bookshelf: :bookshelf: :bookshelf: ...
    :bookshelf: :Red: :Red: :Red: ...
    :bookshelf: :Red: :Red: :Red: ...
    :bookshelf: :Red: :Red: :Red: ...
    ...
    each :bookshelf: is a D-flipflop and they shift 1 bit to the next. In the middle of the screen :Red: , each pixel receive signals from (X_shift_register, AND Y_shift_register) bit. Hence only the pixel with X=1, Y=1 will be activated.
       [0][0][1][0]
    [0] 0  0  0  0 
    [1] 0  0  1  0 
    [0] 0  0  0  0


    2. The wall bouncing the ball back is done by looping back the shifter register, and forming a circle. like :
    [] :bookshelf: :bookshelf: :bookshelf: []
    :bookshelf: [] [] [] :bookshelf:
    [] :bookshelf: :bookshelf: :bookshelf: []
    By modifying the input from (X_shift AND Y_shift) into
    -> (X_forward OR X_backward) AND (Y_forward OR Y_backward)
    except the foremost and back-end D-flipflop. The pattern of the shift register will bounce back and forth like a beacon. The modified circle shift register "length" = (number_of_D_flipflop / 2)

    3. The pad itself will also consist of a circle shift register, but it's length = (screen_width - pad_width + 1). And they only bounce back and forth between front center of the pad, and rear center of the pad. like :
    [] [] [] [] [] [] [] [] [] [] []
    :Blue: :Violet: :Blue: [] [] [] [] [] :Blue: :Violet: :Blue:

    The pad only shift between the :Violet: pixels, which means if the screen width is 11, the pad width is 3, then the shift register length is 9 (11-3+1). And the signal from the pad-shift-register will be copied into 3 (the width of the pad) pixels on screen.

    3-1. The new version of the one-on-one pad - pressure plate design, no longer needs a shift register, the signal will be directly linked to the screen-pad pixels on both side and copied into 3.

    4. The clock, which needs to be synchronized with each ball_shift_register, and by modifying its speed (adding short cut paths in the delay circuits, controlled by multiplex), it can be speed up, and serve the purpose of difficulty setting. Also, since the clock speed can be determine manually, this game console will be reasonable fast and actually playable.

    5. In order to check if the ball hit the pad, there will be a series logic gates behind the bottom (and the top, if it's 2 player game) of the screen. To check if the ball hit the pad, the "backward" signal will be preprocessed by (Ball_shift AND Pad_signal) before looping back, so if there is no pad signal from the copied pixels of the pad shift register, the ball "disappears". A reset signal will automatically be sent and reset the X-Y shift registers. The new position of the pad will be centered in the bottom of the screen, its logic will be explained below. The initial value of the X-Y shift direction will also be reset (later it can be hooked up with a random generator to be more challenging )

    6. To determine the score, the same logic from above can be modified into
    (Ball_shift AND NOT(Pad_signal))
    So if there is no pad and ball hit the air, it signals to a counter, which stored the number of "failures". And by using a countdown counter, we can modified the game rule into : "How long a player can hit the ball before the score is countdown to 0" or if there are 2 players "The one with higher remain score wins". This serves both limit the time of the game, and a reasonable 1 player game rule (2 players game either, there will be a real competition). The initial score can be manually set by the players though levers connected to the counter.

    6-1. When the ball disappears, every bit in both X and Y shift registers becomes zero. By using an NAND gate, we can determine if this happens. This signal will stop the clock, and reset both shift register with
    (All_zero_signal AND Pad_signal)
    The ball will reset to the center of the losing player's pad. And a rematch(start) buttom will send a signal to restart the game and the clock.

    Quote from old version »
    7. The player control pressure pad will be connect to the clock of the pad_shift_register, the most simple design is with only one key. Each time the key is pressed the pad on screen will move 1 pixel forward, and "bounce back" from the walls. But if the width of the screen is large, we will need a bi-directional shift register. Which is a little more complex than unidirectional one. Each D-flipflop in the pad shifter register receives the signal from the previous and the next D-flipflop, and selected by each multiplex. Thus if the key forward(right) is pressed the shift register move forward(right), vise versa. But this design needs a tweak to determine if it reaches the end-point, and locks itself.(by looping back the endpoint D-flipflop signal to itself)


    7. In new design, since the pad directly connect to the pixels, hence no pad-shift-register requires. And each pressure plate reflects the center of the pad on screen.

    Quote from old version »
    8. The display of screen can be transmit into opposite side of the control circuits, hence it is possible to map the 2 player version with bottom/top mirror outputs. Which means the pads on both screens are at the bottom, hence eliminated the unfairness(top/bottom). Also since each player is separated far enough in the opposite side of the console, it will be impossible to cheat. (peaking or interfering each other) Share signal secondary screens or indicators telling the scores will be placed near each player.


    8. In new version, since the players are on the opposite side of the canyon, it is the opposite side of the screen. They share the same screen view, and there are secondary indicators/screens to display the current score on both side. The benefit of preventing cheating and interfering is still the same.

    Quote from old progress »
    I am currently testing my screen and keyboard(pressure pad). Which may serve as a prove of concept that this mini-game is actually doable and playable. Also I realized that there is no need for a screen buffer for each pixel(most screen designs need it), since the pixel information is shared and stored in the X and Y shift registers. In the older design, I tried to give each pixel it's own memory and shifted in 4 directions, but it was too complex. The countdown counter and a horizontal bi-directional shift register were also tested and working well. The next work will be how to assemble a vertical shift register and the multi-speed clock.


    The newest progress : modifying the clock and optimized D-flipflop width to decrease the signal delay.
    Posted in: Alpha - Survival Single Player
  • 0

    posted a message on Working CPU with RAM, branching, etc... (save added)
    After some thought about how different the concept of a video game and a computer game, I realize a specialized "video game console" can be built without CPU support at all. And as far as PONG game, it doesn't even need a ALU at all.

    The basic concept is flowed.
    1. The ball only travel to it diag-neighbors, it is it's x and y position is always shifted by 1. So by using a shift register build with D-flipflop to shift the ball at x, y directions. Each D-flipflop receive data from the previous one. Hence each cycle, it will shift from ...[0][1][0][0]... to ...[0][0][1][0]... to
    [] :bookshelf: :bookshelf: :bookshelf: ...
    :bookshelf: :Red: :Red: :Red: ...
    :bookshelf: :Red: :Red: :Red: ...
    :bookshelf: :Red: :Red: :Red: ...
    ...
    each :bookshelf: is a D-flipflop and they shift 1 bit to the next. In the middle of the screen, each pixel receive signals from (X_shift_register, AND Y_shift_register) bit. Hence only the pixel with X=1, Y=1 will be activated.
       [0][0][1][0]
    [0] 0  0  0  0 
    [1] 0  0  1  0 
    [0] 0  0  0  0


    2. The wall is done by looping back the shifter register, and forming a circle.
    [] :bookshelf: :bookshelf: :bookshelf: []
    :bookshelf: [] [] [] :bookshelf:
    [] :bookshelf: :bookshelf: :bookshelf: []
    By modifying the input from (X_shift AND Y_shift) into
    -> (X_shift_forward OR X_shift_backward) AND (Y_shift_forward OR Y_shift_backward)
    except the foremost and back-end D-flipflop. The pattern will bounce back and forth like a beacon. its "length" = (number_of_D_flipflop / 2)

    3. The pad it self will also consist of a circle shift register, but it's length = (screen_width - pad_width + 1). And they only bounce back and forth between foremost center of the pad, and back-end center of the pad.
    [] [] [] [] [] [] [] [] [] [] []
    :Blue: :Violet: :Blue: [] [] [] [] [] :Blue: :Violet: :Blue:
    The pad only shift between :Violet: , which means if the screen width is 11, the width of the pad is 3, then the shift register length is 9 (11-3+1). And the signal from the pad-shift-register will be copied into 3 (the width of the pad) pixels on screen.

    4. In order to check if the ball hit the pad, there will be a series logic gates behind the bottom (and the top, if it's 2 player game) of the screen. To check if the ball hit the pad, the "backward" signal will be preprocessed by (Ball_shift AND PAD_shift_copied) before looping back, so if there is no pad signal from the pad, the ball "disappear".

    5. To determine the score, the same logic from pad can be modified into
    (Ball_shift AND NOT(PAD_shift_copied))
    So if there is no pad and ball hit the air, it will be a signal to alarm a counter, which stored the number of "failures". And by using a countdown counter, we can modified the game rule into : "How long a player can hit the ball before the score is countdown to 0" or if there are 2 players "The one with higher remain score wins". This serves both limit the time of the game, and a reasonable 1 player game rule (2 players game either, there will be a real competition).

    6. The clock, which needs to be synchronized with each ball_shift_register, and by modifying the clock speed (adding short cut paths in the delay circuits, controlled by multiplex), it can be speed up, and serve the purpose of difficulty setting. Also, since the clock speed can be determine manually, this game console will be reasonable fast and actually playable.

    7. The player control pressure pad will be connect to the clock of the pad_shift_register, the most simple design is only one key. And each time the key is pressed the pad will move 1 pixel forward, andl "bounce" between walls. But if the width of the screen is larger, we will need a bi-directional shift register. Which is a little complex than unidirectional one. Each D-flipflop in it receive signal from previous and later D-flipflop, and been selected by each multiplex. Thus if the key forward is pressed the shift register move forward, vise versa. But this design needs a tweak to determine if it reaches the end-point, and locks itself.(by looping back the last D-flipflop signal to itself)

    8. The display of screen can be transmit into opposite side of the control circuits, hence it is possible to map the 2 player version with bottom/top mirror outputs. Which means both the pad on 2 screens are on the bottom, hence eliminated the unfairness. Also since each player is on the opposite side of the console, it will be impossible to cheat. (peaking or interfering each other) A shared secondary screen or indicators that tells the score will be placed near each player.

    That is the mega-build I mentioned before, about testing my screen and keyboard. And realized that this is actually doable, also that I realized there is no need for a screen pixel buffer for each pixel, since they are shared and stored in the X-Y shift register. (The original design is to give each pixel it's own memory and shifted in 4 directions, but it became way too complex)

    I am making a new thread to discuss the design of the console version PONG game for anyone with new idea or wants to help with the design.
    Posted in: Redstone Discussion and Mechanisms
  • 0

    posted a message on Write a program to run on my minecraft computer!(save is up)
    Quote from tyler212 »
    Well the code for playing those games I already coded in school to go against the computer in java. the formula is (int)((highNumber-1+1)*Math.random() +1); to have the computer choose a random number ...

    The problem is always about how to "generate" the random numbers. It's one thing to invoke a function, and another to implement it. In a sense, the truly random generator doesn't exist yet. There is some ideas of using quantum mechanic to generate true random, but mostly theoretical.

    The random generator we used now, is more like a sequence generator. If given a different starting numbers (the seed), than it will generate a series of numbers that "appears to be random". if the seed is the same, the sequence will be the same. Using a clever trick, that is setting the seed to be (Current_seconds_from_1970 % rand_base), and by recording a table of previous generated numbers, you will get a sequence that appears to be different every time it's started.

    The way of generate such sequences is purely mathematics (Mostly statistics), and often requires a lot of division (mode) and multiplication. And that's not practical in current CPU design (takes too long to calculate). But there are other ways to . It essentially borrows the random generator from your computer to generate sequence for you. But it needs a lot of modifying before it can be integrated into current CPU design.

    On the other hand, the problem of I/O is more of a design arrangement problem - How can 2 players interact without interfering each other. They need 2 sets of screen and keyboard? shared 1 screen and 1 keyboard? even the speed of detecting keyboard input needs to be considered. (The speed is measured in seconds instead of milliseconds.)

    And although Java program can be small, but it requires VM, that is running a common library which borrows many programming codes that already written in the past 40 years by many. And we have barely started our minecraft programming from the scratch!

    Quote from tyler212 »
    edit To add to your computer triva the first computer bug was a dead moth hence the term a bug being bad
    Although bacons are good, we consider pigs in minecraft are bad :Pig:. They are quite annoying (sheep and cow too). They can truly disrupt the building process, trigger pressure pads, occupying minecarts, causing real problems. Hence mostly I like to build on rocks(with rocks) and surround the building ground with high stone walls.
    Posted in: Survival Mode
  • 0

    posted a message on Write a program to run on my minecraft computer!(save is up)
    Quote from tyler212 »
    This would be awesome when it excepts java since i could donate my code to play rock, paper scissors or guessing game, or other things. and of course play minecraft in minecraft

    You will have to come up with a good random generator if you wanna to make the game Players vs Computers. Otherwise you will need to come up with a better keyboard design (I/O) for Players vs Players. (2 distinguished and separated Input, but a common output)
    Posted in: Survival Mode
  • To post a comment, please or register a new account.