Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: How and where to begin?  (Read 3453 times)

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: How and where to begin?
« Reply #15 on: September 07, 2010, 03:14:45 pm »

They.. really, really aren't. Pretty much nothing you'd see applied to Lisp describes Haskell; not the syntax, not the semantics (Lisp is dynamic, weakly typed and interpreted, Haskell is compiled and extremely strongly, statically typed; Lisp is imperative, Haskell is functional... I could keep going*), not the syntax (at ALL), definitely not the age of the concepts involved (Haskell is much newer).

And yeah, I keep bringing up Haskell. I like Haskell. I also like Lisp, but I like Haskell more.. not least because it's actually possible to use Haskell to solve real-world problems.

But they're only alike by way of being unlike C.

Also, here's a small roguelike written in Haskell: http://hackage.haskell.org/package/LambdaHack
It uses ncurses for output. You might find it interesting, or not.

* Probably the only way they resemble each other is in that they both allow multi-parameter method dispatch, which seems to be uncommon. Even there, though - Lisp has that in its OO stack, and dispatches based on the runtime type; Haskell does it based on the compile-time type, and also lets you discriminate based on the return value. Which is quite useful, actually. Haskell also doesn't do any kind of OO; I haven't missed it.
« Last Edit: September 07, 2010, 03:22:09 pm by Baughn »
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

ILikePie

  • Bay Watcher
  • Call me Ron
    • View Profile
Re: How and where to begin?
« Reply #16 on: September 07, 2010, 04:21:35 pm »

Well they /are/ both very powerful and rather confusing. :-\
That roguelike sounds cool, but I really have no idea what to do with hs files. I know I need to run runhaskell or something, but that's about it. This will absolutely be the next language I'll learn.
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: How and where to begin?
« Reply #17 on: September 07, 2010, 04:41:27 pm »

You'll want to install it using cabal-install..

Um, you probably also want to be on Linux. Haskell is kind of badly supported on Windows.. okay, it works, but it's harder than you want it to be. Not nice for newbies.

Look me up in the #haskell channel on freenode if you want help. :)
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

Virex

  • Bay Watcher
  • Subjects interest attracted. Annalyses pending...
    • View Profile
Re: How and where to begin?
« Reply #18 on: September 07, 2010, 04:44:28 pm »

Found you 2 more sites that may be interesting: A blog from someone inside the industry and a list of guidelines for writing better games. For this one, rule 68 is of special importance ;)
« Last Edit: September 07, 2010, 04:56:49 pm by Virex »
Logged

GTM

  • Bay Watcher
    • View Profile
Re: How and where to begin?
« Reply #19 on: September 07, 2010, 07:59:24 pm »

To the OP:

Correct me if I'm wrong, but it sounds like you're really just trying to make a tile game which happens to use ASCII symbols as the tiles.

If that's the case, any good tile game tutorial will teach you what you need to know.

As far as depicting those ASCII / ANSI style tiles like DF or a roguelike, there are three ways to go here:

-use curses if you're looking for something low tech, old, and inconsistent but EASY to use and with really small overhead (it's literally just like: pick the color red, go to row4 column10, draw a smiley face symbol). This is what some older roguelikes used.

-Or use a library like libtcod if you want to take advantage of modern day colors, lighting, etc on your old skool ASCII art but don't want to dig into the guts of it yourself. This is popular in roguelikes nowadays.

-or make a tile engine in your favorite graphics library (sdl, OpenGL, etc) and rip the old DOS ANSI extended characters into a tileset.  This is the most fun but also time consuming and you may be reinventing the wheel.

That's the graphics. Not sure which method DF used, maybe #3?
Logged

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: How and where to begin?
« Reply #20 on: September 07, 2010, 09:57:00 pm »

I started in a language identical to C++.
It was a ratty piece of crap, but the syntax was identical.

For C++ tile based games you would want to use a library called pdcurses.
You can use the standard windows console, but it has a couple of ugly limitations,
 primary one being screen clear and refresh rates.


I would weight Baughn's advice heavily, Baughn being very skilled.
Haskell sounds like a good language, and there is the example rogue-like provided too.
 (not that I couldn't write you a good one for C++ in a couple of hours)

What I mean to say is that I was able to learn starting in C++,
 and that a 2D roguelike is a simple enough place to start learning if you stick with it.
That is my subjective experience.


One more thing that I really want to say: Do it!
I enjoy programming very much, and it is a relatively unexplored place for most people.
Whichever place you decide to start, give it a good chance and don't run off at the first problems.
Go in anticipating problems and a few headaches as well, and you might have a better chance of surviving.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

ThirdProphecy

  • Bay Watcher
    • View Profile
Re: How and where to begin?
« Reply #21 on: September 08, 2010, 12:36:57 am »

There is absolutely no reason to use C or C++ for this. It'll only lead to grief.

Seriously. The only reason that C++ is commonly used for games is to push more performance from your processor, but.. you don't need that, and it takes quite literally two to ten times more effort than doing the same thing in, say, Python.

I'd recommend Haskell, but that's probably too much for most people. So I think I'd rather ask you to switch to Python. You'll learn much faster.

Can you recommend some starting books? I know there is an intro to python by the same guy that wrote 'beginning C++ through game dev.' Perhaps go get that one?  Does python have the same support/resources that C++ does as far as game devlopment kits/libraries?
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: How and where to begin?
« Reply #22 on: September 08, 2010, 02:28:37 am »

Sorry. I'm not very into Python.

I know that it works nicely, but.. that's about it. I don't know what books you should look up, as I generally hit the references instead. As for libraries.. C++ has more, but not of the type you want; 3D engines are irrelevant. I don't know if Python has a roguelike-displaying engine like libtcod. Haskell obviously does, but that's a much harder learning curve (not that it's not worth it).

(Oh, and the above linked haskell-roguelike has bit-rotted. It's still instructive.. I might go and fix the code, it shouldn't take much.)
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

ILikePie

  • Bay Watcher
  • Call me Ron
    • View Profile
Re: How and where to begin?
« Reply #23 on: September 08, 2010, 02:32:59 am »

C has been around for about two decades more than python has, so I assume it'll have more libraries and whatever. Don't let that stop you though, python is great, and if you're looking for game development, I hear pygame works very well.

e, there also Lua. I've messed around with it for about a year, and it's what got me into programming. It's very easy to use and not very complex. There's Love, which adds some nice 2d physics support to Lua.
« Last Edit: September 08, 2010, 02:38:15 am by ILikePie »
Logged

Bandobras

  • Bay Watcher
    • View Profile
Re: How and where to begin?
« Reply #24 on: November 15, 2010, 05:47:49 pm »

(Oh, and the above linked haskell-roguelike has bit-rotted. It's still instructive.. I might go and fix the code, it shouldn't take much.)

Actually, it's in a pretty good working order again, though the new version is not released yet. Get the source from the author's page at https://github.com/kosmikus/LambdaHack or my fork with some extra features at https://github.com/Mikolaj/Allure/. BTW, I'm just designing a squad based (but not real time) roguelike game with tower defense elements based on the LambdaHack engine and both the design and coding is as much fun as advertised or even more. :) Have a look at the wiki at the second address. Contributions welcome!
« Last Edit: January 29, 2012, 10:29:26 am by Bandobras »
Logged
Pages: 1 [2]