Bay 12 Games Forum

Finally... => Life Advice => Topic started by: atomicwinter on November 21, 2009, 05:58:06 pm

Title: Making a Roguelike?
Post by: atomicwinter on November 21, 2009, 05:58:06 pm
Been wanting to go about making my own Roguelike or game in general. I know nothing about programing, or which programming language to use or nothing. I however, have a surplus of spare time and I am willing to learn. Can anyone please point me in the right direction because right now I am confused.
Title: Re: Making a Roguelike?
Post by: cowofdoom78963 on November 21, 2009, 07:25:36 pm
What exactly are you confused about? I will try and help you in whatever way I can.
Title: Re: Making a Roguelike?
Post by: ein on November 21, 2009, 07:53:31 pm
Learn brainfuck (http://en.wikipedia.org/wiki/Brainfuck).
Seriously.

Ignoring that, most people use C++.
I've never used it myself, but apparently it's pretty easy to learn.
Title: Re: Making a Roguelike?
Post by: atomicwinter on November 21, 2009, 09:35:46 pm
What exactly are you confused about? I will try and help you in whatever way I can.
I am confused about how to make a roguelike, and what programming language to use.
Title: Re: Making a Roguelike?
Post by: Nadaka on November 21, 2009, 10:20:17 pm
What exactly are you confused about? I will try and help you in whatever way I can.
I am confused about how to make a roguelike, and what programming language to use.

Some of the standard features of roguelikes are partially or wholly  procedurally generated environments, keyboard based input and simple ascii and text displays. The first topic is rather complex and should probably wait until after you have gotten your feet wet. The second two are basic enough that you will be able to do with little difficulty after you start to code.

For languages, it honestly doesn't matter that much.
ein suggested c++ because its easy and common. I would caution that c++ has some issues that require a fairly in depth understanding, things like type/bounds safety, memory management, pointers, etc can be very confusing and error prone.

The three most common languages in professional settings are java, c# and python. I am not that familiar with python, but very familiar with java and c#. Java and c# have basic structure very similar to c++. However they have simpler memory management, type safety, bounds limitations and pointers abstracted. java development IDEs are available for free and be used almost anywhere, eclipse and netbeans are good examples. Microsoft does have a free version of visual studio that can be used to write c# applications.

My suggestion for you is java. its a lot more forgiving than c++, and more efficient and portable than c#.
Title: Re: Making a Roguelike?
Post by: atomicwinter on November 21, 2009, 10:25:30 pm
Thanks a lot for the help Nadaska! Do you know of any good tutorial sites that can help me get my feat wet?
Title: Re: Making a Roguelike?
Post by: Dasleah on November 21, 2009, 11:21:34 pm
who the hell tries to be helpful when someone asks how to make a roguelike

that's just sad man

Spoiler (click to show/hide)
Title: Re: Making a Roguelike?
Post by: atomicwinter on November 22, 2009, 12:05:29 am
who the hell tries to be helpful when someone asks how to make a roguelike

that's just sad man

Spoiler (click to show/hide)
Thanks, sorry for being such a noob lol
Title: Re: Making a Roguelike?
Post by: Armok on November 22, 2009, 09:15:36 am
For a rogelike made while learning your first programming language I'd recommend python, because the weaknesses of python are things you use very little in rogelikes (for example graphics), and the strengths of python are things you use a lot (for example being easy to learn, and complex thing like procedural terrain).
Title: Re: Making a Roguelike?
Post by: Yaddy1 on November 22, 2009, 10:00:05 am
Good tutorial for Java http://java.sun.com/docs/books/tutorial/
Title: Re: Making a Roguelike?
Post by: Nadaka on November 22, 2009, 10:06:51 am
you may want to look at events and listeners for your input instead of polling for it.

http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
Title: Re: Making a Roguelike?
Post by: atomicwinter on November 22, 2009, 10:54:21 am
Java can be compiled to an .exe correct?
Title: Re: Making a Roguelike?
Post by: Nadaka on November 22, 2009, 12:14:35 pm
Java can be compiled to an .exe correct?
It can... But you need to use an external program to do so. And it won't be able to take advantage of JIT optimization, so the compromise between not running the jre vs JIT optimization may or may not mean it runs faster or slower. There are other options though, a batch file, executable JAR, etc. Any particular reason you want/need an exe?
Title: Re: Making a Roguelike?
Post by: atomicwinter on November 22, 2009, 12:45:04 pm
Java can be compiled to an .exe correct?
It can... But you need to use an external program to do so. And it won't be able to take advantage of JIT optimization, so the compromise between not running the jre vs JIT optimization may or may not mean it runs faster or slower. There are other options though, a batch file, executable JAR, etc. Any particular reason you want/need an exe?
No, an executable JAR seems like it would work just fine.
Title: Re: Making a Roguelike?
Post by: eerr on November 23, 2009, 08:24:14 pm
In theory, I should know this.
I took two semesters of java.

But of course, the only useful thing we learned to do was make user interfaces.
Title: Re: Making a Roguelike?
Post by: atomicwinter on November 23, 2009, 10:11:58 pm
Lol nice eerr

I found a copy of Sams learn java in 21 days for free. So its all good  ;)
Title: Re: Making a Roguelike?
Post by: RyanJT on November 28, 2009, 01:36:06 am
Please do note, learning a programming language for the first time is usually difficult. You must realize that you will not create a game, especially a Roguelike, in just a few weeks.

