Category Archives: contests

Ongoing 7DRL Challenge

The challenge has started! Many entrants declared start date and game title. Announcement thread is over seventy posts by now but there is still time to proclaim participation until end of March 6th. A success thread for victorious challengers is already created.

Visit http://7drl.org/ weblog to read how development struggle goes or to learn that other authors are also desperately tracking down a bad pointer reference on the 167th hour.

The 2011 7DRL Challenge is Coming!

The 2011 7DRL Challenge, March 5 to 13

The 2011 7DRL Challenge Logo, by Nik Coughlin
Logo by Nik Coughlin

The time has almost come! Gather all your strengths and build a roguelike, be it your first one or your next one.

A good roguelike is an expression of pure gameplay: as a developer you can turn your ideas into games for the people to enjoy, without the constraints of 3d modeling or expensive graphics creation.

Developing a roguelike also allows you to portrait a theme within the limitations of abstract or simple gfx output, but having imagination as a tool to recreate infinite environments and stories

Summon your indie gamedev friends, be they roguedevs or not for this, the annual roguelike development party!

Links of interest:

ASCIIDreams Roguelike of the Year 2010 – Results

The results are in! going against all laws, conventions and best-practices of roguelike development, DarkGod rose and took the grand-prize for himself and the community around ToME-4. Congratulations!

Dungeon Crawl Stone Soup, Dwarf Fortress and DoomRL continue holding strong into the hearts of the roguelikers.

Thanks to Mr. Doull @ ASCIIDreams for keeping the tradition.

There were 167 entries and 1675 votes. This is the top ten for 2010, congratulations all!

Check this article for the full ranking

Rank Roguelike Votes %
1 ToME 4.0.0 384 22,9%
2 Dungeon Crawl Stone Soup 294 17,6%
3 Dwarf Fortress 171 10,2%
4 DoomRL 95 5,7%
5 Rogue Survivor 69 4,1%
6 Angband 44 2,6%
7 Goblin Camp 34 2,0%
7 UnNetHack 34 2,0%
9 Brogue 32 1,9%
10 POWDER 31 1,9%

77 entries for the 7th 7DRL Challenge!

The challenge is on with an outstanding number of 77 7DRL Challengers!

You can still announce yours!

Roguetemple presents you all of them, for your viewing pleasure! (All times are GMT-5)

Roguelikes at the Tigs Assemblee

The Assemblee TigSource compo has started, with many roguelikes on the line!Some of them have been powered by the great Oryx roguelike tileset. They look very promising! keep an eye on how the compo develops at the Tigs forums.

Here’s a list with some of the entries:

undergroundudcrangerotherObservationsoryx ohfmyUntitledlofidchubris

Assemblee 2: Summoning Roguelike Developers!

roguelikeAssemblee

Greetings… denizens of the Temple, people of the roguelike world…. Duke Derek of Tigsourcia has issued a call for all brave developers!

Tis’ our duty to respond to this call, to use the amazing material created by the noble artisans, and unleash our power into the realm of the TIGGERS!

“Our cup hath overfloweth with an amazing amount of awesome entries to Part 1 of Assemblee competition. But the journey is long, and we must persist. For Part 2 now awaits brave adventurers.

To assist ye in your task, I, Duke Derek, have linked to resources on the Part 2 page which shall aid in collecting the materials required for building your game.

And so I send ye forth to now assemble. Good luck young ducklings.

-Duke Derek of Tigsourcia”

I trust ye all know what to do…

ROGUELIKE DEVELOPERS, ART THOU READY?!!

(Our HQ, for private roguelike things, is here)

September ’09 Independant <1KBRL Fest

So, last month some individual took a chance at developing their own <1KBRLs. While this was not publicized as a community event, here you have the results of their work, all 6 of them!

Dead!

Dead!

1/2KB RL by Sfuerst

Back in 2006 I made the 2KiB roguelike, the first of the really small roguelikes.  I then left the roguelike world for a few years.  [I] noticed that others have taken up the challenge, and there now are a few 1KiB roguelikes, half the size of the original.  Not to be out done, I then endeavoured to make another halving, and create a roguelike that was less than 512 bytes of source code.

