Jump to content




[Event] Castle War?


69 replies to this topic

#1 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 September 2012 - 05:45 AM

Turtanking

A team game for ComputerCraft



What is it?

Turtanking is a game I invented a few months back that pits one team of programmers against another in a test of wits and skill. In it, teams each fill an identical fortress facing one another and use a limited supply of TNT and turtles to do as much damage to the enemy as possible! Doing structural damage, taking out your opponent's supplies and even killing your enemies in cold blood- all is fair game in Turtanking.

How do I set up a game?

First you'll need to build some sort of structure- traditionally we've used castles, but boats, houses, underground bunkers or anything else you care to imagine is possible. Try to make the structure quite big (proportional to the number of players you're playing with, and the amount of TNT available), and you'll need to include in your design one or more storage areas for team supplies of TNT, turtes and disks. Computers with modems and disk drives should also be set up somewhere in the structure for optional use.

Once you've done this, you should make an identical structure a short distance away- I recommend about 40-60 blocks distance. Try to keep the structures perfectly aligned if you can, and if you have copy-paste functions I'd recommend using them- they will need to be identical. Besides the distance away, it should be perfectly aligned and at the same altitude as well, so neither team has an advantage.

It's also a good idea to have something separating each base so players can't walk from one side to the other- having a stream of water (or lava if you're feeling vindictive) is a good idea.

Once you've got your arena set up, you should organize your players into teams of two. You can play with as many people as you like, but I recommend
- Having at least 2 players per team. This is very much a team game, and team organization is really important.
- Having about 20-30 TNT and 3-5 turtles per team member, this reflected in your available reserves
- Having balanced teams; even though this is a test of programming prowess, in my experience numbers do make a difference, and the unbalanced side is unfairly handicapped.

What is the goal?

Both teams are tasked with doing as much damage as possible, but you can set your own goals. Ones I recommend include:
- Doing as much damage to the enemy structure as possible (this can judged by appearance, or calling turtle.excavate and adding up the block tally)
- Killing enemy players
- Damaging one or more specific areas or targets within the enemy base, such as a chest or a nuclear reactor
- Amassing the most turtles once all TNT has been exhausted

One or more of these rules can be used in determining the overall winners of the bout, but it's almost always a subjective measure.

What are the rules?

These you can decide as you go along but here are the ones we play with:
- You may not cross the other side of the "dividing line" of your team at any time
- You may not block or steal turtles using your body or by placing blocks by hand. Writing a quick "turtle block" coroutine is legal but unsporting.
- TNT can only be set off by turtles, not by placing or firing it manually
- Building should only be done to make repairs to your own structure, when they become physically too damaged to be functional
- Mining turtles should only dig to steal enemy supplies or to enable the placing of TNT- calling excavate for example is not really in the spirit of the game
- Turtles can only be mined and removed if they have either terminated their program, stopped due to a bug in the program or are in an obvious infinite loop and are stationary. Destroying turtles that are running a routine is not allowed.


What are some tactics we can use?

I've played this a few times now and seen some very clever tactics. Here are a few to get you started:

Honourable tactics:
- Attacking from the sky, "cannonning" TNT by dropping lots in one place, or "carpet bombing" (a favourite)
- Doing keyhole damage in enemy structures by digging out a block and replacing it with armed TNT- especially useful in damaging rooms
- Using rednet to launch congruent turtle attacks- in addition to being quite effective, this unnerves opponents
- Attacking from underground, tunnelling beneath opponent bases and placing TNT underneath them

Dishonourable (but perfectly legal) tactics
- Destroying an opponents computer, disk drive or turtle they're working on by finding them and launching a pre-written script to bomb them, or steal their computer to add insult to injury
- Stealing supplies by sending a turtle to suck from the chest, or killing players and sucking their inventory
- Scavenging for supplies from stopped turtles around your base, or sending turtles to scavenge on the enemy's base
- Building fortifications from damaged materials (or even by restructuring your own base) with a turtle routine to make it better able to withstand attacks

Anything else I need to know?

It's quite fast and loose with the rules but playing fairly is important. The temptation to just start crafting tools (especially in tekkit) or blocking turtles as they arrive and stealing their materials can be high for less skilled programmers, especially if they've had one or two irritations such as being killed or losing their disk (this is in this game tantamount to ripping out the player's heart late in the game). Playing with unfair tactics, those that exploit minecraft's freedom to supercede programming skill are not in the spirit of the game and really ruin it for participants, so play sportingly.
However in a fair match, greifing with programming is not only acceptable, it's often necessary so play dirty! If your turtles can impede your enemy in any way, be it destroying an important staircase or nicking some vital supplies (or even just suiciding so neither player can have them), you should do it. A cart of your enemy's grain is worth ten of your own.

I'm in! How do I sign up?

Well, I've tried holding an event on ClankCraft, and will probably continue to do so, but a lack of participants (this is my curse) meant we can't really host it regularly as I'd hoped. However you're still very free to give it a try yourself with some friends, to test or perhaps reinforce your programming skills, and if you're short a player I'm always up for a game :)/>. We may host one in the future, depending on, well a lot of stuff. Email me if you're interested.

Happy Turtanking!

- Nitrogen Fingers

#2 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 14 September 2012 - 06:56 AM

What would be the available resources? TNT is moderately expensive to make

and if it is a tekkit server :)/> NUKE ALL THE BASES!!!

#3 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 September 2012 - 07:40 AM

Oh there's a drip feed of TNT to each team from the referees- no crafting or anything, we've tried that before and it leads to some very unsporting behaviour. I'm still refining the rules, though I'll post a detailed description on the game here if we rack enough people to fill out 2 teams.

#4 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 14 September 2012 - 08:04 AM

Surely there is no such thing as 'unsporting behaviour' when you are trying to blow each other up :)/> all is fair in love and war right? if there is a way to win I say we should grab it. What did they do?

