code logs -> 2009 -> Fri, 20 Feb 2009< code.20090219.log - code.20090221.log >
--- Log opened Fri Feb 20 00:00:42 2009
00:08 Derakon [~Derakon@Nightstar-4920.hsd1.ca.comcast.net] has quit [Operation timed out]
00:16 Derakon [~Derakon@Nightstar-4920.hsd1.ca.comcast.net] has joined #code
00:16 mode/#code [+o Derakon] by ChanServ
00:38
<@GeekSoldier>
what an advert for Kongregate... Kongregate, the methadone to WoW.
00:48 Consul [~consul@Nightstar-2844.dsl.sfldmi.ameritech.net] has quit [Quit: Leaving]
01:03 You're now known as TheWatcher[T-2]
01:06 You're now known as TheWatcher[zZzZ]
01:16 Reiver [~reaverta@Nightstar-23804.xdsl.xnet.co.nz] has quit [Quit: Changing servers]
01:16 Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code
01:16 mode/#code [+o Reiver] by ChanServ
01:30 Consul [~consul@Nightstar-2844.dsl.sfldmi.ameritech.net] has joined #code
01:30 mode/#code [+o Consul] by ChanServ
01:33 * Derakon starts work on different sizes of bullet.
01:34
<@Derakon>
I wonder what the rotozoom tax is gonna be on this...
01:44
<@Vornicus>
That's something I'm kind of dreading in VornMoO: I've got an on-map information bar that needs to scale, and I can have up to a hundred of those; doing live scaling of 100 objects with rotozoom sounds like Not My Idea Of A Good Time.
01:45
<@Vornicus>
Well that and the warp lane thing; I suspect that will be redrawn live as I pan and zoom.
01:47
<@gnolam>
=> go hardware-accelerated.
01:52
<@McMartin>
That would mean writing OpenGL code.
01:52
<@McMartin>
It also means that your 2D game requires a modern system to run, which offends some people~
02:01
<@Derakon>
Argle bargle fargle.
02:01
<@Derakon>
Why does rotozoom have to leave the object uncentered? >.<
02:01
<@Derakon>
Yes, I know, the upper-left corner is still in the same place. I don't care about the upper-left corner!
02:09 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
02:37
<@Derakon>
http://derakon.dyndns.org/~chriswei/temp/bulletmlscreen34.png
02:46
<@Vornicus>
Sweeeet.
02:46
<@Vornicus>
Are you going to update the other patterns to use differently-sized bullets?
02:47
<@Derakon>
Yeah, the entire game basically gets a makeover now.
02:52
<@Derakon>
Hah...why didn't I think of that before?
02:52 * Derakon adds the isEmitter tag to bullets, to make them immune to the inflector and bombs, deal no direct damage to the player, and vanish at the end of the pattern.
02:52
<@McMartin>
Noo, my glorious Doomcircle strategy~
02:54
<@Derakon>
I won't use it everywhere. Much of the point of Doomcircle is that you can disrupt the circle.
02:54
<@Derakon>
But there's not much that happens in this new pattern if you lose a life, for example.
02:54
<@Serah>
Does anyone know of a better speech emulator than the windows built-in?
02:58
<@McMartin>
Serah: Well, um, the mac built-in speech emulator is pretty good~
02:59
<@McMartin>
I assume you meant "for windows", though.
02:59
<@Serah>
Aye.
02:59
<@Derakon>
Mental note: isInflector != isEmitter.
04:58
<@Derakon>
Hmm...
04:58
<@Derakon>
I want to cache resized bullet sprites so that I don't have to do so many rotozoom operations.
04:58
<@Derakon>
So right now I'm looking at a dict that maps bullet type (i.e. color/shape) to a dict that maps sizes to lists of surfaces.
04:59
<@Vornicus>
But that can get big...
04:59
<@Derakon>
But then it's entirely possible that some clever goose will come along and make bullets of continuously variable sizes.
04:59
<@Derakon>
So I want to semi-intelligently prune the cache.
05:05
<@Derakon>
Okay, limit is 50 variations, each with 24 frames.
05:05
<@Derakon>
That should be handle-able.
05:05
<@Vornicus>
How are you enforcing the limit?
05:06
<@Derakon>
+1 when I add to the cache.
05:06
<@Vornicus>
(I recommend pruning according to last-used time; oldest dies)
05:06
<@Derakon>
If I hit the limit, I go through and check each variation's number of uses.
05:07
<@Derakon>
I ditch the one that's been used least.
05:07
<@Vornicus>
This way if someone is using most of them, they don't keep cycling out because the least-used are also currently /on the screen/.
05:08
<@Derakon>
If you have 50 different bullet sizes onscreen, you're fucked anyway.
05:08
<@Vornicus>
I don't mean all.
05:08
<@Vornicus>
I mean most.
05:09
<@Vornicus>
Your current thing, if you hit 50 including older ones that were used a lot in old patterns, you'l end up dropping actively-used bullets because they haven't yet collected enough uses...
05:09
<@Derakon>
I see your point.
05:09
<@Derakon>
Pattern 1 uses one bullet size and makes 500000 bullets of that type.
05:10
<@Derakon>
Pattern 2 comes along and makes 49 different kinds of bullet.
05:10
<@Vornicus>
and then they cycle in again with 0 uses but then gets stomped on again the next time through.
05:11
<@Vornicus>
Using recency you will stomp the one or two bullet sizes that older patterns were using because you don't need them any more, and you don't have to worry about active bullets dropping out of the cache.
05:11
<@Derakon>
Right.
05:11
<@Derakon>
Good catch, thanks.
05:16
<@Derakon>
Argh, they're way too small! Why?
05:17
<@Derakon>
Oh, duh. I'm doing the rotozooming twice.
05:18
<@Derakon>
Go to all that trouble of making the cache, then fail to remove the rotozooming. Whoops.
05:19
<@Derakon>
Oh, yes, that's much better.
05:20
< Rhamphoryncus>
Mind if I ask what you're working on?
05:20
<@Derakon>
Fusillade.
05:20
<@Derakon>
http://www.aegis-soft.com/games/fusillade
05:21
<@Vornicus>
that's right, folks, we have an honest to god indie game developer on Nightstar now.
05:21
<@Derakon>
Note he didn't say "successful".
05:22
<@Vornicus>
You can't be successful until you've released your first game.
05:22
< Rhamphoryncus>
What language?
05:22
<@Derakon>
Python.
05:23
< Rhamphoryncus>
cool
05:23
< Rhamphoryncus>
I have a leeetle knowledge of python, heh
05:23 * Vornicus is currently Inspired by Der to actually work on his own games.
05:23
<@Derakon>
Glad to hear it. :)
05:25
< Rhamphoryncus>
I've been tempted to make a tower defense game, but I figure I should get more done on my compiler first, hehe
05:25
<@Derakon>
Rhamphoryncus: before starting on my gaming projects, I knew basically no Python.
05:25
<@Vornicus>
Python is not hard to pick up.
05:25
<@Derakon>
I'd made one script in Blender that was more math than Python, and dabbled a very small amount in Python at work, and that's basically it.
05:26 * Derakon tries to figure out how to make the Machinegun pattern more interesting.
05:27
<@Vornicus>
(And we have at least a few people here that count as Gurus - me, for instance)
05:27
<@Derakon>
Yeah, if it weren't for #code I wouldn't be a very happy camper. :)
05:28
< Rhamphoryncus>
Vornicus: yeah, ditto
05:29
<@Vornicus>
Oh yes, you too. Now I remember, it's you in #python and SJ in #spaceempires
05:29
<@Derakon>
...oh, that was sarcasm earlier?
05:29
<@Vornicus>
Apparently. I'd forgotten that Rham is actually quite good.
05:30 mode/#code [+ooooov crem Rhamphoryncus simontwo Syloqs-AFH Tarinaky KarmaBot] by Vornicus
05:31
<@Rhamphoryncus>
I'm basically a threading guru.. which is to say I have no life and waste time on pointless endeavours ;)
05:31
<@Vornicus>
Heh
05:32 * Derakon tries to figure out how to make his machinegunners lob grenades at the player.
05:32
<@Derakon>
May not be worth the effort.
05:38 * Vornicus examines VornMoO's code, tries to remember what he was working on.
05:39
<@Derakon>
Oh, wow, haven't seen that error before.
05:39
<@Vornicus>
Oh, right. 1. display of the gravity push algorithm, and loading and saving of star maps.
05:39
<@Derakon>
"TypeError: unpack non-sequence".
05:39
<@Vornicus>
Der: what's the error?
05:39
<@Vornicus>
Sweet.
05:39
<@Derakon>
I wonder how I managed that one...
05:39
<@Rhamphoryncus>
a,b = 42
05:39
<@Vornicus>
That.
05:39
<@Derakon>
Yes, the meaning is clear.
05:39
<@Rhamphoryncus>
hum nope, not that type
05:40
<@Rhamphoryncus>
what python version?
05:40
<@Derakon>
I was more meaning "That code doesn't really do a whole lot that's special, so I should have exhaustively tested it already."
05:40
<@Derakon>
2.5.
05:40
<@Rhamphoryncus>
hrm
05:40
<@Derakon>
Oh, that's the cache pruning code. It shouldn't have kicked in yet. Odd.
05:41
<@Rhamphoryncus>
I dunno what produces that variant of error. Now I'm curious :)
05:41 * Derakon cuts the cache size down to 2.
05:42
<@Derakon>
It was a failure to use "items()" when iterating over pairs in a dict.
05:43
<@Vornicus>
if you're iterating, use iteritems() instead of items()
05:43
<@Vornicus>
Faster, doesn't make a copy.
05:43
<@Derakon>
Ahh.
05:43
<@Derakon>
That's about all I use items() for.
05:43
<@Vornicus>
This changes in 3.0 though
05:43
<@Derakon>
You'll note I'm not using 3.0. :)
05:44
<@Derakon>
Probably won't be for awhile.
05:44
<@Vornicus>
Right, and you shouldn't be - 3.0 is really a library developer release.
05:46
<@Derakon>
Okay, here's my caching code: http://paste.ubuntu.com/120454/
05:46
<@Derakon>
The first block deals with insertion, the second block with removal.
05:47
<@Derakon>
The problem I'm running into is that 'use' doesn't appear to be a valid key into the dataDict. So clearly I'm mixing my dicts up somehow.
05:50
<@Derakon>
No ideas?
05:50
<@Derakon>
Nobody cares?
05:51
<@Derakon>
...oh, wait, duh. Line 32.
05:52 * Vornicus was reading.
05:52
<@Derakon>
Instead of removing the old entry from the cache, I'm replacing it with an empty entry...which has no usage stats.
05:52
<@Derakon>
So then I try to access that empty entry and crash.
05:53
<@Derakon>
I should be doing something like "del self.bulletCache[type][size]", except I don't think del does what I want.
05:53
<@Vornicus>
What do you want it to do?
05:53
<@Derakon>
Or maybe it does and I have a separate problem.
05:54
<@Vornicus>
It will remove the item of choice from the cache, thereby reducing its refcount.
05:55
<@Vornicus>
Minor refinement: use bulletCache[(type, size)] instead of a nested dict; that way the cache keeps its own length count (len() is O(1)) and you don't have to worry about pruning obsolete bullet type dictionaries.
05:56
<@Derakon>
...I didn't know you could use tuples as keys.
05:56
<@Derakon>
Nice.
05:57
<@Vornicus>
That's why there are tuples.
05:58
<@Vornicus>
You can also use frozensets as keys.
05:58
<@Vornicus>
(You don't often have occasion to.)
05:59
<@Derakon>
Okay, that seems to be working.
05:59
<@Derakon>
Where by "working" I mean "the cache is not causing the game to crash, at least".
05:59
<@Derakon>
I believe my secondary problem was re-using "type" and "size".
06:02 Syloqs-AFH [Syloq@ServicesAdmin.Nightstar.Net] has quit [Connection reset by peer]
06:04
<@Rhamphoryncus>
reusing names will tend to bite you
06:04
<@Derakon>
It wasn't consciously done.
06:05
<@Rhamphoryncus>
that's usually why it bites you ;)
06:05
<@Derakon>
"type" and "size" were what the keys to those dicts were...the fact that they were also parameters to the function had escaped me.
06:05
<@Derakon>
Heh.
06:05 * Vornicus occasionally reuses parameter names as argument names...
06:08
<@Vornicus>
so I'll go for instance def stirling_first_kind(n,m): and then later on I'll go stirling_first_kind(n,m) when I use the function.
06:11
<@Rhamphoryncus>
type is also a builtin, which is another reason not to use it
06:11
<@Derakon>
Bah!
06:11
<@Rhamphoryncus>
people are fond of clobbering str and list
06:12
<@Vornicus>
I finally started calling them my_str and my_list in generic functions.
06:16
<@Derakon>
Wow okay, Homebullet just got a lot harder.
06:16
<@Derakon>
I slightly increased the homing factor...and I added a second emitter firing rings of bullets at regular intervals.
06:23
<@Rhamphoryncus>
Vornicus: I often go with s or l if it's just a throwaway
06:24
<@Vornicus>
I t4end to shy away from 1-letter names unless it's an established math function like Stirling Numbers or something.
06:27
<@Rhamphoryncus>
Of course a descriptive name is better, but my_str isn't descriptive
06:27
<@Derakon>
It at least identifies the type of the variable.
06:28
<@Vornicus>
Which for generic-ish functions is all you need.
06:34
<@Derakon>
Behold, the new face of Chargelaser! http://derakon.dyndns.org/~chriswei/temp/bulletmlscreen34b.png
06:36
<@Vornicus>
Sweet.
06:42
<@Derakon>
Okay, mental note: continuously-variable bullets are a bad idea.
06:42
<@Derakon>
That in mind, I think I'm going to quantize the available bullet sizes.
06:45 UndeadAnno [~farkoff@Nightstar-29197.neoplus.adsl.tpnet.pl] has joined #Code
06:45 mode/#code [+o UndeadAnno] by ChanServ
06:47
<@Vornicus>
aha. Here is where I really got stuck.
06:48
<@Vornicus>
I was starting in on the canvas for star rendering, and I ended up mired in controls.
06:51
<@Vornicus>
And silly matrix stuff.
06:53
<@Derakon>
Okay, this is a misfeature, but it was too cool not to share: http://derakon.dyndns.org/~chriswei/temp/bulletmlanim5.gif
06:56
<@Vornicus>
Dude, put that one in, that's amazing.
06:56
<@Derakon>
Heh. It'll need something to jazz it up.
06:57
<@Vornicus>
Are larger bullets harder to inflect?
06:57
<@Vornicus>
If not they should be.
06:57
<@Derakon>
Not at the moment. They should be.
06:57
<@Vornicus>
Heh
06:58
<@Rhamphoryncus>
heh, I'm scratching my head, looking for the "bug"
06:59
<@Derakon>
The bug is that the pattern isn't what I wanted it to be.
06:59
<@Derakon>
It's a bit of serendipity.
06:59
<@Rhamphoryncus>
yeah
06:59
<@Vornicus>
Hrm. I'd actually have it fire off individual bursts in random directions, rather often. Call it Solar Flare.
07:00
<@Derakon>
This is what happens when you put Counterspiral on turbo with continuously variable bullet sizes, BTW.
07:01
<@Vornicus>
How many bullet types do you have?
07:01
<@Derakon>
4 at the moment. Three are just recolors; the fourth is a rotating diamond.
07:02
<@Derakon>
http://derakon.dyndns.org/~chriswei/temp/bulletmlbullet1.gif, except drawing correctly~
07:02
<@Derakon>
...that almost sounds vaguely appropriate, random moderator!
07:10 * Vornicus bows
07:19 * Derakon tries to work out how to free Solarflare from the shackles of the "sequence" firing type.
07:19 Vornicus [~vorn@Admin.Nightstar.Net] has quit [Quit: ]
07:19
<@Derakon>
Sequence makes certain things easy, but the pattern completely unravels if you have multiple firing sources.
07:22
<@Rhamphoryncus>
Sequence allows you to have multiple sources all firing in a single pattern?
07:22
<@Derakon>
No.
07:22
<@Derakon>
"Sequence" is a type of direction (other types are "absolute", "relative", and "aim").
07:22
<@Rhamphoryncus>
ahh
07:22
<@Derakon>
"Sequence" says "Fire this bullet in a direction based on the last direction a bullet was fired in".
07:23
<@Derakon>
So using e.g. sequence with an offset of 10 means you fire bullets at 10° intervals.
07:23
<@Derakon>
If some other bullet source comes along, though, suddenly your nice circle gets disrupted because the last bullet wasn't part of "your" pattern.
07:24
<@Rhamphoryncus>
So they interfere
07:24
<@Derakon>
Right.
07:25
<@Derakon>
In most cases I can replace sequence-type directions with absolute directions that make use of the $iter index variable I added.
07:25
<@Derakon>
This pattern's proving more resilient though.
07:56 Derakon is now known as Derakon[AFK]
08:09 * UndeadAnno wonders how the fuck does the Homeworld Cataclysm patch search for the installed game. By grepping every hard drive for the executable?!
08:23
<@Rhamphoryncus>
that could be close to the truth
08:24
<@UndeadAnno>
It takes an absurd amount of time.
09:36 You're now known as TheWatcher
09:45 EvilDarkLord [~jjlehto3@Nightstar-9591.cs.hut.fi] has quit [Ping Timeout]
09:47 EvilDarkLord [~jjlehto3@Nightstar-9591.cs.hut.fi] has joined #code
09:48 EvilDarkLord is now known as NSGuest-521
09:51 NSGuest-521 is now known as EvilDarkLord
10:13 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
10:13 mode/#code [+o gnolam] by ChanServ
11:02 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
12:01 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout]
12:16 gnolam is now known as House
12:23 Serah [~Z@87.72.35.ns-26506] has quit [Quit: ]
13:52 Serah [~Z@130.227.16.ns-12529] has joined #code
13:53 mode/#code [+o Serah] by ChanServ
15:09 KBot [AnnoDomini@Nightstar-29355.neoplus.adsl.tpnet.pl] has joined #Code
15:11 KarmaBot [AnnoDomini@Nightstar-29197.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:11 UndeadAnno [~farkoff@Nightstar-29197.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
15:12 KBot is now known as KarmaBot
15:18 UndeadAnno [~farkoff@Nightstar-29355.neoplus.adsl.tpnet.pl] has joined #Code
15:18 mode/#code [+o UndeadAnno] by ChanServ
16:03 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
16:04 Syloqs_AFH is now known as Syloqs-AFH
16:15 You're now known as TheWatcher[afk]
16:39 Vornicus [~vorn@Admin.Nightstar.Net] has joined #code
16:39 mode/#code [+o Vornicus] by ChanServ
17:31 Derakon[AFK] is now known as Derakon
18:34 You're now known as TheWatcher
18:47 * Derakon eyes his list of testers.
18:47
<@TheWatcher>
?
18:47
<@Derakon>
I have 14 already and I'm sure I've forgotten someone.
18:47
<@Derakon>
I just added a scrolling credits marquee to the main menu.
18:47
<@TheWatcher>
aaah :)
19:04 RooWeazel [Roogle@Nightstar-25590.hsd1.co.comcast.net] has quit [Ping Timeout]
19:08 RooWeazel [Roogle@Nightstar-25590.hsd1.co.comcast.net] has joined #code
19:08 crem [moo@Nightstar-28703.adsl.mgts.by] has joined #code
19:12 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
19:12 crem [moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer]
19:18 Derakon is now known as Derakon[AFK]
19:23 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout]
19:32 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
19:34 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
19:41 crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout]
19:42 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
20:12 Tarinaky [~Tarinaky@88.83.110.ns-10776] has quit [Client exited]
20:13 Tarinaky [~Tarinaky@88.83.110.ns-10776] has joined #code
20:14 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
20:14 mode/#code [+o Attilla] by ChanServ
20:34 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
20:34 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Ping Timeout]
20:36 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
20:36 mode/#code [+o Attilla] by ChanServ
20:37 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
20:38 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Client exited]
20:40 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
20:49 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
20:51 Serah [~Z@130.227.16.ns-12529] has quit [Ping Timeout]
20:55 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
20:55 mode/#code [+o Attilla] by ChanServ
20:57 Serah [~Z@130.227.16.ns-12529] has joined #code
20:57 mode/#code [+o Serah] by ChanServ
20:57 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
20:58 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
22:16 * Vornicus ponders his galaxy canvas again.
22:16
<@Vornicus>
There's two things here: 1. the galaxy map, and 2. the surface onto which I will project.
22:22
<@Vornicus>
The entities on the map define the extents of the map, which also provides an aspect ratio. As I zoom and pan the map, I have to use the extents and aspect ratio to define the limits of how the zooming and panning work.
22:26
<@McMartin>
Hm. Are you planning on having huge amounts of smooth zooming and panning?
22:26
<@McMartin>
Because if so, OpenGL probably is the way to go over pure rotozoom
22:26
<@McMartin>
Unless you want to target stock Linux machines, I guess.
22:27
<@Vornicus>
I have been seriously considering OpenGL because my existing interface requires painting large semitransparent areas.
22:28
<@Vornicus>
Large, circular semitransparent areas.
22:30
<@Vornicus>
(which I grant will need to be broken into triangles for OpenGL, but I can do that!)
22:34
<@jerith>
Vornicus: 2d or 3d map?
22:35 * jerith has been loving the 3d in Ascendancy, but wishing for a better UI.
22:35
<@Vornicus>
2d map.
22:38
<@Vornicus>
I have a notebook with sketches of some of the features of the galaxy map.
22:38
<@Vornicus>
It's really pretty stuff, and I'm pretty sure I can do it all.
22:38 Derakon[AFK] is now known as Derakon
22:46
<@McMartin>
... Yeah, absolutely go OpenGL, then.
22:47
<@Vornicus>
Means figuring out PyOpenGL.
22:50
<@McMartin>
Yeah, but
22:51
<@Vornicus>
Large transparent areas would be its job.
22:58
<@Vornicus>
...uh. Yes, thank you, stupid installer, for not finding the C runtime.
22:58 * Vornicus bites it.
23:02
<@Vornicus>
...and I can't find a copy of it anywhere else.
23:02 * Vornicus wanders over to the pyopenGL folks and bites them.
23:26 * Vornicus gets Pygame in there, anyway, and determines that his original renderer does indeed still work.
23:26
<@Vornicus>
Also it's great to watch.
23:27
<@Derakon>
Do screenshots do it justice?
23:27
<@Vornicus>
Well, yes and no.
23:27 Doctor_Nick [~nick@Nightstar-12626.tampfl.fios.verizon.net] has quit [Quit: leaving]
23:39
<@Vornicus>
Essentially i have a thing that places stars randomly according to a few rules (and I wish I could make these rules cleaner - they're a lot faster than the gravitic repulsion solution, but they also /fail/ 10% of the time...), and then the stars are stationary... but my renderer will scale the canvas according to the extents of the map.
23:39 UndeadAnno [~farkoff@Nightstar-29355.neoplus.adsl.tpnet.pl] has quit [Quit: I like maxims that don't encourage behaviour modification.]
23:40
<@Vornicus>
hang on, I'll attach my renderer (only prereq right now is pygame, and objc if you're on mac) to something and link that to you.
23:40
<@Vornicus>
oh. right, it needs the star images too.
23:42
<@Vornicus>
http://vorn.dyndns.org/theonewiki/ShipArtRequirements?action=AttachFile <--- mooclone.zip is all the source and reverse-engineering data I've got. To see the thing, run render.py
23:42
<@Vornicus>
You'll need pygame and, if you're on mac, objc.
23:42
<@Vornicus>
And if you're on mac you'll need to uncomment the line that imports objc.
23:44
<@Vornicus>
Oh, and to change the number of stars it generates, change the number on line 151.
23:45
<@Vornicus>
Right now it uses 500, which is a lot more than you'd ever want in an actual moo game - the original MoO maxes out at 106.
23:48 * TheWatcher goes to look
23:49 * TheWatcher also goes to get python and pygame for windows >.>
23:50
<@TheWatcher>
... why 106, do you know?
23:53
<@Vornicus>
106: 100 stars are placed on the Large map, and then one additional star per race - homeworlds are placed separately. You can only get six races in game at a time in MoO
23:53 Doctor_Nick [~nick@Nightstar-12626.tampfl.fios.verizon.net] has joined #code
23:54 mode/#code [+o Doctor_Nick] by ChanServ
23:54 Serah [~Z@130.227.16.ns-12529] has quit [Ping Timeout]
23:54
<@TheWatcher>
Aah
23:55
<@TheWatcher>
Makes sense :)
23:55
<@TheWatcher>
(<= has never actually played any of the MoO games, so)
--- Log closed Sat Feb 21 00:00:54 2009
code logs -> 2009 -> Fri, 20 Feb 2009< code.20090219.log - code.20090221.log >