There are a plethora of languages in which you can use; it really does depend on what platform you want to develop for. I usually suggest C# and DM (http://www.byond.com). The latter, I have a fair amount of experience with and would be willing to help you out.
Title: Re: Making a Roguelike?
Post by: Ampersand on November 28, 2009, 10:02:24 am
I suggest downloading the source code for Nethack, and as you learn what the code means, make some tweaks to it, recompile it, see what happens. Playing with the code is the best way to learn how it works.
Title: Re: Making a Roguelike?
Post by: Neonivek on November 28, 2009, 11:29:04 am
Id think the best Roguelike would have three options

1) Play
2) Check the Wiki
3) Exit

If you press play the game will show you a screen saying lose
If you check the wiki you are shown one of two screens, either lose or win.
If you press exit you are shown a screen that says Win

Joke aside, remember that people will judge your roguelike by crippling difficulty and they WON'T care how much information they need to look up to win to my knowledge as long as you give them 1-3 floors of possible win. Then again I am probably wrong, IVAN was very tough but that was because the keys to victory couldn't be learned inside the game.
Title: Re: Making a Roguelike?
Post by: qwertyuiopas on November 28, 2009, 12:14:15 pm
Imagine an intuitive roguelike....

Now, what do you think would happen if someone made one? I would say it would damage the space-time continum to the point that the universe would be destroyed. Or maybe, if we are lucky, just this galaxy.
Title: Re: Making a Roguelike?
Post by: Newtons.Bit on November 28, 2009, 12:17:23 pm
Been wanting to go about making my own Roguelike or game in general. I know nothing about programing, or which programming language to use or nothing. I however, have a surplus of spare time and I am willing to learn. Can anyone please point me in the right direction because right now I am confused.

If you're going to be making games, use c#, or more specifically: XNA.  This is Microsofts toolkit for game development on the XBOX.  It's free (as long as you're not using it for PC games and not XBOX games) and it has an amazingly large amount of built-in tools (such as an easy connection to DirectX) and an amazingly large amount of tutorials.

I recommend starting with the XNA Creators Club Getting Started Page (http://creators.xna.com/en-US/education/gettingstarted).  And this is a site (http://www.riemers.net/) with amazing tutorials.

Using XNA, I created [http://newtonsbit.blogspot.com/2009/11/fractal-viewer-v01.html]this[/url] in about a week (I have a full-time job as well) .  The only real disadvantage to using XNA is that it is Windows only.

I started doing objected-oriented programming about a year ago and have come an amazing way with it.  Expect to struggle with starting: the concepts are difficult at first, however they are easy to become proficient.
Title: Re: Making a Roguelike?
Post by: eerr on November 28, 2009, 04:23:39 pm
Imagine an intuitive roguelike....

Now, what do you think would happen if someone made one? I would say it would damage the space-time continum to the point that the universe would be destroyed. Or maybe, if we are lucky, just this galaxy.
have you ever played spelunky?
Title: Re: Making a Roguelike?
Post by: Neonivek on November 28, 2009, 04:41:23 pm
Spelunky is hardly a roguelike unless Megaman 9 has a "Roguelike mode"

Too far beyond what Ill accept as a Roguelike. It is a somewhat difficult platformer with somewhat randomised stages and a shop.
Title: Re: Making a Roguelike?
Post by: Tilla on November 29, 2009, 04:05:20 am
Spelunky is hardly a roguelike unless Megaman 9 has a "Roguelike mode"

Too far beyond what Ill accept as a Roguelike. It is a somewhat difficult platformer with somewhat randomised stages and a shop.

It is fairly close to the definition I like best but I agree it isn't really a roguelike.

For reference, http://www.roguetemple.com/roguelike-definition/ is pretty cool.