This project has ended
As a result of my free time getting shorter, I've neglected work on TCCAIC. As a result this project has been silent for a very, very long time.So- TCCAIC is now free to use under MIT license, in hopes someone may find it useful, or maybe even dare continue the work.
Cheers, [member='exosceleton']. ^_^/>
Well search NO MORE !
Ladies and Gentlemen! Programmers of all levels!
I present to you….
TCCAIC
The Computer Craft Artifcial Intellegence Challenge now self updating!
Latest version: Beta 3.0
Screenshots
^ Diagram of 3 Bots [A,B,C] running in a Map [Map_1] (Click to Enlarge)
More...
^ Player pre-run Compiling (Player C crashed and received a corresponding error message)
^ Map parsing (Adding pirates & treasures (Note- Player A & B's pirates are started at locations occupied by treasures))
^Left Turn #1 Text Display (Note- Player A has not moved yet, and thus picked up the treasure)
^Right Turn #1 Visualized (gold block = treasure, turtle = pirate, sea lantern = arena border)
^Left Turn #2 Text Display
^Right Turn #2 Visualized (Note- All Pirates will move together, and at the end of the turn (after path & collision calculations, but before treasure pickup/dropoff check)
Create and Join Match Lobbies
^ Match demo (creating/joining; match ownership; match info gets printed on all connected PC's)
More...
^ Chat commands and Banning
Multishells within the Multishell (a.k.a the new Server GUI)
Remote Programming
^ Showcase of the Portable Programming Device.
Uses modified versions of:
the Login System and OS by @[member=etk2000]
the In-game Programmer a.k.a LuaIDE by @[member=gravityscore]
the File Explorer a.k.a FileX by @[member=creator]
More...
^ Simple Upload system (and its animated! B)/>)
Resource Pack Changes
^ Custom Title Screen
More...
^Custom Banner design
The Concept
Board Games.
Have you ever played a game of Chess, Stratego, or even TicTacToe, and you really took the time to plan out your moves? Did you ever wonder what is the Ultimate strategy? What is the play that will make you inevitably win?
Well I have.
And so- I've created a Game. With players, rules, and objectives. But in this game, you do not play! In this game, you - as a programmer - must develop a strategy, plan your actions, and program your player!
Create smarter and smarter Bots! Build custom Maps! Make your own Strategy!
Gameplay
* Use your Pirate Ships to pick up and bring back Treasures to gain Points.
The Player with most Points wins!
Pirate Interactions:
* Pirates can attack other Pirates! Hit Pirates become Drunk, and will be inactive for 5 turns.
* Pirates can block themselves from being attacked.
* If two or more Pirates collide- they will Drown, and will be inactive for the rest of the Game.
Catches:
* You only have a total amount of 6 Moves per turn,for all Pirates.
* Attacking has a 4 turn cool-down
* Defending has a 4 turn cool-down
Instructions
Download & Setup
Wait, why not Pastebin?
But don't worry! TCCAIC's source code is self-updating, so you will only need to re-download the files if changes are made either to the physical World and environment, or to the Resource Pack.
Bug Fixes? Feature additions? All automatic!!
Download the Full File Pack (.zip)
- OR -
Download specific files:
> World Save (.zip)
> Resource Pack (.zip)
> API and Function List (.lua)
2. Extract the TCCAIC World File and the TCCAIC Resource Pack.
3. Open your .minecraft folder and place the world file in "\saves", and the RP in "\resourcepacks".
4. Run Minecraft v1.8.9 with ComputerCraft v1.79.
How to Run a Match
1. Use the upload option in the file explorer and upload your Bots.2. Upload at least one Map.
3. Open the start menu, at click the play button.
4. Once everyone is connected, have the match owner select a Map using the /map set and /map list commands. (Not sure who the owner is? use the /owner command to find out!)
5. Ready, set, go! Have the match owner type /run or /start to begin!
TCCAIC comes with 3 in-built Example Bots (A,B,C) and one Example Map (Map_1).
You can use those to test certain aspects of the program, or test your own Bot(s).
Creating Your Own Bots
* Bots are basically normal lua files that get executed by the "run" program when your turn comes.* Like ComputerCraft, TCCAIC has built-in Functions & APIs that you can use within your code to get all sorts of data about the match. Here is the full list: make sure to use of it! API and Function List (.lua)
* Still confused? Have a snoop in TCCAIC's example Bots to get a basic feeling for how its done!
* Some of ComputerCrafts usual APIs are blocked, so look out for that!
* Make sure you place your bot in "AppData/bots/"!
Creating Your Own Maps
* Maps are a simple text file, with a simple format (see* Make sure you place your Map in "AppData/maps"!
Version Documentary
Beta 2.0+ Added Auto Update feature!
Beta 2.1-3
* BUG-FIXES
+ Added visual indications for Pirates attacking, defending and ones with Treasure
Beta 1.0
+ Majorly updated the Command Block infrastructure!
+ Finally added an actual Programming Room for players to sit in and work!
+ Added a nice big monitor for you to see all sorts of stuff happening!
Beta 1.1
* Minor fixes to the match viewing platform
* Updated the Instructions sub
Beta 1.2
+ Added function getLoc to the treasure and the pirate data structures
* Universalized some data structures in core
* Fixed the handling of "monitor_touch" events
Alpha
+ Players can now chat in the match lobby.
+ Added new chat command: "/me"
Alpha 4.1
+ Players can now run matches from the match lobby
+ Added
+ Added new function debug for bots to use. Essentially, it writes whatever you give it to your PC, in real time. How cool is that!? Check out the updated API and Function List!
Alpha 3.0
+ Added Multishells in the Multishell (a.k.a the new Server GUI).+ Players can now start and join match Lobbies using the Portable Programming device. A huge step towards remote matches!
+ The Server now has the ability to write text to all players in the Lobby.
+ Players get notified of certain things when in the Lobby (player joining/disconnecting, getting owner rights).
* Many bug-fixes and code optimization in both the Client and the Server.
Alpha 3.1
+ When in the Lobby, the Client can execute some basic chat commands (italic means owner only) (exit, start, map list/set, player list/ban).
Alpha 3.2
* Changed the Networking code a lot (for the better, I hope).
Alpha 3.3
+ "doTurn" now returns an exit code. Used to determain if to do nothing, break the "turn" loop or exit "main" altogether.
+ Maps uploaded to the Server now require a name
+ PCs will now try to re-link ID's until the Server responds.
* Fixed a bug with the chat commands.
* Fixed a bug with "run" not working. This was caused due to it not being up to date with the new "file" data structure and the new "utils" file
* Changed the error, textbox, file and folder's window size (in "explorer") to fit the Pocket Computers terminal size.
Alpha 2.0
+ Custom Server UI.+ Portable Programming with custom OS (A modified version of AlbynOS by @[member='etk2000']).
+ Easy Programming and Uploading using modified vesrions of FileX by @[member='creator'] and LuaIDE by @[member='gravityscore'].
+ Create files (Bot/Map) using Pocket Computers and send them to the Server through Rednet.
+ New "utils" file.
Alpha 2.1
* Fixed a bug with files uploading to the wrong folder.
* Fixed some incorrect debug text in serverLog.
Alpha 1.0
* Public Release! *TCCAIC Telegram Channel
Known Bugs
! Player win by defualt does not exit "doTurn" loop Status: Fixed (A3.3 and up)
! "run" crash due to file-system changes Status: Fixed (A3.3 and up)
! Banning crashes the Server Status: Fixed (A3.2 and up)
Upcoming Features
Check out the official TCCAIC Discord to Report Bugs or Suggest Features!
Credits
Well… not to brag or anything, but aside from the programs listed below(for the Portable Programming Devices) I made this whole thing pretty much all by myself, so…. Yeah.The Portable Programming Devices use modfied versions of the following programs:
AlbynOS by @[member='etk2000']
FileX by @[member='creator']
LueIDE by @[member='gravityscore']
Disclaimer: May contain Bugs. And slight traces of Almonds.