--- Log opened Sat Oct 16 00:00:22 2010 |
00:00 | | * Derakon aughs at http://paste.ubuntu.com/514173/ |
00:01 | <@Derakon> | Why do people write code like this? :( |
00:01 | < Rhamphoryncus> | So that someone can call it as mview(300)... not saying that's a good idea though |
00:02 | <@Derakon> | Being able to support variably-shaped function arguments is not generally something I would consider worthwhile. |
00:02 | <@Derakon> | Er, variably-dimensioned. |
00:02 | < Rhamphoryncus> | I believe I've done similar things.. but as part of __init__ overloading. Handling a str argument would have been done at the same time |
00:03 | <@Derakon> | Oh, there are occasional uses for it. |
00:03 | <@Derakon> | But this is not one I would consider worthwhile. |
00:03 | < Rhamphoryncus> | Hrm I might be thinking of my FixedPoint class. That could take a numerator and denominator argument. I'd probably use two arguments for that though.. |
00:03 | <@Derakon> | Especially since the class being instantiated here is a singleton. |
00:03 | < McMartin> | 16:01 <@Derakon> Why do people write code like this? :( |
00:03 | | * Rhamphoryncus nods |
00:03 | | * Derakon goes ahead and strips out some arguments that are never passed. |
00:04 | < McMartin> | This is standard practice and Actually Not Bullshit in a wide variety of languages, including but not limited to C++ and Java |
00:05 | <@Derakon> | I still say it's unwarranted here. |
00:05 | | You're now known as TheWatcher[zZzZ] |
00:06 | < McMartin> | Absolutely. |
00:06 | < McMartin> | (And it wouldn't be mview(int) vs mview(std::pair<int, int>) anyway, it'd be mview(int) vs mview(int, int) |
00:07 | < Rhamphoryncus> | McMartin: that's just it, having an optional second argument would be much better here |
00:07 | < Rhamphoryncus> | A little more effort to code though |
00:08 | <@Derakon> | Nahh. |
00:08 | <@Derakon> | def mview(first, second = None): |
00:08 | <@Derakon> | arg = first |
00:08 | <@Derakon> | if second is not None: |
00:08 | <@Derakon> | arg = (first, second) |
00:08 | <@Derakon> | Though that does make for ugliness when you have more arguments for the function. |
00:09 | < Tarinaky> | That trick certainly doesn't work for C++ though >.> |
00:09 | < Rhamphoryncus> | That sort of code bothers me. It's "unpythonic". I don't see an alternative though |
00:09 | <@Derakon> | I imagine you could pull something off with void pointers, Tarinaky~ |
00:09 | <@Derakon> | (But it'd be ugly) |
00:10 | < Rhamphoryncus> | Derakon: eww :P |
00:10 | < Tarinaky> | Derakon: True, or where you've got a case where there's a clear 'none' value from the setup. |
00:10 | < Tarinaky> | Like '-1' for an argument that should always be non-negative. |
00:10 | < Rhamphoryncus> | C++ lets you overload class methods. You don't need tricks like that |
00:11 | <@Derakon> | Yeah, there are times I wish I could overload Python functions, but the duck-typing makes that infeasible in most potential applications. |
00:11 | <@Derakon> | Ehh. |
00:11 | < Tarinaky> | Rhamphoryncus: Oh yes, but reducing the amount of typing you do is always good >.> |
00:11 | < McMartin> | Rhamphoryncus: Right, that's what I'm saying they're trying to simulate. |
00:11 | | * Derakon thwaps Tarinak.y |
00:11 | <@Derakon> | s/.y/y./ |
00:11 | < McMartin> | This is because they got the golden hammer issue, but their hammer was actually something like a specific width of shoelace. |
00:11 | < Rhamphoryncus> | Derakon: yeah. The ABC stuff is shifting it a bit though |
00:12 | <@Derakon> | ABC stuff? |
00:12 | < Tarinaky> | Bad code is bad code; but as long as you actually get something out of it it's excuseable. |
00:12 | < Rhamphoryncus> | abstract base classes |
00:12 | <@Derakon> | ...sounds like interfaces to me~ |
00:12 | < McMartin> | ABCs are allowed to have basic implementations for things too. |
00:12 | < Rhamphoryncus> | Depending on your definition of interfaces, yes |
00:12 | < McMartin> | That's the distinction I usually draw. |
00:12 | < McMartin> | In an "interface" class everything is pure virtual |
00:13 | <@Derakon> | Ah, so a Python ABC would define fundamental characteristics and leave others up to non-virtual child classes. |
00:14 | < McMartin> | Yeah, or give default implementations of things in terms of the stuff the child givse. |
00:14 | < Rhamphoryncus> | The big advantage of an ABC in python is you can register a class after the fact. This lets you define your own ABC and add existing types (like int) to it |
00:14 | < McMartin> | Like, your generic list ABC can implement a length() that just goes from start() and sees how many times it can call next() |
00:14 | < McMartin> | For a linked list, that's fine, but you can optimize on array lists. |
00:14 | | * Derakon nods. |
00:17 | < Rhamphoryncus> | I always have trouble thinking up concrete examples use ABCs/interfaces though |
00:17 | | * Derakon determines that the function that started this whole thing is not, in fact, needed. |
00:17 | <@Derakon> | Since after stripping away all the optional-and-never-used arguments in its definition (the pasted version was already truncated), it did three things, which its caller could easily do itself. |
00:18 | < Rhamphoryncus> | Take str vs unicode for instance. It's easy to categorize them together but to actually *use* them together.. no, that's not what the ABC defines. It's a cart before the horse thing |
00:18 | < Rhamphoryncus> | Same with int/float/Decimal. Even int/long are incompatible. The *only* sane thing to do is to coerce them to the type you wanted in the first place |
00:19 | < Rhamphoryncus> | Well, in really old python int/long were incompatible. These days they're essentially the same type in two pieces |
00:21 | | shade_of_cpux is now known as cpux |
00:22 | | * Derakon accidentally drags a URL onto iTunes, which assumes it is a podcast. |
00:22 | <@Derakon> | In fact it is part of Google Maps. |
00:22 | <@Derakon> | But nice try, iTunes. |
00:24 | | Derakon [Derakon@Nightstar-1ffd02e6.ucsf.edu] has quit [[NS] Quit: Leaving] |
01:24 | | Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Connection closed] |
01:29 | | Attilla [Some.Dude@Nightstar-e10e3e74.threembb.co.uk] has joined #code |
01:29 | | mode/#code [+o Attilla] by Reiver |
02:09 | | Attilla [Some.Dude@Nightstar-e10e3e74.threembb.co.uk] has quit [[NS] Quit: ] |
02:28 | | SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has quit [Operation timed out] |
02:48 | | SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has joined #code |
02:55 | | cpux is now known as shade_of_cpux |
02:57 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code |
03:04 | | gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
04:10 | | shade_of_cpux is now known as cpux |
05:16 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code |
05:22 | | * Vornicus returns home. |
05:23 | <@Vornicus> | No Kaura. The revision to fix his Python core bug is in. |
05:27 | < kwsn> | welcome home^_^ |
05:27 | | * Vornicus gives kwsn a cheese. |
05:27 | | * kwsn noms |
05:30 | | kaura [kaura@Nightstar-fd82400d.snfc21.sbcglobal.net] has joined #code |
05:30 | < kaura> | Vorn! |
05:31 | <@Vornicus> | Your Python core bug has been fixed. |
05:31 | < kaura> | The language bug? |
05:31 | <@Vornicus> | Yeah. |
05:32 | < kaura> | Cool. |
05:37 | <@Vornicus> | Thought you'd like to know. Anyway, have you made progress on the interpreter thing at all? |
05:38 | < kaura> | Unfortunately not. Haven't had time this week, due to the new job. |
05:40 | <@Vornicus> | I did not know about New Job |
05:41 | < kaura> | Ah? Thought I mentioned it. But, yes! New job! ...so tired. Has me on my feet all day. |
05:42 | <@Vornicus> | gnark |
05:42 | <@Vornicus> | But, yay money! |
05:43 | < celticminstrel> | What bug was that? |
05:44 | < kaura> | can't def top(), as it's used in the C preprocessor. |
05:44 | < celticminstrel> | Ah. |
05:44 | <@Vornicus> | Well, you can |
05:45 | <@Vornicus> | But the thing is, it has "special behavior", which does some really crazy things. |
05:45 | <@Vornicus> | def top(a): pass;; def b(): global a |
05:45 | <@ToxicFrog> | And the problem is not in the C preprocessor, but rather that the Python compiler uses that as the name for "top level code in the compilation unit" |
05:45 | <@Vornicus> | Would fail with "a is both a parameter and a global in top" |
05:49 | | cpux is now known as shade_of_cpux |
06:03 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:42 | | Derakon[AFK] is now known as Derakon |
06:58 | | shade_of_cpux is now known as cpux |
06:59 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
07:00 | | kwsn is now known as kwsn\t-2 |
07:03 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
07:03 | | mode/#code [+o Vornicus] by Reiver |
07:03 | | Derakon is now known as Derakon[AFK] |
07:17 | | kwsn\t-2 [kwsn@Nightstar-5a8951e9.res.rr.com] has quit [[NS] Quit: BEEP BEEP IMMA JEEP] |
07:38 | | You're now known as TheWatcher |
07:57 | | Vornicus is now known as Vornicus-Latens |
08:07 | | Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds] |
08:23 | | cpux is now known as shade_of_cpux |
08:26 | | kaura [kaura@Nightstar-fd82400d.snfc21.sbcglobal.net] has quit [[NS] Quit: HydraIRC -> http://www.hydrairc.com <- IRC with a difference] |
08:54 | | You're now known as TheWatcher[afk] |
10:00 | | Attilla [Some.Dude@Nightstar-dc808282.threembb.co.uk] has joined #code |
10:00 | | mode/#code [+o Attilla] by Reiver |
10:17 | | SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has quit [Ping timeout: 121 seconds] |
10:19 | | Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has quit [Client exited] |
11:02 | | Attilla_ [Some.Dude@Nightstar-741cb75e.threembb.co.uk] has joined #code |
11:04 | | Attilla [Some.Dude@Nightstar-dc808282.threembb.co.uk] has quit [Ping timeout: 121 seconds] |
11:11 | | gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code |
12:27 | | Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code |
13:02 | < Tarinaky> | Good morning Gentlemen. |
13:06 | <@jerith> | It is indeed. |
13:18 | < Tarinaky> | Any Saturday morning is a good morning. |
13:19 | < Tarinaky> | In python, is there a function equivilent to 'exit(int) from c/c++? |
13:19 | <@jerith> | sys.exit() |
13:19 | < Tarinaky> | For example if I detect an unrecoverable error and just want to clean up and die... |
13:19 | < Tarinaky> | Ahah, thanks. |
13:20 | <@jerith> | (Don't ever do this from a library, though. But you already know this.) |
13:22 | < Tarinaky> | the documentation for pygame.font says I should check it's initialised successfully before proceeding and I don't really want to think about what to do if it doesn't work first time. |
13:25 | <@jerith> | We just call pygame.font.init() and assume it succeeds. |
13:26 | < Tarinaky> | Yeah. Seemed a bit contradictory that init() didn't return a success/fail when it says it needs to be tested :/ |
13:26 | < Tarinaky> | But I wasn't sure if that was just my coding style. |
14:24 | < Tarinaky> | The way python makes all of the functions virtual is kinda annoying sometimes. |
14:24 | < Tarinaky> | Although that's mostly because I'm used to the way constructors work in C++. |
14:25 | | Attilla_ [Some.Dude@Nightstar-741cb75e.threembb.co.uk] has quit [[NS] Quit: ] |
14:36 | <@jerith> | Why would you ever not want virtual functions? |
14:38 | < Tarinaky> | Constructors. |
14:39 | < Tarinaky> | Like I said, I'm used to the way constructors work in C++. |
14:39 | < Tarinaky> | Each class that it inherits from has its constructor called in turn. |
14:40 | <@ToxicFrog> | I considered doing that for my current object system. |
14:40 | < Tarinaky> | So you only have to worry about how it differs from the base class - not initialise -everything-. |
14:40 | <@ToxicFrog> | Then I realized that some stuff needs to call the superclass constructor before constructing, and some needs to call it after. |
14:40 | <@ToxicFrog> | Er? You don't initialize everything, you initialize stuff specific to the subclass and at some point call the appropriate superclass constructor. |
14:41 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed] |
14:41 | < Tarinaky> | How do you do that in python? I thought the new __init__ would mask the base class' one? |
14:43 | <@ToxicFrog> | super(type, self).__init__() |
14:43 | <@ToxicFrog> | eg, class A(object): |
14:43 | <@ToxicFrog> | def __init__(self): |
14:44 | <@ToxicFrog> | super(A, self).__init__() |
14:44 | <@ToxicFrog> | ...other ctor stuff here.. |
14:44 | <@jerith> | Tarinaky: I quite often subclass things to change how they get constructed. |
14:44 | < Tarinaky> | ToxicFrog: Thanks! That'll save me a lot of pain and unreadible code I'm sure. |
14:44 | < Tarinaky> | *unreadable |
14:45 | <@jerith> | So: def __init__(self, foo, bar): super(MyClass, self).__init__(foo*2, bar+1) |
15:16 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code |
15:22 | < Tarinaky> | Hmm :/ |
15:23 | < Tarinaky> | AttributeError: 'super' object has no attribute 'on_init' |
15:23 | < Tarinaky> | Does super not work for 'normal' functions? |
15:23 | < Tarinaky> | *methods even |
15:24 | <@ToxicFrog> | No idea |
15:24 | <@jerith> | super() basically looks up the next thing in the method resolution order. |
15:24 | <@ToxicFrog> | Are you using 2.x or 3.x? |
15:25 | < Tarinaky> | 2.x |
15:26 | < Tarinaky> | Ah. I think I might have spotted what it doesn't like. |
15:27 | < Tarinaky> | Nope. :/ |
15:27 | <@jerith> | Pastebin? |
15:27 | < Tarinaky> | class engine(demo_engine.engine): |
15:27 | < Tarinaky> | def on_init(self,Label="widget2.py",Size=(640,640)): |
15:27 | < Tarinaky> | super(demo_engine.engine,self).on_init(Label,Size) |
15:28 | <@jerith> | Ah. |
15:28 | <@jerith> | The first parameter to super() is *this* class. |
15:28 | <@jerith> | So you want super(engine, self).on_init(...) |
15:29 | < Tarinaky> | But then how does it know which class to delegate to? |
15:29 | <@ToxicFrog> | ...it delegates to the superclass |
15:30 | <@jerith> | http://fuhm.net/super-harmful/ -- That's a pretty good explanation. |
15:30 | < Tarinaky> | I thought the whole point of super was to avoid Fun when using multiple inheritance. |
15:30 | < Tarinaky> | So I don't quite understand how it knows which class I mean :/ |
15:30 | < Tarinaky> | Without being told explicitly. |
15:30 | <@jerith> | Tarinaky: It finds the next method in the method resolution order, which is well-defined. |
15:32 | <@jerith> | So if you inherit from A and B, super().__init__() will call A.__init__(), and its super().__init__() will call B.__init__(). |
15:33 | <@ToxicFrog> | o.O |
15:33 | <@jerith> | (I forget which order the stuff happens in, because I almost never use multiple inheritance.) |
15:35 | < Tarinaky> | It's fair to say everyone almost never uses MI. It's still important though >.> |
15:37 | <@jerith> | I usually calls my superclass methods directly, unless I'm using someone else's classes and they use super(). |
15:38 | < Tarinaky> | Yeah. I can see why >.< |
15:39 | <@jerith> | Which you can do with SuperClass.__init__(self, foo, bar) |
15:39 | < Tarinaky> | Yup. |
15:39 | <@jerith> | (Note that it isn't a bound method at that point, so you need to explicitly pass self into it.) |
15:40 | < Tarinaky> | But I Knew That Already :p |
15:51 | < Tarinaky> | So. GUI widgets in SDL - am I better off pulling something off the shelf or doing it myself? |
15:55 | < Tarinaky> | Baring in mind I don't have a shelf in mind :/ |
15:58 | <@ToxicFrog> | Doing it yourself will give you a vast appreciation for existing GUI libraries. |
15:58 | <@ToxicFrog> | Which is to say, off the shelf, jesus |
15:58 | <@ToxicFrog> | If at all possible - last I checked all GUI libraries for SDL were either too simple to be useful or too complicated to be convenient |
15:59 | <@ToxicFrog> | Which is why I'm using GTK for this game. |
16:03 | < Tarinaky> | Lol, that bad. |
16:06 | <@ToxicFrog> | I completely rewrote the UI and rendering stack for this program because I couldn't face rolling my own UI library anymore. |
16:09 | < Tarinaky> | ? |
16:09 | < Tarinaky> | Oh wait. |
16:09 | < Tarinaky> | Sorry. I had trouble parsing that sentence. |
16:09 | | * Tarinaky understands now. |
16:11 | | * Tarinaky is still deciding whether to have another crack at trying to build a simple roguelike, except in pygame or to try and do a tbs :/ |
16:13 | <@ToxicFrog> | Rrrgh, I'm right on the cusp of having something usable! |
16:17 | < celticminstrel> | I'd say it depends what kind of GUI widgets you want, |
16:17 | < celticminstrel> | Buttons would be pretty simple, but a text edit field... not so much. |
16:18 | < Tarinaky> | The only place I could conceivably see a text-edit field being used is for entering a character name. |
16:19 | < Tarinaky> | And it'd only need to be very simple for that. |
16:28 | | kwsn [kwsn@4CA975.91A3EF.86948D.DEDAA8] has joined #code |
16:30 | <@ToxicFrog> | I need a full on windowing system, so. |
16:30 | < Tarinaky> | What game are you making anyway? |
16:30 | <@ToxicFrog> | Felt. A networked card and board game engine. |
16:30 | < Tarinaky> | Ahah. |
16:31 | <@ToxicFrog> | The primary use case is networked games of Arkham Horror, Descent: Journeys in the Dark, and Twilight Imperium. |
16:32 | < celticminstrel> | A one-line text-edit box probably wouldn't be that hard provided you use a monospaced (probably bitmap?) font. Still, it's be harder than a button, I think. |
16:33 | < Tarinaky> | ToxicFrog: Jesus Christ! That;s very ambitious of you. |
16:34 | | shade_of_cpux is now known as cpux |
16:35 | | kwsn| [kwsn@Nightstar-5a8951e9.res.rr.com] has joined #code |
16:37 | | kwsn [kwsn@4CA975.91A3EF.86948D.DEDAA8] has quit [Ping timeout: 121 seconds] |
16:37 | | kwsn| is now known as kwsn |
16:37 | <@ToxicFrog> | Tarinaky: fortunately, my sister's boyfriend has already scanned all of the Descent stuff. |
16:38 | <@ToxicFrog> | The hard part is the networking. |
16:38 | <@ToxicFrog> | That's almost done, though! I hope to have something testable by the end of the weekend. |
16:38 | < Tarinaky> | ToxicFrog: Isn't Descent the smallest of the three games? |
16:39 | <@ToxicFrog> | Not with all the expansions! |
16:39 | <@ToxicFrog> | And I think Twilight Imperium actually has less stuff than Descent or AH, it's just a much longer and more complex game. |
16:43 | | Zed [Zed@Nightstar-556ea8b5.or.comcast.net] has joined #code |
16:43 | < Tarinaky> | True. |
16:44 | <@ToxicFrog> | Anyways. I actually had a working singleplayer prototype less than a month after starting the project, with full Descent support. |
16:44 | <@ToxicFrog> | The reason it's not done yet is twofold: |
16:44 | <@ToxicFrog> | - development slowed way down once classes resumed |
16:45 | <@ToxicFrog> | - I have thus far completed redesigned and rewritten: the UI, the object model (twice), the serialization library, the gamestate semantics, and the synchronization methodology. |
16:46 | | * Tarinaky shrugs. |
16:46 | < Tarinaky> | I'm sure you made more, faster, progress than I ever have. |
16:47 | <@ToxicFrog> | Perhaps. All I'm really saying here is that Descent support is the easy part. |
16:48 | < Tarinaky> | I thought I said that? |
16:50 | <@ToxicFrog> | s/Descent/game in general/, sorry |
16:50 | <@ToxicFrog> | I mean, support for Descent or Twilight Imperium or AH or whatever is easier than the program itself |
16:53 | < Tarinaky> | Hunh. That's odd. mplayer -dumpaudio isn't working when I expected it to. |
16:54 | | Derakon[AFK] is now known as Derakon |
17:09 | < Zed> | Descent support? |
17:09 | < Zed> | we talking about the old game? |
17:09 | <@ToxicFrog> | The board game. |
17:09 | <@ToxicFrog> | Descent: Journeys in the Dark. |
17:09 | <@Derakon> | TF is making a networked game table. |
17:09 | < Zed> | Ah, gotcha. |
17:09 | < Zed> | That's cool. |
17:10 | <@ToxicFrog> | The D2X-XL project already has upgraded engines for the FPS well in hand~ |
17:10 | < Zed> | I keep meaning to write a system by which I can network a card table with arbitrary rules |
17:11 | <@ToxicFrog> | That's basically what this is. |
17:11 | <@Derakon> | Speaking of networked games, it occurs to me that Taboo is an almost ideal game to be played over voice chat. |
17:12 | < Zed> | The number of times I've ended up having to code a game to update the same thing on both side and add rulechecking... |
17:12 | <@ToxicFrog> | It doesn't, in and of itself, enforce any rules; it behaves like an actual table, with the game played by people moving stuff around. |
17:12 | < Zed> | Derakon: Almost, sure. :) |
17:12 | <@ToxicFrog> | (although if you're writing a game module, you can always add your own rule checking) |
17:12 | < Zed> | Toxic: Nod. that's good, too. |
17:12 | < Zed> | I just meant I wanted to be able to define piles etc. |
17:13 | <@ToxicFrog> | Oh, yeah, it has stuff like that |
17:13 | <@ToxicFrog> | Kind of necessary |
17:13 | < Zed> | discard here, play area is so many cards, stacks, this one autodiscards if you put something on it new, etc. |
17:13 | <@ToxicFrog> | The basic types it ships with are Token, Deck, Die, Pile, and Spinner. |
17:13 | < Zed> | Otherwise it starts to look like you're trying to play Cribbage with Bumptop |
17:13 | <@ToxicFrog> | And Field (basically an independent window which can have things played in it) |
17:14 | <@ToxicFrog> | Visibility is per-Field, so with, say, poker, there's one field for the deck (visible to: no-one) and one for each hand (visible to: the owner) and if it's hold'em, one for the table (visible to: everyone) |
17:14 | <@Derakon> | TF: what, no pop-o-matic~? |
17:15 | < Zed> | ...in a computer sense? A die IS a popomatic. |
17:15 | < Zed> | honestly, though, someone needs to write a good die simulator. |
17:15 | <@Derakon> | ...a good die simulator is not hard. |
17:16 | <@Derakon> | Unless you want to have realistic rolling physics or something. |
17:16 | < Zed> | like, fuck RNG as the number determiner. Take a RNG and then put it into a physics module. |
17:16 | <@ToxicFrog> | The Descent module defines some new types, like Monster (a token that, when moused over, pops up some stats) |
17:16 | < Zed> | That's what I mean. :) |
17:16 | < Zed> | either RNG based or mousing |
17:16 | < Zed> | I want a computer dice simulation. :P |
17:16 | <@ToxicFrog> | And the core networking/synchronization stuff should be adaptable to other games, even. |
17:16 | <@ToxicFrog> | Provided you don't need realtime performance~ |
17:17 | < Zed> | Sure - but who plays games in realtime? |
17:17 | | * Vornicus-Latens gives Zed the game "spoons" |
17:18 | < Zed> | egyptian ratscrew, or speed. |
17:18 | < Zed> | :) |
17:19 | <@ToxicFrog> | Heh |
17:19 | < Zed> | But realtime performance honestly should be feasible if we conceive it from the start for this |
17:19 | < Zed> | allowing you to play games like Falling |
17:19 | <@ToxicFrog> | What I mean is, this engine could easily be adapted to stuff that isn't board/card games |
17:19 | | * Zed shrugs |
17:19 | <@ToxicFrog> | But probably not raquetball or an FPS |
17:19 | < Zed> | I just want to make a system that can handle a deck of cards and a table. :P |
17:20 | < Zed> | I want to be able to define rules etc. |
17:21 | < Tarinaky> | Zed: I don't quite see what you'd get from simulating a die with a PRNG that you wouldn't get from just using a PRNG? |
17:21 | < Zed> | Tarinaky: what do you do for a living? |
17:21 | < Zed> | just curious. :) |
17:21 | < Tarinaky> | Zed: Nothing. I'm unemployed. |
17:22 | < Zed> | Just curious if you were or weren't an engineer |
17:22 | <@Derakon> | As soon as you start moving the rules into the computer, you get hellaciously more complicated. |
17:22 | < Tarinaky> | I'm assuming we're discussing this in the context of playing games. |
17:22 | <@Derakon> | Humans make excellent rules engines. Leverage them! |
17:22 | | * Zed grins |
17:22 | < Tarinaky> | Zed: I did 2 years of Physics. |
17:22 | < Tarinaky> | Zed: Does that count? |
17:22 | < Zed> | Oh, I didn't mean from the technical side |
17:23 | < Zed> | I meant the "want to make something so it can be needlessly complicated" side |
17:23 | < Zed> | :) Answer? You get nothing. |
17:23 | < Tarinaky> | Ahh. |
17:23 | < Zed> | Except the possibility of rendering a die. :P |
17:23 | < Tarinaky> | I was going to point out that dice are less fair than a PRNG because they tend to tumble a constant number of times when rolled by an individual. |
17:23 | < Zed> | maybe the ability to add a table crack to get the die stuck in? Idunno. |
17:24 | < Tarinaky> | Hence why Casinos have rules on how one is to roll a die. |
17:24 | <@ToxicFrog> | Zed: well, you could always grab Felt and add your own rule enforcement :P |
17:24 | < Tarinaky> | And that cheap dice are oblate rather than regular etc... etc... |
17:25 | < gnolam> | Speaking of dice and PRNGs: http://gamesbyemail.com/News/DiceOMatic |
17:26 | <@Derakon> | I remember that. |
17:26 | < gnolam> | Yup. I've posted it here before. :) |
17:27 | < gnolam> | And I'm still impressed. |
17:27 | < Zed> | ...somewhere, someone REALLY believed pushing a button and having your computer pretend to roll a die TOTALLY ruined Moraff's World. |
17:27 | < Zed> | I have to e-mail that guy sometime |
17:28 | < Zed> | thank him for reinventing a bunch of perfectly good genres into really terrible shareware games |
17:28 | < Tarinaky> | Who's Moraff? |
17:28 | < Zed> | Oh. Uh... |
17:29 | < Zed> | There were a bunch of DOS shareware games by him back in the early 90s |
17:29 | < Zed> | They were pretty much all bad. |
17:29 | < Zed> | Dungeon games, platformers, marble simulations |
17:29 | < Zed> | all of them shoddy |
17:29 | < Zed> | better than some of MY attempts |
17:29 | < Zed> | but still bad |
17:30 | < Zed> | also, his use of the borland BGI libraries for everything made everything he wrote have stupidly high system requirements |
17:31 | < Tarinaky> | I need to make some dinner, quickly. |
17:31 | < Tarinaky> | Later. |
17:32 | < Zed> | see ya. :) |
17:32 | < Tarinaky> | Microwave engaged. |
17:33 | < Tarinaky> | Oh. Apparently Mandlebroit is dead btw. |
17:33 | < Tarinaky> | Wikipedia finally got updated with the news so it must be true. |
17:36 | < Tarinaky> | *Mandlebrot |
17:40 | | Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code |
17:58 | < gnolam> | *Mandelbrot |
18:09 | | Derakon is now known as Derakon[AFK] |
18:13 | < celticminstrel> | I seem to remember a few games that were good amongst the Moraff games. |
18:44 | | Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has joined #code |
19:03 | | SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has joined #code |
19:19 | < Zed> | Minstrel: which? :) |
19:21 | < celticminstrel> | I think they were Escapade and an arkanoid clone? I don't quite remember. |
19:27 | | Derakon[AFK] is now known as Derakon |
19:37 | | SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has quit [Ping timeout: 121 seconds] |
19:37 | | SmithKurosaki [Smith@Nightstar-8ff23d84.dsl.teksavvy.com] has joined #code |
21:24 | | You're now known as TheWatcher |
22:08 | | cpux [chatzilla@Nightstar-c978de34.dyn.optonline.net] has quit [Connection closed] |
22:17 | | cpux [chatzilla@Nightstar-c978de34.dyn.optonline.net] has joined #code |
22:39 | | Rhamphoryncus [rhamph@Nightstar-473f8685.abhsia.telus.net] has quit [Client exited] |
22:53 | | Vornicus-Latens is now known as Vornicus |
23:59 | | kwsn is now known as kwsn-ON-WISCONSIN |
--- Log closed Sun Oct 17 00:00:23 2010 |