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

Yet another roguelike dev guide, this time aimed at a non-rgrd audience

37 views
Skip to first unread message

Ido Yehieli

unread,
Nov 29, 2007, 6:09:27 AM11/29/07
to
Hi guys,
I've submitted a roguelike development article to kuro5hin.org,
atm it is still in the queue:
http://www.kuro5hin.org/modsub ( RogueLulz, Part I: Drawing the Map,
Walking Around, Basic Monsters and Attacking.)

It's be nice to get some feedback from this group as well.

-ido (aka joe6pack on k5)

stu

unread,
Nov 29, 2007, 8:12:24 AM11/29/07
to
On Nov 29, 6:09 am, Ido Yehieli <Ido.Yehi...@gmail.com> wrote:
> Hi guys,
> I've submitted a roguelike development article to kuro5hin.org,
> atm it is still in the queue:http://www.kuro5hin.org/modsub( RogueLulz, Part I: Drawing the Map,

> Walking Around, Basic Monsters and Attacking.)
>
> It's be nice to get some feedback from this group as well.
>
> -ido (aka joe6pack on k5)

kuro5hin? wow. I stopped reading that years ago when I stopped
reading slashdot and osnews. I thought kuroshin was for the
crap that never made it to slashdot.

wtf is "roguelulz"? some kind of kuro5hin speak?

I hope they post it for you and you get some good feedback.
Maybe you can post it here.

-stu

Ido Yehieli

unread,
Nov 29, 2007, 9:38:27 AM11/29/07
to
On Nov 29, 2:12 pm, stu <yakumo9...@gmail.com> wrote:
> kuro5hin? wow. I stopped reading that years ago when I stopped
> reading slashdot and osnews. I thought kuroshin was for the
> crap that never made it to slashdot.

Not quite the same: slashdot provides links, kuro5hin for the most
part is about creating new content.

> wtf is "roguelulz"? some kind of kuro5hin speak?

http://www.urbandictionary.com/define.php?term=lulz

roguelulz= rogue+lulz.

> I hope they post it for you and you get some good feedback.
> Maybe you can post it here.

For now It looks like it'll get posted. I will post a link here if it
does.

-ido.

Krice

