Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[7DRL completed] Emperor Engine -- a crafting-focused roguelike

219 views
Skip to first unread message

kaw

unread,
Mar 4, 2009, 7:32:13 AM3/4/09
to
As some of you may recall, I started early on my 7DRL project
this year, and so so my 168 hours just run out. I managed to upload
a tarball of the (Python) source in time, so I'm going to count
this as a win.

This being Python (specifically Python 2) and SDL (through pygame),
ideally the code should run as-is for anyone who has the Python
interpreter and pygame installed; just run enginerl.py. For the
benefit of Windows users who find this awkward, I'll be putting
up something like a Py2Exe executable as well, but I might not get
around to that before tomorrow(access to Windows is somewhat
awkward for me).

I'll also have more time tomorrow to make a better posting
explaining the game; there is a possibility that the learning
curve might be a bit steep.

The very basics: there is only one melee weapon in the game,
and it's a wrench. It's a surprisingly effective weapon for a
wrench, but you're still going to want to use other weapons.
These, you're going to have to build yourself, which is more or
less the point of the game.

Before you can build anything, you need to discover components;
this is done by destroying robots and looking through their
innards ("technology cores"). Once you think you have enough
components to design something interesting or useful, you can
bring up the design dialog with "D". (This is a large menu
system; "View plans" should be useful in documenting roughly
what the components are for.) Once you've finished one or
more designs, you can start building stuff by pressing "T",
as long as you have enough resources and materials. (If you
don't, you'll have to destroy and recycle more robots.)

There is basically no documentation yet; I will be writing a more
comprehensive post when I have a bit of time (which probably means
tomorrow). Both vi keys and numpad work for movement; space
generally means cancel. For those of you who can read Python,
erlmaininput.py should give you a fairly good overview of the entire
control set.

-kaw

(PS: I actually discovered a serious bug _while_ writing this
newsgroup post, so any purists who insist on downloading the
7DRL release should be aware that there is a potential infinite
loop in that version, which is fixed in 1.01.)

Ido Yehieli

unread,
Mar 4, 2009, 9:42:58 AM3/4/09
to
On Mar 4, 1:32 pm, kaw <tqneiq...@sneakemail.com> wrote:
> As some of you may recall, I started early on my 7DRL project
> this year, and so so my 168 hours just run out. I managed to upload
> a tarball of the (Python) source in time, so I'm going to count
> this as a win.
>

Link?

Radomir Dopieralski

unread,
Mar 5, 2009, 1:31:41 AM3/5/09
to
At Wed, 4 Mar 2009 04:32:13 -0800 (PST), kaw wrote:

> As some of you may recall, I started early on my 7DRL project
> this year, and so so my 168 hours just run out. I managed to upload
> a tarball of the (Python) source in time, so I'm going to count
> this as a win.

Where to? Where? Give me the link! Puh-leeeeeseeeee!
/me cries.

--
Radomir Dopieralski, http://sheep.art.pl

konijn_

unread,
Mar 5, 2009, 11:14:25 AM3/5/09
to

http://code.google.com/p/enginerl/downloads/list

You need to improve your reading skills or work on your memory ;]

T.

Matthew Allen

unread,
Mar 5, 2009, 11:49:50 AM3/5/09
to
On Mar 5, 11:14 am, konijn_ <kon...@gmail.com> wrote:
> http://code.google.com/p/enginerl/downloads/list
>
> You need to improve your reading skills or work on your memory ;]
>
> T.

I looked through this post and his other post on this project for this
link. I don't think it was nearly as obvious as you seem to think.

Thanks though.

Matthew Allen

unread,
Mar 5, 2009, 12:08:02 PM3/5/09
to
Kaw, I'm excited about this game so I'll probably play it
eventually...

but...

Since I have to install and upgrade a bunch of python crap to get this
pygame lib to work I don't know how soon that will be, and there is a
high probability I will get frustrated and lose interest. Of course,
if you were able to get some people to compile this python into an
executable it would be far more likely. OSX plox?

fidr

unread,
Mar 5, 2009, 2:15:28 PM3/5/09
to
On Mar 4, 1:32 pm, kaw <tqneiq...@sneakemail.com> wrote:
> As some of you may recall, I started early on my 7DRL project
> this year, and so so my 168 hours just run out. I managed to upload
> a tarball of the (Python) source in time, so I'm going to count
> this as a win.