#5 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 14 September 2012 - 08:53 AM

Well the point of the whole thing is programming but poorer programmers or those who lost patience after losing one or two turtles to bombs would give up and find more creative approaches to winning. Digging out the ground and building dirt walls to block enemy turtles, then stealing them, placing the TNT next to the castle in person and using a hand-crafted lever to blast them for example. It just sort of defeated the point of the exercise, which was to pit programmer against programmer, not to griefers against griefers.

#6 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 14 September 2012 - 09:24 AM

Fair enough, that does defeat the point I suppose, I have some more questions:

(1) can we bring pre-built programs in? if not it will be a very hard thing to prevent. I would recommend giving each player a floppy with their pre-built programs already loaded on it

(2) how many turtles do we get and can we get more to replace lost turtles?

(3) is 'turtle stealing' allowed (only if stolen/mined by another turtle of course) or can we reprogram their turtles. there is a way to make a turtle permanently unusable - It is an interesting concept because then a rigged dummy turtle could be made in the hopes that it would be stolen

(4) can the structure be reconstructed or additional structures be constructed?

(5) are there no other methods we can use (in conjunction with programming) like a dispenser with gunpowder and cannon balls from the weapon mod

(6) if you are using tekkit is it on the latest version of CC with CCsensors?

EDIT: another interesting idea is to include a BIOS edit that uses coroutines to make a turtle always respond to a rednet message with 'ping' or another response that is team specific so turtles can 'see' each other and even differentiate between friend and foe

#7 Lettuce

  • Members
  • 210 posts
  • LocationIn your fridge.

Posted 14 September 2012 - 05:50 PM

That sounds like a lot of fun. How do I sign up? What are the rules of engagement, kill them all, or cause irreparable harm to the castle? Is it just ComputerCraft, or can other Tekkit items be used? And like KaoS, I'm very interested to know, are our own, pre-built, programs allowed?

