G
Guest
Guest
Archived from groups: rec.games.roguelike.development (More info?)
Hey, remember me? I'm building a roguelike in Perl. It might end up
being more of an Engine that's re-usable for all of my future ideas and
others', but not data-driven or even script-driven. Mainly I get some of
the tougher (and most fun) tasks out of the way that mostly every
roguelike uses.
Anyway, it's coming along. Rendering and scrolling works well (It's
curses-only right now, but I've modularized the interface system for any
ideas I may or may not get in the future.) and I'm working on map
generation. That's also coming along very nicely. I have this powerful
routine called connect that takes in a figure (room, hall, anything), an
ID of an existing room on an existing map, and the walls to match up,
and it connects it, doors and all. It mostly works and where it fails,
it's not that major. I'll probably work on generation a bit more and
then slowly add in items and monsters.
The main problem right now is speed, actually. Starting up on my AMD K6
500Mhz, 128MB RAM box (My only box.) takes anywhere from 12 to 20
seconds. After that, things are OK. Now games like crawl, nethack, tome,
angband, etc barely take a second. I know that they're compiled and I'm
using Perl and I understand that I need to identify bottlenecks and all
that. I will, in time. But are there any other magic tricks anybody
knows of to help?
Unfortunately my webhost has gone down for a while and I can't really
use dialup to host anything, not because of speed (or lack thereof), but
because I can't tie up the phone line. So there's no decent way to get
the code out there. I'm currently trying to find a place to stash a
tar.gz, so I'll have that out soonish. And maps are tough to convert
into a newsgroup-friendly format.
This isn't really on-topic with the topic or anything, but I brainstorm
a lot about making standard adventure games in a roguelike format.
Imagine playing the original Adventure or Zork (I think that's been
done, actually) with a roguelike rendering. Most of everything would
remain the same, there'd still be the breathtaking descriptions and
nethack-style extended commands (normal IF commands), but with a
roguelike rendering. It may seem like there's no point to it, but it was
just an idea. But what would be wrong with a typical adventure game with
some roguelike elements? Of course combat couldn't be the main thing. I
saw several topics here on this recently, but none really gave me any
good ideas. I'm just bringing up the fact that I'll try and keep my
roguelike engine away from being tied down to one combat style.
If anybody's really interested in this project, I'd love to hear ideas
and/or code. I'm not to comfortable with CVS and all the fancy software
management stuff, but I'd love to have a partner or something.
Though I've probably brought this up previously, are there other
downsides to using Perl besides speed? And the excuses that it isn't a
neat language aren't worthy of reply. Who can say this isn't beautiful?
$original->fill
(
from => [$data->{Ewall}[0]{Y1} + 1, $data->{Ewall}[0]{X}],
to => [$data->{Ewall}[0]{Y2} - 1,
$data->{Ewall}[0]{X} + 1],
with => "."
);
# You'd have to be totally sane to call this line noise. And nobody is
# that sane.
Bye.
P.S. If there's one thing I've learned so far, it's that design
documents aren't good till later. Brainstorms help all throughout a
project, but really, the best way (for me at least) is to just code,
then go back and think about better ways.
Hey, remember me? I'm building a roguelike in Perl. It might end up
being more of an Engine that's re-usable for all of my future ideas and
others', but not data-driven or even script-driven. Mainly I get some of
the tougher (and most fun) tasks out of the way that mostly every
roguelike uses.
Anyway, it's coming along. Rendering and scrolling works well (It's
curses-only right now, but I've modularized the interface system for any
ideas I may or may not get in the future.) and I'm working on map
generation. That's also coming along very nicely. I have this powerful
routine called connect that takes in a figure (room, hall, anything), an
ID of an existing room on an existing map, and the walls to match up,
and it connects it, doors and all. It mostly works and where it fails,
it's not that major. I'll probably work on generation a bit more and
then slowly add in items and monsters.
The main problem right now is speed, actually. Starting up on my AMD K6
500Mhz, 128MB RAM box (My only box.) takes anywhere from 12 to 20
seconds. After that, things are OK. Now games like crawl, nethack, tome,
angband, etc barely take a second. I know that they're compiled and I'm
using Perl and I understand that I need to identify bottlenecks and all
that. I will, in time. But are there any other magic tricks anybody
knows of to help?
Unfortunately my webhost has gone down for a while and I can't really
use dialup to host anything, not because of speed (or lack thereof), but
because I can't tie up the phone line. So there's no decent way to get
the code out there. I'm currently trying to find a place to stash a
tar.gz, so I'll have that out soonish. And maps are tough to convert
into a newsgroup-friendly format.
This isn't really on-topic with the topic or anything, but I brainstorm
a lot about making standard adventure games in a roguelike format.
Imagine playing the original Adventure or Zork (I think that's been
done, actually) with a roguelike rendering. Most of everything would
remain the same, there'd still be the breathtaking descriptions and
nethack-style extended commands (normal IF commands), but with a
roguelike rendering. It may seem like there's no point to it, but it was
just an idea. But what would be wrong with a typical adventure game with
some roguelike elements? Of course combat couldn't be the main thing. I
saw several topics here on this recently, but none really gave me any
good ideas. I'm just bringing up the fact that I'll try and keep my
roguelike engine away from being tied down to one combat style.
If anybody's really interested in this project, I'd love to hear ideas
and/or code. I'm not to comfortable with CVS and all the fancy software
management stuff, but I'd love to have a partner or something.
Though I've probably brought this up previously, are there other
downsides to using Perl besides speed? And the excuses that it isn't a
neat language aren't worthy of reply. Who can say this isn't beautiful?
$original->fill
(
from => [$data->{Ewall}[0]{Y1} + 1, $data->{Ewall}[0]{X}],
to => [$data->{Ewall}[0]{Y2} - 1,
$data->{Ewall}[0]{X} + 1],
with => "."
);
# You'd have to be totally sane to call this line noise. And nobody is
# that sane.
Bye.
P.S. If there's one thing I've learned so far, it's that design
documents aren't good till later. Brainstorms help all throughout a
project, but really, the best way (for me at least) is to just code,
then go back and think about better ways.