Advertisement
Techokami

Video Arcade Mod for Minecraft - Design Document

Feb 11th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.70 KB | None | 0 0
  1. Video Arcade Mod for Minecraft - Design Document
  2.  
  3. -What it is
  4. Video Arcade Mod aims to add interactive decorative elements to Minecraft in the form of special blocks that allow players to play emulated classic video games within a separate GUI interface. The available games can be expanded by the player in single player, and by server operators and potentially other players in multiplayer.
  5.  
  6. -How it works for the players
  7. To start, you will need to craft an arcade cabinet. This is done with some micro-crafting steps, as seen in other tech mods. No new materials are added to the game, all recipes are based with vanilla materials only.
  8.  
  9. Video Monitor:
  10. IRI
  11. GSP
  12. IBI
  13.  
  14. I = Iron Ingot
  15. R = Rose Red
  16. G = Cactus Green
  17. S = Redstone Dust
  18. P = Glass Pane
  19. B = Lapis Lazuli
  20.  
  21. Control Panel:
  22. LBB
  23. SSS
  24.  
  25. L = Lever
  26. B = Stone Button
  27. S = Wooden Slab (any)
  28.  
  29. Coin Mech:
  30. IDI
  31. IRI
  32. ICI
  33.  
  34. I = Iron Bars
  35. D = Dropper
  36. R = Redstone
  37. C = Chest
  38.  
  39. Arcade Cabinet:
  40. WVW
  41. WPW
  42. WCW
  43.  
  44. W = Wooden Planks (any)
  45. V = Video Monitor
  46. P = Control Panel
  47. C = Coin Mech
  48.  
  49. The Arcade Cabinet is a 1x2x1 block object (like a door). When placed, the interactive face (the side with the monitor and controls) will be facing the player. Also, it won't do anything yet. Sneak + Use on the bottom half brings up a container GUI that holds one item, a Game PCB. To get a Game PCB, the player will have to find an Unknown Game PCB from a dungeon loot chest, or trade for a random Game PCB from a Librarian Villager, or get a specific Game PCB from the Creative Inventory. Unknown Game PCB items are generated in place of specific games, to prevent "flooding" loot chests with the item. To identify one as a Game PCB, one possible method would be to have a Game Collector's Book, which would also contain information about games installed with the mod, either packed into the mod itself or through Resource Packs, as well as instructions on using the mod. Potentially, the manual could be set up as a reskin of the Enchanting Table, with the following recipe:
  50. B
  51. RWR
  52. WWW
  53.  
  54. B = Book
  55. R = Redstone Dust
  56. W = Wooden Planks (any)
  57.  
  58. With an identified Game PCB placed in the container slot of the Arcade Cabinet, the cabinet will get a reskin (one of 16 Minecraft colors) as defined by the game's entry data in the mod/the resource pack. At this point, the player can Use the top half of the block to play a game. Control mappings can be changed from the Controls menu from the Minecraft options screen, and should not need to interfere with the controls added by other mods. Players can exit out of this mode with the Escape key, if the Arcade Cabinet block is destroyed, or if the player is moved too far from the game. When the block is destroyed, it drops itself and whatever Game PCB item it contained.
  59.  
  60. -The Emulator
  61. The games provided by the mod will be emulated classic video games, from a single platform. Currently, the two best candidates are the Atari 2600 and the Nintendo Entertainment System. These were picked because the platforms are not costly to emulate, have a very large range of titles to choose from, are iconic, and have active homebrew game development communities. It is currently undecided if the emulation will be completely contained to the client side, or if it will be split between client and server. Splitting would allow for other players in a multiplayer game to watch someone else play a game, and even allow for 2-player games. However, restricting everything to the client side would reduce network strain significantly.
  62.  
  63. The emulator should be fast and compatible. Accuracy can be sacrificed.
  64.  
  65. The mod will come with a selection of non-commercial homebrew games. If players and server owners want to include other games, they can provide their own legally-acquired ROM dumps in a Resource Pack. In a Multiplayer environment, the games are stored on the server and sent to the client.
  66.  
  67. -Mod Interoperability
  68. The mod should work together with other mods to improve the experience, but need not be required to enjoy the mod in the first place. The primary candidate for interoperability is OpenComputers. With it present, some items can be swapped out for equivalents provided (such as Tier 2 Screens in place of the Video Monitor). Also, it should be able to provide players with a means to create new Game PCBs in-game utilizing the existing materials and frameworks in OpenComputers. Computers with an Internet Card can download ROM data from an external server, then written to one or more EEPROMs. (Each EEPROM holds 4096 bytes as binary data by default.) A PCB item from OpenComputers can then be placed in an assembler. A microchip (or CPU?) is added to the board, which determines how many active EEPROM slots will be provided based on its tier: Tier 1 only has one slot, Tier 2 has two slots, and Tier 3 has 4 slots. The existing EEPROM item would be sufficient for Atari 2600 games (as that was limited to 4KB without bank switching), but a larger EEPROM item would be needed for NES games (those go up to 32KB without using mappers, and far FAR larger with mappers!), ideally something around 32KB in size. Once everything is placed, the Assembler can then assemble everything into a Custom Game PCB, which references the EEPROM files for use in the emulator. The EEPROM files will be joined in the order they are laid out in the Assembler UI. It can be placed in a Disassembler to get back the EEPROMs.
  69.  
  70. Additionally, there should be an option for a power consumption requirement. When enabled, the cabinet consumes standard Redstone Flux (RF) when powered on via a redstone signal. If it does not have a redstone signal, or has no power being fed into the cabinet, then the unit cannot be played. If the unit is powered off or loses power while in use, it will close the GUI on the player.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement