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
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.
That links says Permission denied.
really? how about http://www.kuro5hin.org/story/2007/11/29/5715/1869 ?
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.
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
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.
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.
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)
> 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.
... 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"
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.
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.
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
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.
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.
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"?
> 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
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
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.
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
"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.
And the line, horrid as it looks quoted by itself, is actually pretty
comprehensible in context.
- Gerry Quinn
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"?
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
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.
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.
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.
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.
> 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.
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.
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
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