code logs -> 2007 -> Sun, 02 Dec 2007< code.20071201.log - code.20071203.log >
--- Log opened Sun Dec 02 00:00:01 2007
00:16 GeekSoldier [~Rob@Nightstar-4541.pools.arcor-ip.net] has quit [Ping Timeout]
00:18 GeekSoldier [~Rob@Nightstar-3694.pools.arcor-ip.net] has joined #code
00:18 GeekSoldier is now known as GeekSoldier|bed
00:25 Forj [~Forj@Nightstar-5330.worldnet.co.nz] has quit [Quit: Gone]
00:27 Derakon is now known as Derakon[Blended]
00:43 Orthia is now known as Reiver
01:03 You're now known as TheWatcher[T-2]
01:06 You're now known as TheWatcher[zZzZ]
01:43 gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Quit: Z?]
02:39 Vornicus is now known as Vornicus-Latens
02:41 Derakon[Blended] is now known as Derakon
02:59 Chalcedon [~Chalcedon@Nightstar-10789.ue.woosh.co.nz] has joined #code
02:59 mode/#code [+o Chalcedon] by ChanServ
03:02 Forj [~Forj@Nightstar-10789.ue.woosh.co.nz] has joined #code
03:02 mode/#code [+o Forj] by ChanServ
03:03 Chalcedon [~Chalcedon@Nightstar-10789.ue.woosh.co.nz] has quit [Ping Timeout]
03:03 Chalcedon [~Chalcedon@Nightstar-10789.ue.woosh.co.nz] has joined #code
03:03 mode/#code [+o Chalcedon] by ChanServ
06:13 GeekSoldier|bed is now known as GeekSoldier
07:52 Derakon is now known as Derakon[AFK]
09:01 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
09:02 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
09:02 mode/#code [+o ToxicFrog] by ChanServ
09:03 GeekSoldier [~Rob@Nightstar-3694.pools.arcor-ip.net] has quit [Ping Timeout]
09:05 GeekSoldier [~Rob@Nightstar-5021.pools.arcor-ip.net] has joined #code
09:14 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out]
09:14 ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code
09:14 mode/#code [+o ToxicFrog] by ChanServ
09:46 Chalcedon [~Chalcedon@Nightstar-10789.ue.woosh.co.nz] has quit [Quit: Gone]
09:58 Forj [~Forj@Nightstar-10789.ue.woosh.co.nz] has quit [Quit: Gone]
10:02 You're now known as TheWatcher
11:53 Vornicus-Latens is now known as Vornicus
13:17 You're now known as TheWatcher[afk]
13:51 gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code
13:51 mode/#code [+o gnolam] by ChanServ
15:13 You're now known as TheWatcher
15:27 Xiphias [Ameroth@Nightstar-25243.dsl.in-addr.zen.co.uk] has joined #code
16:30
<@ToxicFrog>
My dad is awsome.
16:31
<@ToxicFrog>
So. I'm lying in bed, still POSTing. Phone rings. It's my dad. "I have this totally cool idea for a game!"
16:31
<@jerith>
How awesome is he?
16:31
<@ToxicFrog>
The idea:
16:32
<@jerith>
When my parents phone, it's usually "My email is broken". :-/
16:32
<@ToxicFrog>
It's probably an FPS. Basic premise, you're a programmer working on a new shooter game, full of nifty stuff. The suits want to use it as the test for some new solid-hologram VR rigs they're showing off, things go horribly wrong, the game becomes real. Fairly standard so far.
16:33
<@ToxicFrog>
Where it gets cool is, once you have the tools, you can access the source code of enemies, items, weapons, and whatnot.
16:33
<@ToxicFrog>
And rewrite them.
16:33
<@jerith>
I like this game.
16:33
<@ToxicFrog>
Limiting this so that you can't trivially rewrite your starting weapon into a city-destroying nightmare will be tricky but doable, I think.
16:34
<@jerith>
Are you going to build this game?
16:34 * Vornicus still wants to remake Uplink.
16:34 * jerith still wants Vornicus to remake Uplink.
16:35
< Vornicus>
*snrk*
16:35
<@jerith>
Did mylink ever take off?
16:35
<@jerith>
Next weekend I'm going to lead a team of Intrepid Programmers writing a Pentago game.
16:35
< Vornicus>
Mylink?
16:35
<@ToxicFrog>
Presumably, as the game continues, you'll collect new functions, write access to new structures, and so forth.
16:36
<@ToxicFrog>
I figure that with only minor modification this could actually be an educational game; start off simple and teach the player how to program.
16:36 * jerith ponders.
16:36
<@jerith>
I think it might be better to model that with memory allocations and such.
16:36
<@ToxicFrog>
We don't want to scare them off.
16:37 * Vornicus wanted Vornlink to do that.
16:37
<@jerith>
You have to get access to structures before you can read or modify them.
16:38
<@jerith>
Then, you have limited memory (instructions?) to work with.
16:38
<@ToxicFrog>
I figure read access is 'free' once you have the tools and skill.
16:38
<@ToxicFrog>
How exactly do you mean?
16:38
<@EvilDarkLord>
So you can work out what they do and exploit loopholes?
16:38
<@ToxicFrog>
And how would this prevent the user from, say, opening up their weapon, and doing:
16:38
<@jerith>
Your starting gun is written in 5 instructions (for example) so you can rwrite it with any 5 instructions, but you can't use 6.
16:38
<@ToxicFrog>
function punylittlegun:hit(monster)
16:38
<@jerith>
*rewrite
16:39
<@ToxicFrog>
monster:applydamage(2^31)
16:39
<@ToxicFrog>
end
16:39
<@jerith>
No, you need access to the damage types to do that.
16:39
<@jerith>
bullet.add_damage(basic)
16:40
< GeekSoldier>
TF: your dad is awesome.
16:40
<@ToxicFrog>
jerith: for i=1,800 do bullet.add_damage(basic) end
16:40
<@jerith>
bullet.add_damage(armour_piercing)
16:40
<@jerith>
You can only add each damage type once. Or something.
16:40
<@jerith>
It's a set, not a list.
16:41
<@ToxicFrog>
So how is the actual damage amount calculated?
16:41
<@jerith>
You can't bullet.add_damage(uber) until you know where in memory uber lives.
16:41
<@jerith>
Or something.
16:42
<@jerith>
On the other hand, later in the game you get access to damage types and can modify them.
16:42
<@jerith>
Except doing so is global, so all your enemies get uber damage as well.
16:43
<@jerith>
And you can find references to damage types by picking up guns with that damage type. Or something.
16:46
<@ToxicFrog>
GeekSoldier: I know!
16:46
<@ToxicFrog>
jerith: right, but are these attacktypes, or actual damage values?
16:46
<@jerith>
ToxicFrog: Both. They're data structures that can contain either or both.\
16:46
<@jerith>
Or something.
16:46
<@jerith>
I'm just thinking out loud here.
16:47
< GeekSoldier>
that sounds intensly interesting.
16:47
<@jerith>
Perhaps a damage type and an amount?
16:48
<@jerith>
And that then ties into the enemies' structures which have resitances to various types of damage.
16:48
<@jerith>
Or something.
16:48
<@jerith>
sideways...
16:48
<@jerith>
Aww, shinybot isn't running here.
16:50
<@ToxicFrog>
One easy distinction to make is between instance modification and class modification - the latter is probably an endgame ability, and definitely not for everything.
16:50
<@ToxicFrog>
(for example, to make enemies that are now relatively weak a total non-threat, so that the player is no longer bothered by them, if they so desire)
16:50 * jerith nods.
16:51
<@jerith>
Class-space is more difficult to get into or something.
16:51
< Xiphias>
You could distinguish between physical objects that you can't modify, like bullets, and code that you can like reload, targeting and networking algorithms
16:51
< GeekSoldier>
perhaps put a limit on the size of the compiled bytecode? then, to add more to your weapon, for example, you will need to expand the memory.
16:52
<@jerith>
But certain objects (damage types, in my proposal) would be singletons.
16:52
<@ToxicFrog>
jerith: yes. But enemies and weapons won't be.
16:52 * jerith nods.
16:52
<@ToxicFrog>
GeekSoldier: possibly. Hard to determine what's a reasonable limit without tedious trial and error, though.
16:53
< Xiphias>
Plus the most damaging things are often the most simple. Stick While(true) {} in an enemy's code for example.
16:54
<@ToxicFrog>
Infinite loops are disallowed.
16:54
< Xiphias>
AimGun(Self); Fire;
16:54
<@jerith>
ToxicFrog: Do you get a debugger console or something to do this in?
16:58
<@ToxicFrog>
You get an in-game source viewer/editor.
16:58
<@jerith>
SmallTalk-style object browser thing, perhaps?
16:59
<@ToxicFrog>
Quite possibly.
16:59
<@ToxicFrog>
With distinction between "you can't read this yet", "read-only", "instance write", and "definition write".
17:00
< Xiphias>
Would there be small amounts of enemies taken on one or two at a time or would there be some way of quickly modifying and changing a mob of creatures?
17:01
<@ToxicFrog>
Perhaps that could be added as an intermediate ability?
17:01
<@ToxicFrog>
A sort of copy-paste of modified code from one entity to another.
17:11 Shel2476 [~Shel2476@24.236.66.ns-3568] has joined #code
17:29 Forj [~Forj@Nightstar-10789.ue.woosh.co.nz] has joined #code
17:29 mode/#code [+o Forj] by ChanServ
17:31
<@ToxicFrog>
Vornicus. First-class functions in python. Any gotchas?
17:42 Xiphias [Ameroth@Nightstar-25243.dsl.in-addr.zen.co.uk] has quit [Quit: I was never gone]
17:45
<@EvilDarkLord>
Does lack of tail recursion count?
17:45
<@jerith>
ToxicFrog: Not that I know of.
17:46
<@jerith>
What are you wanting to do?
17:50 Forj [~Forj@Nightstar-10789.ue.woosh.co.nz] has quit [Connection reset by peer]
17:51
<@ToxicFrog>
I'm not, but my sister is still learning Python
17:51
<@ToxicFrog>
And ran into a problem that is easily solved with first-class functions.
17:51
<@ToxicFrog>
(which she didn't know about)
18:02 * jerith nods.
18:03
<@jerith>
All methods are functions, which is cool.
18:03
<@jerith>
But I'm not sure if there are gotchas about using them.
18:03
<@jerith>
Straight functions should be fine, though.
18:06 Shel2476 [~Shel2476@24.236.66.ns-3568] has left #code []
18:50 Chalcedon [~Chalcedon@Nightstar-10789.ue.woosh.co.nz] has joined #code
18:50 mode/#code [+o Chalcedon] by ChanServ
19:06 gnoboredatmeeting [~nsJChat@Nightstar-23795.netlogon.liu.se] has joined #Code
19:36 gnoboredatmeeting [~nsJChat@Nightstar-23795.netlogon.liu.se] has quit [Quit: Blargh]
19:46 GeekSoldier is now known as GeekSoldier|bed
20:19 Derakon[AFK] is now known as Derakon
21:10 Vornicus is now known as Finerty
21:11 AnnoDomini [AnnoDomini@Nightstar-29797.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
21:17 AnnoDomini [AnnoDomini@Nightstar-29648.neoplus.adsl.tpnet.pl] has joined #Code
21:17 mode/#code [+o AnnoDomini] by ChanServ
21:48 Attilla [~The.Attil@194.72.70.ns-11849] has quit [Quit: <Insert Humorous and/or serious exit message here>]
22:06 Attilla [~The.Attil@194.72.70.ns-11849] has joined #code
23:01 Thaqui [~Thaqui@219.89.45.ns-12785] has joined #code
23:01 mode/#code [+o Thaqui] by ChanServ
--- Log closed Mon Dec 03 00:00:07 2007
code logs -> 2007 -> Sun, 02 Dec 2007< code.20071201.log - code.20071203.log >