A Seven Day Roguelike is a roguelike created in seven days. This means
the author stopped writing code one hundred and sixty eight hours after
starting to write code.
Seven Day Roguelikes are, for roguelike authors, what 24 hour comics
would be to comic authors. (cf. http://www.24hourcomics.com/)
The hope is that the Seven Day Roguelike challenge causes roguelike
1) Create a large number of small roguelikes that are complete and
2) Rekindle the joy of working on a small, manageable, project, where
the end is in sight.
* Is this really the best way to make a great roguelike?
Probably not. However, the short time frame forces the developer to
actually plan on finishing. Normal roguelike design is open ended.
One will still be working on the same roguelike years after starting.
This can become dispiriting, as one may have new ideas that cannot fit
inside one's current game. A Seven Day Roguelike is a way to
experiment with the genre without fearing creating another life-work.
After seven days, one can wash one's hands of the roguelike.
* Why Seven Days? Why not 24 Hours?
Comic authors are clearly harder core than us wimpy roguelike
Programming isn't an activity that I'd recommend be done in 24 hour
marathons. Sure, it can be fun. But you don't learn much out of it,
except maybe that programming with little sleep makes unreadable code.
As mentioned in the Dungeon Monkey release,
Seven Days of work is likely under 24 hours for most roguelike
* How many Seven Day Roguelikes have been done?
So far, there is only one I know of:
Of course, it was done before anyone invented this categorization, so
is retconned as a Seven Day Roguelike.
The Kill the Purple Monster Game may also qualify:
This is a good example of how a challenge like this may be used to
experiment with a new approach to roguelikes.
* How do I do a Seven Day Roguelike?
Choose a week to work on the roguelike. Post to
rec.games.roguelike.development that you have started. After seven
days passes, post to rec.games.roguelike.announce your successful
creation. Or, you can beg for more time in
rec.games.roguelike.development :> (You don't have to announce
starting, of course.)
* My roguelike took 10 days, but is really playable! Does it count?
It counts as a Ten Day Roguelike. :>
* Can I use external libraries? Graphics files? Design Documents?
Code I wrote in the past? Existing roguelikes?
This is entirely up to the developer.
It is recommended one has some design idea going into the project.
You should say what pre-existing code you used. The goal isn't to see
who can retype existing algorithms the fastest. The goal is for people
to write playable and complete roguelikes.
Remember: if you spend seven days patching Nethack, you likely will end
up with something that looks a lot like Nethack, so thus not be
considered very impressive. However, if you spend seven days patching
Nethack and create an amazing new roguelike, you will be suitably
* How do we judge the Winners?
The primary criterion is completeness. The resulting game should be
complete and playable. The author is encouraged to not release another
That being said, the only judge of your "Winnerness" is yourself.
* My friend and I want to work on a Seven Day Roguelike together...
Sure! This is definitely a Seven Day Roguelike. Keep in mind that
your seven days occur in parallel. Also remmeber that adding more
manpower to a late software project makes it later...
* What about licensing?
Clearly, the compiled roguelike itself must actually be released. No
good claiming you have it, but won't release it :>
Source code does not have to be released, but it is strongly encouraged
that you release it. Heck, release it public domain! It was only
seven days work, after all. (Of course, if you patched existing code,
follow its licensing agreement...)
> SNIPPED EXPLANATION
Ok, I will get into it.
DISCLAIMER: This is not my starting post, I can't start it right now ;)
> Jeff Lait
> (POWDER: http://www.zincland.com/powder)
A good 7dr gives you a vote on the yearly 'What is a roguelike?' voting
No, I have nothing to do with it, my contest will be held afterwards ;-)
How about a variation on this for the RGRD annual conference? A RL is 7
hours but it starts from a working basic engine such as dungeon monkey.
------------------ ABCGi - ab...@yahoo.com -----------------------------
--------------> Make your own graphical RL!
Would the author be allowed the use of a game engine(of his own making
possibly ;) ?
This was done in a lot less time than seven days. I did the ray table
rather quickly one day, and came back and coded the rest in the afternoon
and evening of the second. The next two days I spent a bit of time
tweaking a few things (the LOS_COMPENSATION_FIX stuff, as well as trying
out the suggestion of a friend to try placing items on the off spaces).
If I had thought about doing it as an N day thingy, I would have done
it easily all on the same day... if I knew that I had 7, I'd probably
have done a lot more (as it is, I just wanted to experiment a bit with
the look and feel of ASCII hex with LOS and movement to see how natural
it would be).
Personally, I like the idea of the challenge... I have friends who
have done NaNoWriMo. The benefit they get from all doing it at the
same time every year is the sense of community that comes from suffering
under pressure. Maybe we need to organise a RL Writing week.
 National (sic) Novel Writing Month (aka November). Basically,
