I'm not a regular here, but a colleague of mine reads r.g.r.d often, and he told me about the 1kBRL contest. I'm a game developer and also a roguelike fan, so it seemed like a fun challenge. I realize I am a bit late (unfortunately), but I think my game is still at least somewhat interesting. It's written in standard C (at least it compiles with -ansi under GCC) and has exactly 1024 bytes to the dot.
I tried to keep as much elements from classic roguelikes as possible. The game features:
- randomly generated, fully traversable levels of rooms and corridors - fully functional line of sight - collectable gold - items: souls and gems - chests with random contents - monsters with semi-competent AI (won't run into walls all the time) - character progression and levels getting progressively harder - winning/death - coloured graphics
I hope you all like it. The full archive can be found here:
It contains Windows binaries and source code for both Linux and Windows. Only the Linux source code is 1024 bytes, though - I ran into some incompabilities between Windows and Linux and had to provide different source for Windows. There is also a README explaining the game.
> I'm not a regular here, but a colleague of mine reads r.g.r.d often, > and he told me about the 1kBRL contest. I'm a game developer and also > a roguelike fan, so it seemed like a fun challenge. I realize I am a > bit late (unfortunately), but I think my game is still at least > somewhat interesting. It's written in standard C (at least it compiles > with -ansi under GCC) and has exactly 1024 bytes to the dot.
> I tried to keep as much elements from classic roguelikes as possible. > The game features:
> - randomly generated, fully traversable levels of rooms and corridors > - fully functional line of sight > - collectable gold > - items: souls and gems > - chests with random contents > - monsters with semi-competent AI (won't run into walls all the time) > - character progression and levels getting progressively harder > - winning/death > - coloured graphics
> I hope you all like it. The full archive can be found here:
> It contains Windows binaries and source code for both Linux and > Windows. Only the Linux source code is 1024 bytes, though - I ran into > some incompabilities between Windows and Linux and had to provide > different source for Windows. There is also a README explaining the > game.
> Have fun! :)
This is the best 1kbBRL I have played so far. It's also one of the few to provide source code that can compile on Linux. I like the way you can "slide" past walls if you try to go diagonally into a wall.
Jakub Wasilewski wrote: > It contains Windows binaries and source code for both Linux and
When compiling with gcc ajth.c -o ajth -lcurses
I got :
ajth.c:9: error: array of inappropriate type initialized from string constant
My gcc version is 4.3.2 (latest). I could compile it with an older gcc (4.1). Since it requires so little dependencies, maybe you could provide the linux binary as well...
When the game ends, it hangs the current console however.
It's a well done roguelike. Amazing to see the shadows and such.
On Sep 6, 10:42 pm, Jakub Wasilewski <krajz...@gmail.com> wrote:
> Hi everyone,
> I'm not a regular here, but a colleague of mine reads r.g.r.d often, > and he told me about the 1kBRL contest. I'm a game developer and also > a roguelike fan, so it seemed like a fun challenge. I realize I am a > bit late (unfortunately), but I think my game is still at least > somewhat interesting. It's written in standard C (at least it compiles > with -ansi under GCC) and has exactly 1024 bytes to the dot.
Very nice, and quite a fun little game. The dynamic of enemies acting first was interesting, since it led to the opposite sort of timing you'd normally expect in roguelikes (thus leading you to get a monster into a position where you attack when it's 2 spaces away). Pity there's not more levels of increasing challenge - managed to beat the game on my second attempt. Still, extremely impressive within the size limit, especially the random levels and and LOS.
> When compiling with > gcc ajth.c -o ajth -lcurses
> I got :
> ajth.c:9: error: array of inappropriate type initialized from string > constant
I thought this only occurs on Windows. The code relies on the assumption that wchar_t is the same as int, which turned out not to be the case on some systems/compilers. That error is one of the reasons I had to make a separate source for Windows.
I'll try to make a statically linked executable for Linux. I'll just have to figure out how to convince curses to link statically.
> When the game ends, it hangs the current console however.
Are you sure it hangs? You have to exit with shift+Q after dying or winning the game (that's the only way I could make death and winning fit). The console is used in raw mode, so it might appear as if it's hung (CTRL+C won't work etc.).
They now should include a statically linked Linux binary for those who have problems compiling. I just hope I didn't mess up with the static compile, I've always had problems making truly independent binaries under Linux...
> Pity there's not more levels of increasing challenge - managed > to beat the game on my second attempt.
Well, balancing is rather hard in such a small space, but I thought it was challenging enough... Perhaps I'm just not enough of a roguelike player ;). Anyway, you can easily make it harder. Just change the part of the source code that says:
F(b,L*2)E(98+r%L);
If you change the *2 to something higher, there will be more monsters on each level. If you change the 98 to something higher, the monsters on each level will be tougher. Glad that you liked it anyway! :)
Jakub Wasilewski wrote: > They now should include a statically linked Linux binary for those who > have problems compiling. I just hope I didn't mess up with the static
it seems you succeded because I could run it both on a recent Archlinux distribution, and on an "old" Debian Etch.
>Are you sure it hangs? You have to exit with shift+Q
yes you're right, it's working as expected.
what is the licence of your game? Is it possible to include it on a linux live cd for example?
On 7 Wrz, 23:25, Otto Grimwald <contact_is_on_webs...@anamnese.fr.st> wrote:
> >Are you sure it hangs? You have to exit with shift+Q > yes you're right, it's working as expected.
Actually, it's not working as expected (from the user perspective), because you thought it hanged ;). Still, it's working like I coded it, and there's no easy way to change that without going over the 1kB limit. I've added a notice to the readme explaining the need to press Q after each game.
> what is the licence of your game? Is it possible to include it on a > linux live cd for example?
I didn't really think about AJTH as more than a curiosity and a nice way to flex my programming muscles, so I didn't include a license initially. I've added one to the archives, it's explicitly zlib/libpng now. Which basically states "do-whatever-you-want", so including it anywhere is definitely okay :).
> - randomly generated, fully traversable levels of rooms and corridors > - fully functional line of sight > - collectable gold > - items: souls and gems > - chests with random contents > - monsters with semi-competent AI (won't run into walls all the time) > - character progression and levels getting progressively harder > - winning/death > - coloured graphics
I'm having a problem with "d" level monsters trapping my character on the 3rd level by moving into the same space. And I'm having the same randomization issues as mentioned in the read me, so it's very reproducible.
Do you have a version that is slightly more than 1K to fix these problems? Maybe limit yourself to 2K?
On Wed, 15 Oct 2008 09:35:57 +0200, Mingos wrote: > On 7 sep, 19:27, Jakub Wasilewski <krajz...@gmail.com> wrote: >> I updated the original downloads at:
> > "You have requested a page or object that was not found on the server. > > This may be the result of a typo or broken link." > ... because author seems to have deleted the archive.