Posts for Derakon


Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Mothrayas has it: the game should have practically uncapped ability to express skill. Any time you're putting some kind of limit on the player, check if that limit is too low for the really skilled players, and if it is, find some way to work around it. For example, if you have a slow movement speed, you can add a run button, a high-speed jump kick, or any number of other things that allow the player to move at a pace that matches their skill level, without rendering the base speed unplayable for the unskilled.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
If any cell has 3 neighbors, then it becomes a live cell. If a cell that is already alive has 2 or 3 neighbors, then it stays alive, but the 3 neighbors case of that test is subsumed under the spawn-new-cell logic. PointlessBoy: I've also seen a Life sim implemented in LittleBigPlanet. I'm sure one of these days we'll see it in Dwarf Fortress, too.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Y'know, you're all awesome, awesome people. But I think Dacicus deserves some recognition for all the work he (she?) has done in re-encoding our older movies. Every few weeks we get a massive storm of new encodings which greatly improve the entertainment value of those old runs for those of us who can't/don't watch movies in emulators.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I take it killing enemies for money isn't worthwhile? It's been a long time since I played this one. Also, can you use the gust pot to trigger the switch that makes the bridge? Anyway, looking good!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Sonikkustar wrote:
I watched all the WIPs, so I can safely vote yes. Very nice job at optimizing from the both of you!
Likewise. Nice work!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Objection! You picked up powerups! Specifically, health restores. :p So far, looking pretty similar to the existing run minus some detours. Of course it'll start deviating more significantly pretty shortly. Nice work.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
This has got to be a record not just for sparseness of input, but also for worst improvement : movie length ratio. The movie has been improved by .17%
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Really? Seems like it requires a setup where you can rapidly spawn enemies and get their drops to stick around. ElecMan's stage doesn't really work for that -- the only respawning enemies are on vertical sections with not enough land to set up a sprite overflow. FireMan's stage also wouldn't work, I think.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I take it it's impossible, when selecting an area to warp to, to hit up and scroll immediately to the bottom of the list? Otherwise, looking good!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Ah ha. "newGrid = list(grid)" creates a new list...but as this is a 2D list, it is a list of references to lists, and those references are not changed. So that explains why the sim doesn't match. Indeed, changing that to "newGrid = [list(s) for s in grid]" gets me proper Conway life. I don't actually know the bindings for boolean comparison; I should have inserted parentheses. My bad. Thanks for looking over the code! And yeah, this should probably have gone into the "programming for fun" thread...
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Post subject: Not quite life
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Today I implemented Conway's Game of Life on a lark. It was something to do. Or anyway, I tried. I screwed something up, so my sim doesn't quite obey the same rules as the traditional Game of Life, which are: * For each step, for each cell, count how many of the 8 neighboring cells are occupied. * If the count is 3, then the cell is occupied. * If the count is 2 and the cell is already occupied, then the cell lives. * Otherwise the cell dies. Whatever I ended up with, it's not this. I can test this easily enough: in the standard sim, a string of 3 occupied cells in a row turns into a repeater, flicking back and forth between horizontal and vertical orientations. Mine doesn't. However, my sim does have two interesting properties, which have prevented me from looking too closely into why it's "not working". First, it seems to be able to run more or less indefinitely without repeating state -- for a 40x30 grid, I ran over 100k steps without getting a repeat once -- which isn't to say that I got a repeat after that many steps; I just canceled the sim there to tweak it. Second, it likes to form what I call "corridors", two parallel lines of occupied cells with a one-cell gap between them. I've posted the code for the sim here. It's written in Python, using Pygame for visualization. The history checking is lines 44-54, the sim step is lines 60-82. I won't claim that this is great code, but it's a simple program so it should still be fairly easy to read.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
What is different about the (J) version that makes it faster? Usually it is preferable to use the (U) version, unless another version has differences in gameplay that make it better.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Ahh, learn Python. Easier than C IMO. :)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
So in other words, the first thing you'd do in a real-life TAS is train to optimize the process of TASing? ;)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I'm surprised that NetHack doesn't handle a negative-weight purse by causing your backpack to float away from you. I guess the dev team doesn't think of everything. ;)
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
eternaljwh wrote:
What's with the Save+reset immediately after the Fire Sword? It doesn't have a clear benefit...though my memory suggests that it's so you can skip the Flame Ball yet (glitch) to have L2 shots with which to blow down icewalls. This in turn tells me why you wait until after Kelbesque to grab the prison key- the Flame Bracelet means you don't need to reglitch your sword to knock down the ice walls. Am I right here?
I believe you are. Every time you want to use the "level-2 charge without elemental ball" trick you have to do a save/reset; the most recent published TAS did this several times but it looks like only once is needed.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Real life is quantized; the quanta are just very small. Take a look at Planck's constant and Planck time.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I dunno; I watched the first dungeon and it's veeeeery sloooooow. The game itself seems to be competent but bland. Does it pick up later on? Then again, I'm sure a decent number of people would enjoy watching it through. Just not me.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Cyclical motion -- do you mean just motion in a cycle? Like, f(t) = position, and f(t + k) = position, and f(t + 2k) = position, etc.? Depends on the kind of motion you want in that cycle, of course. :) Or maybe you mean sinusoidal motion, like the medusa heads in Castlevania? In that case, x_t = x_(t-1) + k, and y = sin(t). In other words, x position advances by a constant each frame, and y position is determined by a sine function (or approximation thereof).
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
They probably don't have an easily-articulated algorithm for describing the accept/reject rules. I'd bet it includes bitrate, overall file size, and the amount of work they'd have to do to re-encode the file. This is not something you can easily describe to the average uploader, so they simply don't bother. That, and this way they're free to change the rules behind the scenes.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Mazzic wrote:
I've heard it ought to be possible "by walking into a wall a trillion times you will occasionally miss all the atoms and simply glide through".
You'd need more than trillions of times to quantum tunnel any remotely significant amount of mass through any remotely significant barrier. My dorm in college had a dorm-run vending machine, and a standing reward of 1 free soda to anyone who could manage to quantum tunnel through the wall into the storage room used to restock it.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Yeah, that kind of mass disconnect / rejoin is known as a netsplit, and it's what happens when some subset of the servers (usually just a single server) that make up the IRC network can't see the rest of them. Everyone who is connected to one of those servers appears to disconnect from the network from the point of view of anyone on the other side of the split, and then come back when the split ends.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
Awesome, keep up the good work! And thanks for the encode, OmnipotentEntity.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Post subject: Humble Bundle 2!
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
The Humble Indie Bundle was a neat gimmick last year where a bunch of indie devs got together and put up a package deal -- you could buy a bunch of cool indie games for any price you wanted, and they'd included the option to donate the proceeds from your purchase to the EFF or Child's Play (or give it to the devs) in any proportion that you wanted. And now they're doing it again with a new set of games. The big name this time is Braid, but there's a bunch of others and they're all available on OSX and Linux as well as Windows.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Experienced Forum User
Joined: 7/2/2007
Posts: 3960
I find it hard to believe you were remotely serious, but whatever. Suggesting that the operating system is at fault when a user reports an error with a specific program is almost never valid advice. It is, however, an incredibly common suggestion from people who think they're funny: "Oh, you're using $operatingSystem. Clearly that's the problem. If you weren't a ravening idiot you'd see that using $otherOperatingSystem would solve all your problems." And here's a hint: even if you didn't intend for your suggestion to be read that way, that's how it was read anyway. Especially with the use of LMGTFY, which carries heavy overtones of "you're a drooling imbecile that doesn't understand the first thing about the Internet". #xkcd has a pretty good breakdown on why this is stupid. This is getting way off-topic, though, so if you want to continue this discussion, please PM me.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.