#include<stdlib.h>#define F(n)for(j=0;j<n;j++)#define r ran
d()int main(){int x,s=46,n,i,j,z=77,l[z];char m[z*s],h[z];i
nitscr();raw();F(z*s)j[m]=35;F(s)for(j[l]=i=(r%4+3)*z+(n=r%
17*z+r%s+z);n<=i;n+=z)for(x=n;x<=n+j/2;m[++x]=s);F(9)l[j][m
]=z,j[h]=2;m[*l]=64;*h=5;l[j][m]=62;F(z){x=n=l[i++,i%=9];if
(i)!i[h]||*l^(n+=r%3+r%3*z+~z)||--*h?0:abort();else{F(25)mv
addnstr(j,i,m+j*z,z);j=s-getch();m[n+=j/3*z-j%3+153]^62||ma
in();F(9)l[j+1]^n||--h[j+1]||n[m]--;}n[m]^s||(m[l[i]=n]=x[m
],x[m]=s);}}

Flying@ by purplearcanist

All you can do is move through the clouds that are randomly generated.  It will play on the terminal.

import java.io.*;import java.util.*;class hello{String i;Bu
fferedReader I = new BufferedReader(new InputStreamReader(S
ystem.in));Random r = new Random();int X=0,Y=0;hello(){try{
Byte[] x= new Byte[24*78];byte[] y = new byte[24*78];r.next
Bytes(y);do {for(int z=0; z<24; z++) {System.out.println();
for(int Z=0; Z<78; Z++){x[z*Z]=new Byte(y[z*Z]);System.out.
print((X==Z)&&(Y==z)?'@':x[z*Z].intValue()%2==1?'#':' ');}}
i=I.readLine();X+=a("a")?-1:a("d")?1:0;Y+=a("w")?-1:a("s")?
1:0;}while(!a("q"));}catch(IOException e){}}public boolean
a(String v){return i.equals(v);}public int b(Byte n){return
n.intValue();}public static void main(){hello h = new hello
();}}

Walled @ by Gelatinous Mutant Coconut

It’s pretty simple at this point: You’re an @ in an empty rectangular room surrounded by walls on all sides, and can move around by pressing 1 2 3 4 6 7 8 or 9, until you get bored. Press escape to quit.

#define R ((r=69069*r+1234567)<0?~r:r)
#define L i=a+1;while(--i)
#define _ m[i]
int main(){initscr();raw();int r=380116160,w=80,h=22,a=w*h,
m[a],u=99,c=7,i;do{i=49-c?50-c?51-c?52-c?54-c?55-c?56-c?57-
c?u:u-w-1:u-w:u-w+1:u-1:u+1:u+w-1:u+w:u+w+1;u=_-35?i:u;L{_=
i-u?i>w&&i<a-w&&i%w&&(i-1)%w?46:35:64;}L{i%w?addch(_):mvadd
ch(i/w,0,_);};}while((c=getch())-27);endwin();}

C# <1kB RogueLike v4.1 by Nik Coughlin

A year or so after the challenge a <512byte Roguelike was posted to the group. This brought about a renewed interest, with others posting new 1kB RogueLikes. I decided to revisit mine and see if any further optimizations could be made, allowing me to add more features.

using System;using System.Collections.Generic;using S=Syste
m.String;partial class L{Dictionary<S,S>d=new Dictionary<S,
S>();int p=9,b=999,x,y,g,u,v,i,j,c;S a="@",w="#",f=".",s=">
",m="M",t;Random r=new Random();L(int l,int h,int k){var e=
new List<S>();while(g++<b*l*2){t=(r.Next(b)-499)+a+(r.Next(
b)-499);e.Add(t);d[t]=m;}d[P]=a;for(;;){u=x;v=y;g=c-96;x+=(
g+2)%3==0?-1:g%3==0?1:0;y+=g>6&&g<10?-1:g>0&&g<4?1:0;t=T(P)
;if(t==m){e.Remove(P);d[P]=f;k++;}R();if(t==s){new L(l+1,h,
k);return;}if(t!=f){x=u;y=v;}d[u+a+v]=f;d[P]=a;for(g=0;g<e.
Count;g++){i=V(e[g],0);j=V(e[g],1);u=i<x?i+1:i>x?i-1:i;v=j<
y?j+1:j>y?j-1:j;t=u+a+v;if(T(t)==f){e[g]=t;d[t]=m;d[i+a+j]=
f;}if(T(t)==a)h--;}if(h<1)return;g=p*2-1;for(j=0;j++<g;){fo
r(i=0;i++<g;){t=T((i-p+x)+a+(j-p+y));u=t==w?l:7;while(u>15)
u-=15;F(u<1?7:u);W(t);}N("");}F(7);N("L"+l+f+"H"+h+f+"K"+k)
;c=I;}}S P{get{return x+a+y;}}S T(S c){return d.ContainsKey
(c)?d[c]:d[c]=r.Next(b*9)<9?s:r.Next(9)<7?f:w;}int V(S c,in
t i){return int.Parse(c.Split('@')[i]);}static void Main(){
new L(1,9,0);E();}}