it's a challenge to start from nothing but notes and write a short
novel (50000 words, ~175 pages) in 30 days (which isn't too hard ,
but it's not easy either). See www.nanowrimo.org for details.
 It's really an international thing now, but still keeps the old name.
 There are harder-core people in Vancouver who do this over a weekend.
Given that the rules allow you to judge code reuse for yourself (and
what else is using an existing engine?), the question is: do you feel
comfortable doing that?
R. Dan Henry
I concur... it's really up to you. As Jeff's original post suggests, if
you start from something that's already practically a RL and just patch it
for 7 days, you'll need to do a lot of work to make it very impressive.
Since it's really an honour based system (much like YAVPs) it's simply
important to mention any thing you did beyond starting from scratch.
True. However, I would want to make it clear that by 'bug-fixes' we
mean minor little typos and rare crashing bugs that are discovered
through extesnive play. Ie, if dipping a named studded leather gorget
into an acid potion causes a crash, one could fix that case. If trying
to enter your name causes a crash...?
The spirit of the challenge is that your release on the 7th day is
something you'd be willing to send to the presses. 50,000 cartridges
are being made with that particular pattern of bits immutably stamped
on them. There is no auto-patcher to let you fix stuff later.
In other words, if a bug-fix release is a "make the game remotely
playable" release, one can't really claim to have fulfilled the
criteria of the seven day challenge.
That being said, it would be silly to prohibit any such patches.
I was thinking of TOME when I was writing that :>
If you set about to make an entire new game in using the TOME engine in
seven days, that would seem quite acceptable to me. Likewise, if Hajo
were to spend seven days writing a complete H-World module, I'd honour
However, to contrast, if I were to spend seven days working on POWDER
and then declare the 061 to 062 to be a seven day roguelike, I don't
think people would be suitably unimpressed :>
That would be cool. I was considering framing it as something that
occurred at a specific point, but I figured it would be difficulty to
find a time we would all agree on. A November 1st deadline would meet
historical precedents, matching that of Dungeon Monkey.
Considering it personally, I think the best timing would be to do a
Sunday at Noon to Sunday at Noon. This would give the chance to get a
good start for the week, and maximal time for the final run.
>  National (sic) Novel Writing Month (aka November). Basically,
> it's a challenge to start from nothing but notes and write a short
> novel (50000 words, ~175 pages) in 30 days (which isn't too hard ,
> but it's not easy either). See www.nanowrimo.org for details.
Wow! That sounds really cool. Seems like all creative professions can
use this sort of exercise :>
> DarkGod wrote:
>> The Thu, 13 Jan 2005 23:30:13 -0800, after eating far too many
>> of confusion Jeff Lait wrote:
>> Would the author be allowed the use of a game engine(of his own
>> possibly ;) ?
> I was thinking of TOME when I was writing that :>
> If you set about to make an entire new game in using the TOME engine in
> seven days, that would seem quite acceptable to me. Likewise, if Hajo
> were to spend seven days writing a complete H-World module, I'd honour
Well then maybe after T-Engine stabilises just a bit more, I'll do it :)
I've made a rogue clone for T-Engine already(well it's not finished,
more like a proof of concept), to get a feel of how it is easy(or not)
to use T-Engine.
> However, to contrast, if I were to spend seven days working on POWDER
> and then declare the 061 to 062 to be a seven day roguelike, I don't
> think people would be suitably unimpressed :>
I agree with this. A fixed timeframe and date would be best.
Sucky idea. All resulting roguelikes will be incredibly limited, shallow
and will suffer from a serious lack of substance.
It's well possibly to write a good story in a few days but you can't
create a good roguelike in that time frame.
Who actually plays "Dungeon Monkey"? Nobody! Why do you want to create a
bunch of games not worth playing?
No thanks, I'll pass.
A good roguelike is not related to a good story ...
And a good roguelike does not mean an ultra complex monster either.
Simple can be good too, just as complex can be good.
You're missing the point of this type of exercise. It's not for the
players, it's really for the developers. It's largely the same with
NaNoWriMo... they don't expect great works of literature in 30 days,
merely something that's passable (a lot of people do it along side
their regular work day... it's light enough to do that way, but it
doesn't leave a lot of space for rewriting or editing).
Anyways, here's the relevant (abbreviated) section of the NaNoWriMo FAQ
(sure it's about writing, but the concepts still apply... the entire
FAQ might be of some interest in fact):
If I'm just writing 50,000 words of crap, why bother? Why not just
write a real novel later, when I have more time?
There are three reasons.
1) If you don't do it now, you probably never will. Novel writing
is mostly a "one day" event. As in "One day, I'd like to write
a novel." Here's the truth: 99% of us, if left to our own devices,
would never make the time to write a novel. It's just so far outside
our normal lives that it constantly slips down to the bottom of our
to-do lists. The structure of NaNoWriMo forces you to put away all
those self-defeating worries and START...
2) Aiming low is the best way to succeed. With entry-level novel
writing, shooting for the moon is the surest way to get nowhere. With
high expectations, everything you write will sound cheesy and awkward.
Once you start evaluating your story in terms of word count, you
take that pressure off yourself....
3) Art for art's sake does wonderful things to you... Doing something
just for the hell of it is a wonderful antidote to all the chores
and "must-dos" of daily life. Writing a novel in a month is both
exhilarating and stupid, and we would all do well to invite a little
more spontaneous stupidity into our lives.
With a RL, I can add a few more:
- Gives the ability to experiment with a new language. Your coding
isn't going to be too pretty at first anyways, so a crash course project
you can throw away after is ideal. You can write something real later,
once you've gotten a handle on the language.
- Gives the opportunity to experiment with ideas for game systems
and mechanics. It's much easier to evaluate a system when it's more
isolated. If the system works well in a very simple game, you can use
it in a proper RL later... and if it doesn't, you'll have a much better
idea of where it failed.
- Small RLs are decent learning tools for new developers. A number
of people have sent me email to tell me that they used snippits from
my little rlhex... for the most part it appears that it makes a decent
curses tutorial (the LOS code has also been useful for some). The larger
RLs have fancier systems, but the mass of code makes it hard to approach
and learn from... a small one file RL is something a beginner can absorb
and learn a lot from in a single day. Which leads to...
- Having more little RLs, in more languages and styles is a generally
good thing. New coding development almost always comes from building on
already existing code. Having actual ideas encoded in little demos is
far better than having those ideas merely expressed as words bobbing up
now and then in this newsgroup. Someone might actually be tempted to
take the tested working algorithms of some of the interesting ones and
turn them into something good.
- It's only one week out of the year, and it could be fun.
The last week of October might be a bit tricky because of Halloween
(which is currently the only thing that seems to be keeping Christmas
out of October these days). It also runs right up against NaNoWriMo,
and I know people who'd probably be interested in doing both (but not end
to end). Of course, this all comes down to the problem that no week is
going to be universally acceptable. What we probably need to do is poll
people who might be interested and find out what the demographics are like
(where they are from can help limit which holidays we need to avoid, or do
we have a lot of students and thus should avoid the typical exam months).
Not eveyone will be able to participate, but that's okay... so long as
most people are free. Then you just need to make an announcement far
enough in advance that people can adjust their schedules and get their
ideas in order.
// Considering it personally, I think the best timing would be to do a
// Sunday at Noon to Sunday at Noon. This would give the chance to get a
// good start for the week, and maximal time for the final run.
Personally, I'd like a bit longer on the starting weekend to get things
better laid out before the week begins. However, that could mostly come
down to personal choice... after all, NaNoWriMo runs from midnight to
midnight on your local time (not on a fixed clock... although it does
declare an end at midnight GMT-12, because that's the last timezone). We
could run even more flexible just by setting a start weekend and leaving
it up to the person as to when they want to start on Saturday/Sunday
(with their finish being the same time on the end weekend). We could
use you're orignal idea and get people to post when they start.
Good point about Halloween. That knocks that date right out.
> Of course, this all comes down to the problem that no week is
> going to be universally acceptable. What we probably need to do is
> people who might be interested and find out what the demographics are
> (where they are from can help limit which holidays we need to avoid,
> we have a lot of students and thus should avoid the typical exam
> Not eveyone will be able to participate, but that's okay... so long
> most people are free. Then you just need to make an announcement far
> enough in advance that people can adjust their schedules and get
> ideas in order.
Sounds like a good idea.
Consider this a poll.
Who is interested in participating in a Seven Day Roguelike Challenge?
> // Considering it personally, I think the best timing would be to do
> // Sunday at Noon to Sunday at Noon. This would give the chance to
> // good start for the week, and maximal time for the final run.
> Personally, I'd like a bit longer on the starting weekend to get
> better laid out before the week begins. However, that could mostly
> down to personal choice... after all, NaNoWriMo runs from midnight to
> midnight on your local time (not on a fixed clock... although it does
> declare an end at midnight GMT-12, because that's the last timezone).
> could run even more flexible just by setting a start weekend and
> it up to the person as to when they want to start on Saturday/Sunday
> (with their finish being the same time on the end weekend). We could
> use you're orignal idea and get people to post when they start.
I think the idea of staggering the weekend makes good sense. Ie, the
official time is one specific week, and each contestent can choose
their start time in the weekend of their local time zone.
(I'm in GMT+9, so my sunday noon would be your Saturday Night anyways
So? I didn't say this was the best way to create roguelikes :>
I think, however, that it is a good exercise for roguelike authors.
The limited scope makes you address what you think a roguelike is. The
ability to quit after 7 days allows you to experiment with bizare play
I also think it would be useful to have a large collection of small
roguelikes to send newbies to.
> It's well possibly to write a good story in a few days but you can't
> create a good roguelike in that time frame.
If you can write a good story, surely you could write a good story
> Who actually plays "Dungeon Monkey"? Nobody! Why do you want to
> bunch of games not worth playing?
I spent a day playing Dungeon Monkey. There exist commercial games
that I have purchased that I have spent less time playing.
Sure, it isn't the next Nethack. But it does have its own charm.
> No thanks, I'll pass.
Well, that's up to you. No one is going to force you to write such a
Well, I certainly am. I'm changing the subject line to highlight this
part of the thread.
// (I'm in GMT+9, so my sunday noon would be your Saturday Night anyways
Ah, JST... I know it quite well, especially during odd numbered
months... although DST always mixes me up.
> // Consider this a poll.
> // Who is interested in participating in a Seven Day Roguelike Challenge?
> // I am.
Yeah, ok. Sounds like fun. It'd hurt (having to code for speed rather than
'perfect' abstraction and an elegant codebase), but at least it'd stop me
from endlessly refining my current effort.
[[ I find that to be the problem with my current project, because I have no
deadline set, I spend huge amounts of time on rewrites to make the internal
engine 'perfect', rather than just sitting down and bashing the thing
A 7-day effort would force me to write quickly and live or die by the
original structure choice.
I'm in Perth, Australia. Umm.... GMT + 8 ?
>If you set about to make an entire new game in using the TOME engine in
>seven days, that would seem quite acceptable to me. Likewise, if Hajo
>were to spend seven days writing a complete H-World module, I'd honour
It would be more interesting if Hajo made a TOME module and DarkGod
made an H-World module.
R. Dan Henry
I'm in as well!
> // (I'm in GMT+9, so my sunday noon would be your Saturday Night anyways
> // :>)
> Ah, JST... I know it quite well, especially during odd numbered
> months... although DST always mixes me up.
> Brent Ross
I'm keen too. Whenever, wherever. I'm GMT+12, if it matters.
I agree, the other way round it'd be somewhat unfair.
But I must admit, I don't think I can learn using the T-Engine in 7
days, much less create a game in 7 days. From competitions at RPG
websites I know that it should be possible, but it's not among my skills.
I'll sit, relax and just watch the contest :)
> R. Dan Henry
> Sounds like a good idea.
> Consider this a poll.
> Who is interested in participating in a Seven Day Roguelike Challenge?
> I am.
I am interested too... at least there will be something to show, and I'm
sure it will let us learn a lot, and the resulting game can be used to test
new features for our main projects as well (after the narowriwe)
Im on GMT -5
I'm in. Though I'll set up my 16kB challenge anyway some day ;-).
> // (I'm in GMT+9, so my sunday noon would be your Saturday Night
> anyways // :>)
> Ah, JST... I know it quite well, especially during odd numbered
> months... although DST always mixes me up.
Hey, that's exactly the way it is with my project!
Maybe I should call it `one day' ^^)))
Radomir @**@_ Bee! Create your own computer role playing
`The Sheep' ('') 3 game using the great H-World engine!
Dopieralski .vvVvVVVVVVvVVvv.v. http://h-world.simugraph.com/
>Consider this a poll.
>Who is interested in participating in a Seven Day Roguelike Challenge?
Me too, although whether or not I actually participate depends on how
much free time I have and various other real-life-related factors. So
the best I can do is say maybe.
Chris Reuter http://www.blit.ca
"Feel free, as long as you only quote it in long trotskyite diatribes about
the evils of objectivism."
--Charlie Stross, granting permission to be quoted in a .sig
Well, I'd maybe try an H-World module in a week if only I could make
halfway presentable icons.
R. Dan Henry
You can use premade ones.
There's a set of ones I made at
If you're missing something, please let me know -- not necessarilly for
a 7day roguelike (as I doubt I'll be able to provide new images that
fast), but to make the engine more useable for others.
Here's another example:
Development and coding started on 13.1.2005 at about 20:40 local time,
last change was made 20.1.2005 at about 01:30 local time.
I may continue working on it, probably not though because I got bored and
am out of ideas. For that reason I've saved this version here to not to be
overwritten if I do continue working with it:
Note that the development was done from scratch with a sudden idea
"hey, I'll make one", it was my first roguelike. So there was no planning
beforehand and it has only few different races etc. But it's fully
Also, you must look the source for full "featurelist", since only part of
the features and stuff were announced anyways (some of them are supposed
to be "found by the player", I like games where I can discover things
instead of reading them all from somewhere).
Here's a quick summary of files for those who look at the source:
cave.c the infinite cave specific stuff
character_ai.c NPC intelligence
character.c character object stuff and character actions
game.c game logic except for cave and pyramid specific stuff
game_new.c most of the code used for starting a new game
get_rand.c the most important routine
highscores.c highscore list load/save routines
main.c initialization, mainloop
map.c map object handling, generation, support functions
map_path.c path creation in map with A*
message.c in-game "message window" routines
mingw32.c stuff to make this cross-compile for Windows
obdur_io.c couple short routines to read from/write to file
object.c game-object routines (i.e. weapons, scrolls, armour, etc)
also each character has one so that they're drawn on map
pyramid.c the pyramid specific stuff
remap_key.c the "redefine key" requester
signal_handlers.c .. to catch INT and QUIT signals
ui.c UI object handling, drawing (contains map drawing etc.)
.h files are of course header files and contain the declarations,
enums, global macros etc.
HTH and good luck to all with your challenge =)
Almost forgot, I started doing this mostly because I got inspired by
your talk about doing this 7 day roguelike challenge, which seemed to
indicate that a roguelike project can be done in less than a year (which
is the impression one gets reading this newsgroup).
So thank you for that, I had fun and pleasant time while doing this =)