Congratulations!

I have XP and pretty new pygame and python, and the game faults with:

Font is not being ideally rendered.
Traceback (most recent call last):
File "C:\Documents and Settings\Filip\Programs
\eengine-7drl-101\enginerl.py",
line 217, in <module>
screen.waitForInput()
File "C:\Documents and Settings\Filip\Programs
\eengine-7drl-101\rlinterface.py
", line 223, in waitForInput
event = self.getInput()
File "C:\Documents and Settings\Filip\Programs
\eengine-7drl-101\rlsdl.py", lin
e 405, in getInput
self.update()
AttributeError: SdlInterface instance has no attribute 'update'

any chances for a fix in 1.0.2?

Filip Dreger

tyre...@gmail.com

unread,
Mar 5, 2009, 2:34:20 PM3/5/09
to

I was going to submit a patch tonight for the original author. But
since it seems to affect somebody else:

Line 405 in rlsdl.py should be

self.sdl.update()

Then it runs fine. I'll post more of a review/guide tonight when I can
play it.

-D

Matthew Allen

unread,
Mar 5, 2009, 5:08:02 PM3/5/09
to
After a dusting off my copy of fink, I managed to get python updated
to 2.3 and install the pygame and objc libraries. Naturally, my path
wasn't set up right, but after a while with the man pages and `find /
sw/lib -name xxx`, I got it working. After resolving all the missing
module errors, I had was left with an import error.... /sw/lib/
python2.4/os.py was calling import with ()s, which I guess is not ok
anymore. So I hacked it, and now I am bailing in sre_compile.py with
the intimidating: assert _sre.MAGIC == MAGIC, "SRE module mismatch".

So... unless you get a compiled OSX version, I am going to have to
miss out on a game I am quite excited about :(

My opinion on these sorts of libraries was never that high... if you
can't include them in the source package, they are usually far to much
effort and are too unreliable to install. If you want people to play
your game, I think sticking with C, C++, Java (with standard
libraries), or compiled binaries is the way to go.

Ed

unread,
Mar 5, 2009, 7:58:48 PM3/5/09
to
This game looks great! Is that directional illumination coming from
the @'s flashlight??? I do wish there were a command list somewhere
though, without having to look at the source code!

Ed

unread,
Mar 5, 2009, 8:17:53 PM3/5/09
to
P.S. - How come when I built a handheld device, I can't wield it to
use it against anything? I made an "incinerator ray" out of a beam
projector component... is something missing?

Kadwiell

unread,
Mar 5, 2009, 8:52:24 PM3/5/09
to

I'm about to make a post including a bit of documentation, but since
that's going to be an awfully long post, I'll address this
specifically:
you need a trigger. (Hook it up to the projector.)

You also need other components -- a beam projector needs
something to project, the something that produces _that_ something
needs power, and an engine that produce power needs fuel.

(You really ought to start with some of these components known;
the fact that you don't means that the game is a bit needlessly hard
in the beginning.)
-kaw

Christophe

unread,
Mar 6, 2009, 4:21:38 AM3/6/09
to
Matthew Allen a écrit :

Python 2.3? That's old but not really a problem. Now, the mismatch
between versions of the Python you "installed" and the path the game is
looking for some of the standard modules : "python2.4/os.py" for
example, is bad news. The assert _sre.MAGIC == MAGIC is IMHO just the
proof you are using a mismatched python interpreter and standard modules.

Matthew Allen

unread,
Mar 6, 2009, 9:19:15 AM3/6/09
to
On Mar 6, 4:21 am, Christophe <chris.cavala...@free.fr> wrote:

> Python 2.3? That's old but not really a problem. Now, the mismatch
> between versions of the Python you "installed" and the path the game is
> looking for some of the standard modules : "python2.4/os.py" for
> example, is bad news. The assert _sre.MAGIC == MAGIC is IMHO just the
> proof you are using a mismatched python interpreter and standard modules.

Doh! Duh.

Oh, wait. I was wrong about versions. I'm running 2.4... I think I was
confused cause I upgraded from 2.3. I'm going to dig around a bit. I
little quick googling suggest I might have to be attentive to the fact
that I'm using PPC.

Matthew Allen

unread,
Mar 6, 2009, 9:53:58 AM3/6/09
to
On Mar 6, 9:19 am, Matthew Allen <msal...@gmail.com> wrote:

> Oh, wait. I was wrong about versions. I'm running 2.4... I think I was
> confused cause I upgraded from 2.3. I'm going to dig around a bit. I
> little quick googling suggest I might have to be attentive to the fact
> that I'm using PPC.

Oh, I meant to add... a magic number, in this context, I think refers
to an integer that is tucked into the beginning of a binary that
indicates the OS/arch/protocol that the binary was built for. In this
case, I think its telling me that its trying to use a binary build for
another OS (intel?).

kaw

unread,
Mar 6, 2009, 3:23:55 PM3/6/09
to

Are you still having these problems?

Python and pygame(which contains the standard Python bindings for
SDL) really not obscure languages/libraries at all, IMHO no more than
the Java runtimes. Both are packaged for OS X, so if you're editing
source files to get this working, there's almost certainly an easier
way
to do what you're trying to do. (On both Windows and Linux this is a
two-click / one-line process.)

I don't use OS X, but from the #pygame channel on freenode I got the
following two packages recommended:

http://python.org/ftp/python/2.5.4/python-2.5.4-macosx.dmg
http://www.pygame.org/ftp/pygame-1.8.1release-py2.5-macosx10.5.zip

If you're using OS X 10.3, 10.4, or 10.5 pygame.org also seems to
recommend this one:

http://www.pygame.org/ftp/pyobjc-1.4-py2.5-macosx10.4.mpkg.zip

It's probably a good idea to uninstall any previous installations of
Python 2
that you've done before installing these; _especially_ if your comment
about "hacking it" should be interpreted to mean that you've edited
source files that are part of the standard library.

I hope you get it working; I'll be happy to try to assist, but my
knowledge of OS X is limited.
-kaw

Radomir Dopieralski

unread,
Mar 8, 2009, 8:12:30 AM3/8/09
to
At Thu, 5 Mar 2009 14:08:02 -0800 (PST), Matthew Allen wrote:
> My opinion on these sorts of libraries was never that high... if you
> can't include them in the source package, they are usually far to much
> effort and are too unreliable to install. If you want people to play
> your game, I think sticking with C, C++, Java (with standard
> libraries), or compiled binaries is the way to go.

As far as I know OSX comes with python installed.

Will C width SDL compiled to a linux binary work better on your OSX?

Matthew Allen

unread,
Mar 8, 2009, 10:11:00 AM3/8/09
to
On Mar 8, 8:12 am, Radomir Dopieralski <n...@sheep.art.pl> wrote:

> As far as I know OSX comes with python installed.

It turned out this was the root of my previous problem. I opted to
install using fink because I am comfortable with the apt-like
interface. But even though 'which' lists /sw/bin/python as the
executable, the system python is what is actually run. I ended up dead-
ending because fink only installs 2.4, but emperor seems to depend on
a lot of 2.5 stuff.

I'll try to install python and all the libraries from their OSX mpkgs
if I get some energy again. I'll let you know when I make another pass
at it.

jerzy.c...@gmail.com

unread,
Mar 22, 2009, 7:46:50 AM3/22/09
to
How do i detonate a bomb? I've designed the device containing bomb and
trigger and hardwired trigger destination to bomb. I've tried to use
the device just like i use the medikits, then I've tried to wield it
and send 's'ignal to it, but neither solution was succesful.

Matthew Allen

unread,
Mar 22, 2009, 3:13:43 PM3/22/09
to

trigger -> signal delay -> bomb

(w)eild it, then (f)ire it, then either (d)rop or (t)hrow it.

frog...@gmail.com

unread,
Apr 4, 2009, 4:06:13 PM4/4/09
to
Is there a way to set Eternal Engine to fullscreen?

frog...@gmail.com

unread,
Apr 4, 2009, 4:07:04 PM4/4/09
to
On Apr 4, 4:06 pm, frogw...@gmail.com wrote:
> Is there a way to set EternalEngineto fullscreen?

Bah, bother, I meant Emperor Engine of course.

frog...@gmail.com

unread,
Apr 4, 2009, 4:29:35 PM4/4/09
to

Ah! I figured out how to do it myself, by changing "flags = 0" to
"flags = pygame.FULLSCREEN" in rlsdl.py

0 new messages