unread,
Nov 29, 2007, 10:31:09 AM11/29/07
to
On 29 marras, 13:09, Ido Yehieli <Ido.Yehi...@gmail.com> wrote:
> atm it is still in the queue:http://www.kuro5hin.org/modsub
>( RogueLulz, Part I: Drawing the Map,

That links says Permission denied.

Ido Yehieli

unread,
Nov 29, 2007, 10:47:16 AM11/29/07
to

Ido Yehieli

unread,
Nov 29, 2007, 10:59:47 AM11/29/07
to

Damn. I guess you have to be logged in for both.
You can wait a couple of days until the voting is done and it will be
public.

Sherman Pendley

unread,
Nov 29, 2007, 11:41:19 AM11/29/07
to
Krice <pau...@mbnet.fi> writes:

You can only see articles in the queue if you're logged in.

sherm--

--
WV News, Blogging, and Discussion: http://wv-www.com
Cocoa programming in Perl: http://camelbones.sourceforge.net

Ido Yehieli

unread,
Nov 30, 2007, 11:19:12 AM11/30/07
to
On Nov 29, 5:41 pm, Sherman Pendley <spamt...@dot-app.org> wrote:
> You can only see articles in the queue if you're logged in.

OK, it's been posted to the front page, so it's publicly viewable now:

http://www.kuro5hin.org/story/2007/11/29/5715/1869

-ido.

Krice

unread,
Nov 30, 2007, 1:05:09 PM11/30/07
to
On 30 marras, 18:19, Ido Yehieli <Ido.Yehi...@gmail.com> wrote:
> OK, it's been posted to the front page

That article has some old scool bad programming style
you should learn to avoid -if- you want the source code
stay maintainable when the project becomes a real roguelike.

Jeff Lait

unread,
Nov 30, 2007, 1:14:33 PM11/30/07
to

I have to agree with Krice. Placing the words "tutorial" in the same
article as:

if (0<--(ent_m[*y+dy][*x+dx]->hp))

makes my brain hurt.

I suggest you take that construct and place it right next to:

for (i = endvalue; i --> 0;)

A dev guide is not a suitable place for cute coding tricks.
--
Jeff Lait
(POWDER: http://www.zincland.com/powder)

Auric__

unread,
Nov 30, 2007, 1:20:12 PM11/30/07
to
On Fri, 30 Nov 2007 18:14:33 GMT, Jeff Lait wrote:

> Placing the words "tutorial" in the same
> article as:
>
> if (0<--(ent_m[*y+dy][*x+dx]->hp))
>
> makes my brain hurt.

That's one for the quotefile. :-)

--
auric dot auric at gmail dot com
email sent to the above address is not treated as private
*****
I have no one to blame but myself.

Martin Read

unread,
Nov 30, 2007, 3:28:57 PM11/30/07
to
Jeff Lait <torespon...@hotmail.com> quoted the following code
snippet:

>if (0<--(ent_m[*y+dy][*x+dx]->hp))

... OK. Somebody needs spanked.

Preferably, with a chainsaw.

I appreciate Old School C tricks more than the next guy, which means I
know their proper place: the IOCCC.
--
\_\/_/ some girls wander by mistake into the mess that scalpels make
\ / are you the teachers of my heart? we teach old hearts to break
\/ --- Leonard Cohen, "Teachers"

Ido Yehieli

unread,
Nov 30, 2007, 4:04:05 PM11/30/07
to
On Nov 30, 7:14 pm, Jeff Lait <torespondisfut...@hotmail.com> wrote:
> I have to agree with Krice. Placing the words "tutorial" in the same
> article as:
>
> if (0<--(ent_m[*y+dy][*x+dx]->hp))

Well i never placed the word "tutorial" anywhere, but yea I might have
gone a bit overboard with the brevity on this one occasion.
Anyway it's too late to change now, it's out of the edit queue &
posted.

On the up side i did explain what it does in a comment down the line.

-ido.

Auric__

unread,
Nov 30, 2007, 6:07:09 PM11/30/07
to

Drive the reaser insane?

--
auric dot auric at gmail dot com
email sent to the above address is not treated as private
*****

Twins can be all telekinetic and spooky,
and those two are going to wreak some revenge on your ass.

Derek Ray

unread,
Nov 30, 2007, 7:08:26 PM11/30/07
to
On 2007-11-30, Ido Yehieli <Ido.Y...@gmail.com> wrote:
> On Nov 30, 7:14 pm, Jeff Lait <torespondisfut...@hotmail.com> wrote:
>> I have to agree with Krice. Placing the words "tutorial" in the same
>> article as:
>>
>> if (0<--(ent_m[*y+dy][*x+dx]->hp))
>
> Well i never placed the word "tutorial" anywhere, but yea I might have
> gone a bit overboard with the brevity on this one occasion.
> Anyway it's too late to change now, it's out of the edit queue &
> posted.

Uh, so edit it again, and post it again? This is laziness of the
highest order -- probably the same sort of laziness that leads one to
write deliberately obfuscated glop like the above.

I agree with Martin: this belongs in the IOCCC and nowhere else.

--
Derek

Game info and change log: http://sporkhack.com
Beta Server: telnet://sporkhack.com
IRC: irc.freenode.net, #sporkhack

Ido Yehieli

unread,
Nov 30, 2007, 7:13:58 PM11/30/07
to
On Dec 1, 1:08 am, Derek Ray <de...@moot.its.only.a.spamtrap.org>
wrote:

> Uh, so edit it again, and post it again? This is laziness of the
> highest order -- probably the same sort of laziness that leads one to
> write deliberately obfuscated glop like the above.

This isn't my blog, this i kuro5hin - once it's posted i can't edit or
delete it.
I would also ask you to be less offensive if you don't mind.


- Ido.

Derek Ray

unread,
Nov 30, 2007, 7:51:51 PM11/30/07
to
On 2007-12-01, Ido Yehieli <Ido.Y...@gmail.com> wrote:
> On Dec 1, 1:08 am, Derek Ray <de...@moot.its.only.a.spamtrap.org>
>> Uh, so edit it again, and post it again? This is laziness of the
>> highest order -- probably the same sort of laziness that leads one to
>> write deliberately obfuscated glop like the above.
>
> This isn't my blog, this i kuro5hin - once it's posted i can't edit or
> delete it.

How do you know? Have you asked?

> I would also ask you to be less offensive if you don't mind.

I do mind. It's a spade, not a dual-edged gardening implement.

Ido Yehieli

unread,
Nov 30, 2007, 8:08:18 PM11/30/07
to
On Dec 1, 1:51 am, Derek Ray <de...@moot.its.only.a.spamtrap.org>
wrote:

> > This isn't my blog, this i kuro5hin - once it's posted i can't edit or
> > delete it.
> How do you know? Have you asked?

Good point.
There is no option to delete or edit a storie once it's out of the
queue.
I'll send an email to the k5 admins, maybe they'll agree to edit it
for me.

> > I would also ask you to be less offensive if you don't mind.
> I do mind. It's a spade, not a dual-edged gardening implement.

Did you read the whole article? Or did you just focus on this one
line
Jeff posted when calling my post "laziness of the
highest order"?

Ray Dillinger

unread,
Dec 1, 2007, 3:53:46 AM12/1/07
to
Derek Ray wrote:

> I do mind. It's a spade, not a dual-edged gardening implement.


*sigh.* It's for reasons like this that some folk don't
release code at all. Chill out a bit. The guy did something
and shared it with people. If you don't like one line, it's
okay to mention it, but don't make a career of criticizing
it and get nasty with him.

Bear

jice

unread,
Dec 1, 2007, 5:22:37 AM12/1/07
to

I agree. It's all the more unfair since the line pointed by Jeff
apart, the code is very clean and it's probably one of the best
introductory article to roguelike developement I've ever read. With
100 lines of clean code (minus one bad line), he gets a working
dungeon, player movements, creatures and attacks.
Ido, I give you two thumbs up :)

--
jice

Krice

unread,
Dec 1, 2007, 5:30:09 AM12/1/07
to
On 1 joulu, 12:22, jice <jice.nos...@gmail.com> wrote:
> the code is very clean

No it's not, but even worse thing is that it's C. I think
by now we all should have learned that C is not good for
large projects (or anything). Teaching bad habits for
beginners is not a good thing and any dev guide author
should be aware of that. Also, the way that source is
done is not good for future development, it's just quick
and hacky way to make @ move on screen.
Do we really need that kind of dev guides? I think we
can do better.

jice

unread,
Dec 1, 2007, 5:42:05 AM12/1/07
to
On 1 déc, 11:30, Krice <pau...@mbnet.fi> wrote:
> On 1 joulu, 12:22, jice <jice.nos...@gmail.com> wrote:
>
> > the code is very clean
>
> No it's not, but even worse thing is that it's C. I think
> by now we all should have learned that C is not good for
> large projects (or anything).

Well if you don't like C, you're probably not the best person to
review a tutorial in C.

> Teaching bad habits for
> beginners is not a good thing and any dev guide author
> should be aware of that.

The fact that programming in C is a bad habit is your opinion, not a
recognized fact. Linux in written in C, Quake 3 arena is written in C.

> Also, the way that source is
> done is not good for future development, it's just quick
> and hacky way to make @ move on screen.
> Do we really need that kind of dev guides? I think we
> can do better.

If you start a beginner tutorial by building the whole framework
needed for a full roguelike, the reader will be completely lost before
even reaching the point where he can compile and start the program.
Starting with simple, pragmatic code to help him to understand how the
program work is probably better.

--
jice

Ido Yehieli

unread,
Dec 1, 2007, 6:05:59 AM12/1/07
to
On Dec 1, 11:30 am, Krice <pau...@mbnet.fi> wrote:
> Also, the way that source is
> done is not good for future development, it's just quick
> and hacky way to make @ move on screen.

"quick and hacky", as you put it, is what i was aiming for.

I wanted to show a non-developer audience (kuro5hin has a higher than
average percentage of programmers among its readership, but it's not a
programming site) that game programming can be fun and accessible for
them, even if they don't have a lot of experience or loads of time to
invest in it.

The guy I conversed with in the comments (tetsuwan) is a physics
student whose programming experience iirc includes little more than a
bit of java & labview. If I may toot my own horn, this for example is
why i posted it in kuro5hin 1st rather then rgrd:

http://www.kuro5hin.org/comments/2007/11/29/5715/1869/49#49

-ido.

Gerry Quinn

unread,
Dec 1, 2007, 8:39:56 AM12/1/07
to
In article <4b0873e5-5820-4046-8c1f-
25b42c...@s8g2000prg.googlegroups.com>, jice....@gmail.com
says...

And the line, horrid as it looks quoted by itself, is actually pretty
comprehensible in context.

- Gerry Quinn

Krice

unread,
Dec 1, 2007, 11:40:34 AM12/1/07
to
On 1 joulu, 12:42, jice <jice.nos...@gmail.com> wrote:
> Well if you don't like C

Even I wanted to like it, it sucks.

> The fact that programming in C is a bad habit is your opinion,
> not a recognized fact.

It's a recognized fact.

> Linux in written in C, Quake 3 arena is written in C.

Lots of programs are written in C. That doesn't make it
a good choice for a roguelike.

> If you start a beginner tutorial by building the whole framework
> needed for a full roguelike, the reader will be completely lost

Who said anything about "whole framework"?

Slash

unread,
Dec 1, 2007, 1:43:00 PM12/1/07
to
On Dec 1, 11:40 am, Krice <pau...@mbnet.fi> wrote:
> On 1 joulu, 12:42, jice <jice.nos...@gmail.com> wrote:
>
> > Well if you don't like C
>
> Even I wanted to like it, it sucks.

Saying a language sucks sucks.

> > The fact that programming in C is a bad habit is your opinion,
> > not a recognized fact.
>
> It's a recognized fact.

Who recognized it, and where?

> > Linux in written in C, Quake 3 arena is written in C.
>
> Lots of programs are written in C. That doesn't make it
> a good choice for a roguelike.

It is a good choice if you are profficient using it.

> > If you start a beginner tutorial by building the whole framework
> > needed for a full roguelike, the reader will be completely lost
>
> Who said anything about "whole framework"?

You? :P
--
Slashie

Krice

unread,
Dec 1, 2007, 2:38:33 PM12/1/07
to
On 1 joulu, 20:43, Slash <java.ko...@gmail.com> wrote:
> It is a good choice if you are profficient using it.

No, it's not. But what the hell. What do I care about this
at all? Just go and write a roguelike in C if you want to.

R. Dan Henry

unread,
Dec 1, 2007, 5:01:07 PM12/1/07
to

And you can continue to fail to write a roguelike in whatever you're
failing to write a roguelike in now. And he'll release a functional
game, while you continue to rant about the superiority of your
vaporware. Yawn. For a little while it looked like you'd stop riding
that horse and I took you out of my killfile. Clearly, that was a
mistake and I shall place you back where you belong.

--
R. Dan Henry = danh...@inreach.com
If you wish to put anything I post on your website,
please be polite enough to ask first.

Jeff Lait

unread,
Dec 1, 2007, 6:51:04 PM12/1/07
to
On Nov 30, 3:28 pm, Martin Read <mpr...@chiark.greenend.org.uk> wrote:
> Jeff Lait <torespondisfut...@hotmail.com> quoted the following code

> snippet:
>
> >if (0<--(ent_m[*y+dy][*x+dx]->hp))
>
> ... OK. Somebody needs spanked.
>
> Preferably, with a chainsaw.
>
> I appreciate Old School C tricks more than the next guy, which means I
> know their proper place: the IOCCC.

To be fair, this construct would be barred from the IOCC because it is
not deceptive. Visually it looks like there is a <-- operator which
drives something to zero, which, in this case, is actually an honest
interpretation of the function. This is why I labeled it as "cute".

My objection to it is that there is no such thing as a <-- operator
and any newbie who tries to generalize from this or look for it in
their reference manual is going to be hopelessly confused.

I have seen arguments in favour of using the --> pseudo-operator in
the downwards loop:
for (i = n; i --> 0;)
It has an advantage of being memorable and less prone to errors than
traditional methods (which with downwards loops and unsigned variables
always are prone to idiotic off by one mistakes).

My opinion is that backwards loops should be such rare beasts that you
are willing to spend some time writing them.

Jeff Lait

unread,
Dec 1, 2007, 7:00:03 PM12/1/07
to
On Dec 1, 5:30 am, Krice <pau...@mbnet.fi> wrote:
>
> No it's not, but even worse thing is that it's C. I think
> by now we all should have learned that C is not good for
> large projects (or anything). Teaching bad habits for
> beginners is not a good thing and any dev guide author
> should be aware of that. Also, the way that source is
> done is not good for future development, it's just quick
> and hacky way to make @ move on screen.
> Do we really need that kind of dev guides? I think we
> can do better.

A quick and hacky @ moving on the screen is the best start guide.
Infinitely better than 20 pages of theory followed by the first line
of code!

I know you may be strongly affronted by this guide as it espouses a
structure mimicing your pre-rewrite-Kaduria which got you into a lot
of problems. It also matches the structure of other roguelikes (I
think Crawl is guilty) which caused no end of headaches for later
implementors. Unfortunately, it is likely the fastest-bar-none way to
get people with an @ moving on the screen fighting monsters.

If the users of a dev guide can't get to a fun game fast enough they
will give up.

I think the right approach is a frog-in-hot-water approach. Start
with the quick hacks that get an @ on the screen and slowly sneak in
proper factorization and abstraction layers. If I were making a C++
tutorial, my version #1 wouldn't be too far off Ido's. Well, I'd
never put more than one statement on a line, but that is syntax rather
than theory. However, I'd likely start creating a MAP class to hold
those global arrays and abstract their interface next.

Paul Donnelly

unread,
Dec 1, 2007, 7:51:38 PM12/1/07
to
On Sat, 01 Dec 2007 10:43:00 -0800, Slash wrote:

> On Dec 1, 11:40 am, Krice <pau...@mbnet.fi> wrote:
>> On 1 joulu, 12:42, jice <jice.nos...@gmail.com> wrote:
>>
>> > Well if you don't like C
>>
>> Even I wanted to like it, it sucks.
>
> Saying a language sucks sucks.

Krice just hasn't written enough C++ to appreciate C.

Krice

unread,
Dec 2, 2007, 4:15:16 AM12/2/07
to
On 2 joulu, 00:01, R. Dan Henry <danhe...@inreach.com> wrote:
> And you can continue to fail to write a roguelike

I call it a continuing success, because I'm still
developing it. You can't rush with these things or you
end up making a simple 7DRL no one wants to play anyway.

> I took you out of my killfile. Clearly, that was a
> mistake and I shall place you back where you belong.

Clearly you don't like to be wrong.

Slash

unread,
Dec 2, 2007, 1:19:23 PM12/2/07
to
On Dec 2, 4:15 am, Krice <pau...@mbnet.fi> wrote:
> On 2 joulu, 00:01, R. Dan Henry <danhe...@inreach.com> wrote:
>
> > And you can continue to fail to write a roguelike
>
> I call it a continuing success, because I'm still
> developing it. You can't rush with these things or you
> end up making a simple 7DRL no one wants to play anyway.

Sure, developing a roguelike can't be taken out lightly... after all,
who cares for user feedback and self-motivation caused by a finished,
showable product? vapour genroguelikes FTW

>
> > I took you out of my killfile. Clearly, that was a
> > mistake and I shall place you back where you belong.
>
> Clearly you don't like to be wrong.

--
Slash

alma...@gmail.com

unread,
Dec 10, 2007, 11:49:35 PM12/10/07
to
On Nov 29, 6:09 am, Ido Yehieli <Ido.Yehi...@gmail.com> wrote:
> Hi guys,
> I've submitted a roguelike development article to kuro5hin.org,
> atm it is still in the queue:http://www.kuro5hin.org/modsub( RogueLulz, Part I: Drawing the Map,
> Walking Around, Basic Monsters and Attacking.)
>
> It's be nice to get some feedback from this group as well.
>
> -ido (aka joe6pack on k5)

Still trying to port it to C#, just for the heck of it.

Who knew 100 lines of code could be so gnarly to transport?

-- Shanya Almafeta

0 new messages