Zombies Abound by Numeron

Zombies are abound and you WILL die eventually. I guess the only thing left is to deny the fact and grab as much scattered money as you can and try to stave off death for as long as possible…

class M{public static void main(String[]e){Console c=new Co
nsole();int a,b,x=0,r=0,q,p,g=0,t=0,l=1,s=20,h=s,S=s*s,i=35
;int[]z,m=new int[S];M:for(;;l++){p=210;z=new int[S];for(q=
0;q<S;r=(int)(Math.random()*S))m[q++]=q%s<2||q<s||q>S-s||r<
110?i:r<130?36:r<135?43:46;for(q=0;q<4+l*4;r=(int)(Math.ran
dom()*S))if(m[r]!=i&&r!=p){if(q<1)m[r]=62;z[r]=2;q++;}for(;
m[p]!=62;t++){for(q=0;q<S;q++){a=z[q];z[q]=a>0?2:0;x=Math.a
bs(p%s-q%s)<5&&Math.abs(p/s-q/s)<5?1:0;r=m[q];c.print(q%s,q
/s,x<1?r==i?i:46:q==p?64:a>0?90:r,x<1?4:p==q?7:a>0||r==37?2
:r==36?3:r==43?1:7);}c.print(1,s,"L:"+l+" $:"+g+" T:"+t+" @
:"+h+" ",3);if(h<1)break M;r=c.getKey()-48;x=p+(r>0&&r<4?s:
r>6&&r<10?-s:0);x+=r--%3==0?1:(r-3)%3==0?-1:0;a=m[x];if(z[x
]>0){z[x]=0;m[x]=a==46?37:a;}else if(a!=i){p=x;if(a==36)g++
;if(a==43)h++;m[p]=a!=37?46:a;}for(x=0;x<S;x++)if(z[x]>1){q
=x;a=x/s<p/s?s:x/s>p/s?-s:0;b=x%s<p%s?1:x%s>p%s?-1:0;r=x+a;
q+=m[r+b]!=i&&z[r+b]<1?a+b:m[q+b]!=i&&z[q+b]<1?b:m[r]!=i&&z
[r]<1?a:0;if(q==p)h--;else{z[x]=0;z[q]=1;}}}}c.print(p%s,p/
s,"DEAD",1);}}

Another Visit in Hell by Jakub Wasilewski

This is the most I was able to manage in 1024 bytes, and I don’t think I can go any further. Shortening the current version by 80 bytes without removing features would be a small miracle, I think :).

#define F(v,h)for(v=0;v<h;v++)
#define D(i)F(y,S)F(x,T){i;}
#define G d[x][y]
#define M d[x+f][y+g]
#define Z(n)n<0?-1:n?1:0
#define C(v,i)M^v||(i,M=e),
#define r rand()
int x,y,S=23,T=62,c,L,b,k[]=L"$`*$.@`>$]```",f,g,l=18,p=18,w
=1,e=46,v,u=96,K=256,d[90][90],z[90][90];m(f,g){G-64?M-64||(
l-=G-u)>0||(M=e):(M^T||N(),C(u,p+=L)C(42,l=p)C(36,v+=x%9*L+L
)C(93,w=(c=L+r%4)<3?1:c-2)M>u&&(M-=r%w+1)%K<=u&&(M=k[r%5+8])
);M-e?M-35||(g&&m(f,0),f&&m(0,g)):(M=G|K,G=e);}E(t){while(x=
r%T,y=r%S,G-e);G=t;}N(){L++;D(G=35)x=y=9;F(b,S){f=r%58+1;g=r
%21+1;while(f^x||g^y)G=e,r&1?(x+=Z(f-x)):(y+=Z(g-y));}f=0;F(
b,9)L<9&&E(k[b]);F(b,L*2)E(99+r%(L*7/5));}main(){srand(inits
cr());raw();start_color();F(c,8)init_pair(c+1,c,0);N();while
(c-81){D(G-64||(f=x,g=y))D(b=1;while(G^k[b++]&&b<8);F(c,u)d[
f+(x-f)*c/u][g+(y-g)*c/u]-35||(b=z[x][y]<L?1:5);b>6&&G<64&&(
z[x][y]=L);mvaddch(y,x,G|b*K))mvprintw(S,0,"H:%d/%d W:d%d L:
%d $%d %s",l,p,w,L,v,L^9?"":"WIN");c=mvgetch(0,0);D(G>u&&G<K
&&m(Z(f-x),Z(g-y)))D(G-64||m((c-1)%3-1,Z(2+(e-c)/3)))D(G&=25
5)}endwin();}