If I do join, my username is terrible, so please don't judge me. It was a bad day, and I thought I could change it later. I don't know what I was thinking. It's nothing profane, just stupid. Not Lettuce. Lettuce is awesome. I like my forums name.

--Lettuce

#8 D3matt

  • Members
  • 830 posts

Posted 14 September 2012 - 05:59 PM

I think pre-built programs would kind of defeat the point of a live programming exercise, but I don't really see any way to prevent it other than the honor system. (Then again, if somebody has an army of turtles executing coordinated attacks by remote control 2 minutes after starting that would be a pretty good indicator...)

#9 Lettuce

  • Members
  • 210 posts
  • LocationIn your fridge.

Posted 14 September 2012 - 06:18 PM

But if we didn't, it would go on forever, especially with my dial-in programs that take user variables. I have to bug-test for at least an hour, even two, before it works, and I get the precision I need.

#10 Bubba

    Use Code Tags!

  • Moderators
  • 1,142 posts
  • LocationRHIT

Posted 14 September 2012 - 07:10 PM

This sounds like a ton of fun. If someone would like to form a team with me or let me join one that would be awesome :)/>

I'm assuming from what you said about remote controlled turtles that they will have modems. Is that correct?

#11 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 15 September 2012 - 02:43 AM

View PostKaoS, on 14 September 2012 - 09:24 AM, said:

(1) can we bring pre-built programs in? if not it will be a very hard thing to prevent. I would recommend giving each player a floppy with their pre-built programs already loaded on it

Probably not. Giving programmers pre-built programs somewhat decides the battle before the game has even begun. The arenas we produce have their own variations anyway so except for very large scale programs that cover a lot of information which we definitely wouldn't allow, as it's not really sporting to the other team. The kind of programming I like to see at these events is a very different kind to the pre-preparation most programmers are used to, it's on the fly, dynamic, very fast. I'd like to see that in the programmers, rather than just giving them their programs and seeing what happens. If you really wanted to bring external code in you could probably pastebin it or keep a text editor open, that I can't really stop, but I don't think it's really in the spirit of the event.


View PostLettuce, on 14 September 2012 - 06:18 PM, said:

But if we didn't, it would go on forever, especially with my dial-in programs that take user variables. I have to bug-test for at least an hour, even two, before it works, and I get the precision I need.

I would suggest these are not the kind of programs you want to be making for this. They have to be reliable, sturdy and fire-and-forget, because there's a real good chance you're not seeing that turtle again :)/> I don't really want to discourage this approach but the most successful programs I've seen are quite cleverly designed, and usually very short (never more than 50 lines)- because they have to work.


View PostKaoS, on 14 September 2012 - 09:24 AM, said:

(2) how many turtles do we get and can we get more to replace lost turtles?

This is almost always done by ear, but I suppose in a league match we'd have to think about it. Typically in the exercises we just provide equal numbers of turtles (and TNT which is a real limiting reagent) to each team when one team runs out and asks for more but we'd probably have a more structured system of set quantities being provided each day. Turtles are valuable, so providing them, and taking care in returning them is often worth the trouble (but not always, especially for novices)

View PostKaoS, on 14 September 2012 - 09:24 AM, said:

(3) is 'turtle stealing' allowed (only if stolen/mined by another turtle of course) or can we reprogram their turtles. there is a way to make a turtle permanently unusable - It is an interesting concept because then a rigged dummy turtle could be made in the hopes that it would be stolen

If only because it's too damn hard to prevent, I don't have eyes everywhere. The way I ruled on this last time was "if it's in motion and performing a task you can't steal it, otherwise if it's stalled/stopped/errored it's fair game" but people would erect walls to stop them moving and chase after them, it was very hard to enforce. I really don't like the idea of stealing someone's turtle mid-operation, again it strikes me as unsporting and adds some pretty big constraints to what kinds of programs teams can safely design. Open to suggestions on this.


View PostKaoS, on 14 September 2012 - 09:24 AM, said:

(4) can the structure be reconstructed or additional structures be constructed?

The last time we provided building materials to repair damage to their structures (in the event they become unservicable) they used them to start crafting items to give them an edge and built walls and towers to stop the turtles. They still lost by a big margin but it really ruined it for the other team and annoyed a lot of the novices who just couldn't see those things coming. So in short "no". It might be allowed if there's a very low tolerance of that sort of behaviour but again it requires exceptionally vigilant referees and adds even more rules and constraints that might be hard to judge on, so I think it's too much work to be worth it.


View PostKaoS, on 14 September 2012 - 09:24 AM, said:

(5) are there no other methods we can use (in conjunction with programming) like a dispenser with gunpowder and cannon balls from the weapon mod

Hmm... an interesting idea. I would probably keep it to one type of weapon per match just to keep things balanced, as this is an instance where one weapon really would be more power than another, but if we can find a balanced setup maybe there'll be a few kinds (nukes for example will always be favourable to TNT, and would make the game too short).


View PostKaoS, on 14 September 2012 - 09:24 AM, said:

(6) if you are using tekkit is it on the latest version of CC with CCsensors?

It is on the latest version of Tekkit. I never play on it myself (well rather I haven't but I assume it has CCSensors.


View PostChallengeMe, on 14 September 2012 - 07:10 PM, said:

I'm assuming from what you said about remote controlled turtles that they will have modems. Is that correct?

Wireless mining turtles are the available programming device. Standard desktop computers also with modems are also available, these are usually housed inside the castle. I think the distance between the two might be greater than 50 blocks however so this will require forward thinking.

#12 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 15 September 2012 - 04:21 AM

(3) I think stealing should be allowed as long as a turtle does the stealing, this is a competition of programming skills and if you can program a turtle to track down and steal their turtles then you should be permitted to do so (otherwise we must essentially let them blow holes in our base, no preventative measures permitted)

(4) Surely constructing walls as obstructers is fine (once again it must be done by a turtle of course) as this is a defence technique, if you can get your turtles to make barricades then why not?

I think I take a more confrontational approach to it but that's how I think it should be, one team pitted against eachother, this is a war of programmers so anything that can be done with programming should be allowed - Perhaps I just done like being told that I cannot program something to do a specific thing :)/> , programming should be used to do anything we want in my opinion

#13 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 15 September 2012 - 04:36 AM

View PostKaoS, on 15 September 2012 - 04:21 AM, said:

(3) I think stealing should be allowed as long as a turtle does the stealing, this is a competition of programming skills and if you can program a turtle to track down and steal their turtles then you should be permitted to do so (otherwise we must essentially let them blow holes in our base, no preventative measures permitted)

That's all good and well, and I'd have no problems with intercepting turtles. The theft I'm referring to was done by hand- people would physically stand in front of turtles, block them and then steal them. Doesn't really test programming.


View PostKaoS, on 15 September 2012 - 04:21 AM, said:

(4) Surely constructing walls as obstructers is fine (once again it must be done by a turtle of course) as this is a defence technique, if you can get your turtles to make barricades then why not?

I think I take a more confrontational approach to it but that's how I think it should be, one team pitted against eachother, this is a war of programmers so anything that can be done with programming should be allowed - Perhaps I just done like being told that I cannot program something to do a specific thing :)/> , programming should be used to do anything we want in my opinion

I completely agree- in the programming world everything is fair game, any tactic I feel can be justified. Most of these slights however are not done by turtles, they're done by hand, which in my opinion defeats the purpose of the sport, because winning tactics could possibly be produced by a team that aren't doing as much programming, not a favourable outcome.

I don't see any real reason why turtles can't build barricades though- again these resources would have to be quite limited, and of a different material to the castles to distinguish them from the side. It's just that we've done this a few times, we provide people with these options on the grounds they're for use with turtles only, and they ignore the programming aspect in favour of the building/crafting/griefing aspect, which really ruins it as a spectator sport. That's the reason for my stringency- not because I don't want people to be creative and unique because I absolutely do- it's the one thing I love about this game. It's just when we've given that power in the past teams have abused it.

#14 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 15 September 2012 - 05:10 AM

View Postnitrogenfingers, on 15 September 2012 - 04:36 AM, said:

View PostKaoS, on 15 September 2012 - 04:21 AM, said:

(3) I think stealing should be allowed as long as a turtle does the stealing, this is a competition of programming skills and if you can program a turtle to track down and steal their turtles then you should be permitted to do so (otherwise we must essentially let them blow holes in our base, no preventative measures permitted)

That's all good and well, and I'd have no problems with intercepting turtles. The theft I'm referring to was done by hand- people would physically stand in front of turtles, block them and then steal them. Doesn't really test programming.

I agree with you there, that is a cheap tactic

View Postnitrogenfingers, on 15 September 2012 - 04:36 AM, said:

I completely agree- in the programming world everything is fair game, any tactic I feel can be justified. Most of these slights however are not done by turtles, they're done by hand, which in my opinion defeats the purpose of the sport, because winning tactics could possibly be produced by a team that aren't doing as much programming, not a favourable outcome.

Is there no mod you can add in to limit the usable block ids for certain player ids? you could prevent players from breaking or placing any block that is not a turtle (have to include all 3 types of turtles), computer, modem or disk drive - you would also have to make a special allowance for labelled turtles/computers as this gives them a slightly different block id
I can openly admit to not knowing the first thing about modding minecraft, I haven't been playing for long and have just used tekkit so I'm afraid I won't be much help in finding one though

#15 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 15 September 2012 - 06:01 AM

View PostKaoS, on 15 September 2012 - 05:10 AM, said:

Is there no mod you can add in to limit the usable block ids for certain player ids? you could prevent players from breaking or placing any block that is not a turtle (have to include all 3 types of turtles), computer, modem or disk drive - you would also have to make a special allowance for labelled turtles/computers as this gives them a slightly different block id
I can openly admit to not knowing the first thing about modding minecraft, I haven't been playing for long and have just used tekkit so I'm afraid I won't be much help in finding one though
You and I are on the same page there. I remember asking the server master, or moderator, or whatever you call them about that and he rolled his eyes. Not an easy thing to accomplish, I think it is possible to have build permissions but they're fiddly to set up. Turtles could be set to deconstructing and reconstructing your castle but I'd probably count that as damage done against it. So I'm not sure, I'll look into that.

#16 D3matt

  • Members
  • 830 posts

Posted 15 September 2012 - 06:14 AM

I'm having trouble seeing how you could build a wall to stop a turtle. Surely any turtle in a game of war would be programmed to just dig through anything in its path?

#17 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 15 September 2012 - 07:42 AM

View PostD3matt, on 15 September 2012 - 06:14 AM, said:

I'm having trouble seeing how you could build a wall to stop a turtle. Surely any turtle in a game of war would be programmed to just dig through anything in its path?

That's what I thought but I would also start by sending a turtle out that counts how far it goes and when it hits something sends back that info so I know how far away their base is for effective targeting, this would disrupt my technique but I wouldn't complain - all part of the game

#18 rawritsdan

  • Members
  • 26 posts

Posted 15 September 2012 - 11:11 AM

Is there anyway you can take on spectators to wactch and learn? :)/>

#19 KaoS

    Diabolical Coder

  • Members
  • 1,510 posts
  • LocationThat dark shadow under your bed...

Posted 15 September 2012 - 11:23 AM

I'm sure you can spectate but I doubt you could see them coding, you would need to see their screen for that (unless there is a mod you know of)

#20 dragonman0110

  • New Members
  • 5 posts

Posted 15 September 2012 - 02:34 PM

i would love to try this but im not that good at lua atm
don't know who i would work with but seems cool.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users