Page 1 of 18 1234511 ... LastLast
Results 1 to 10 of 173

Thread: programming/coding

  1. #1
    Join Date
    Mar 2008
    Location
    Cleveland, OH
    Posts
    678

    Default programming/coding

    So all this talk of releasing the adom source inspired an old hobby of mine. A while ago (a long while ago, back when I still had my old IBM 386) there was something on the adom website linking a generic roguelike source and how to make your own roguelike. I have no idea what it was called, but it was written in C. At the time I knew some C I had some books at home to teach yourself C. I had a stupid simple roguelike going, nothing fancy. no races, no classes, very few items, maybe 10 different monsters. it was just something to play around with. there was no goal and no winning, and once the generated monsters were killed off there was no respawn code in. the only real problem I had with what was in place was door generation, couldnt get it to behave right for me. But now I wana mess around and have fun again!!! Im really not going for a rogue to dev and release to the general public It wont be anything spectacular i dont have time for that. But it would still be fun. SO i wana start it up again. questions!!!!


    Which programming language out there would be good for me to do this with? Ive forgotten pretty much everything about C except the ever present printf/
    ...The scripts Im aware of roguelikes using currently are LUA, Java (cryptRL and JADE!!!!!), C, and C++

    which is the easiest to dive in and learn? or is there another I missed?

    Are the resources on the net to learn it or do I gotta go buy a book? I've tried looking at the javadocs for JADE and while I can follow what they're talking about its way toooo much for me to grasp. I've looked at the source in ToME (lua) and it was a bit easier to follow, probably the reason so many mods are out there for *bands and tome.
    Last edited by Sradac; 01-13-2009 at 03:15 AM.
    To this day I have not once scummed in ADOM.
    Probably why I dont have a win.

  2. #2
    Join Date
    Mar 2008
    Location
    London, England
    Posts
    5,014

    Default

    The thing you were looking at before is QuickHack, made by Thomas Biskup to try and help aspiring developers. To my knowledge no one's ever gotten very far with it. If you're interested in making a game I'd suggest learning programming yourself in your language of choice (C isn't perfect) and starting from scratch, or picking up one of the *bands and playing around. Angband is specifically designed to be easy to play around with, mostly thanks to its extremely well-commented and structured source. If you want to learn to code from scratch then FreeBasic and FreePascal are very easy to pick up and are fully functional OO languages. Python or Ruby may be nicer for you though, and Java is also very good with a lot of supportive libraries. You may want to just play around a little with each and see which you like best.

    There is a whole roguelike development community with a lot of great resources available. Check out RogueBasin, a roguelike development wiki, with some good starting guides. In particular check "How to make a roguelike in 15 steps", the Developer's FAQ and the Developers' Articles. There is also regular discussion at the newsgroup rec.games.roguelike.development, normally fairly advanced stuff.

    The most important point in trying to make your own roguelike is to start small. Make a simple program with an '@' sign walking around a screen. Then add a few walls as obstacles, and then go about adding the more tricky line of sight and dungeon generations algorithms. When you feel ready start on monsters and items, making everything extremely basic to start with. Don't give yourself grandiose dreams of something on the scale of ADOM - concentrate on making a little game that works first.

  3. #3
    Join Date
    Mar 2008
    Location
    Las Vegas, NV
    Posts
    17

    Default

    if you were new to programming, I would have suggested visual basic to learn on.

    That said, a lot of games use C, or C++. I would recommend Java if you know it, but to be honest, any language you know pretty well should suit your needs.

    That said, I'm totally gonna write a roguelike called BrowseRogue in PHP someday just to say I did!

  4. #4
    Join Date
    Mar 2008
    Location
    Cleveland, OH
    Posts
    678

    Default

    awesome grey, you rock. Yeah from what I remember C was kind of a monster to work with and hard to follow for me half the time.
    To this day I have not once scummed in ADOM.
    Probably why I dont have a win.

  5. #5
    Join Date
    Mar 2008
    Posts
    721

    Default

    Quote Originally Posted by IronJelly View Post
    if you were new to programming, I would have suggested visual basic to learn on.

    That said, a lot of games use C, or C++. I would recommend Java if you know it, but to be honest, any language you know pretty well should suit your needs.

    That said, I'm totally gonna write a roguelike called BrowseRogue in PHP someday just to say I did!
    Sorry, this is just bullshit. Visual Basic is a bad, bad, bad language. Period. It's true. If you want details, try google.
    And yes, I have spent quite some time with it. It does not even fall under the category 'usable'.

    C++ is a mighty but complicated and easy-to-shoot-yourself-in-the-foot language. If you really want it, just make sure you've learned C before. It's never been a language I knew inside-out, but YMMV.

    Java is... well, I like it more than C/C++, but it takes *lots* of time to write even the simplest piece of code in it. Stay away from it if you can.

    PHP is fine for some throw-away website stuff, in my opinion, but I do not like how URLs map to files. I also don't like webinterfaces, but that's another issue.

    My language of choice is Python, for being extremely flexible, making you write clean code and - above all - getting you results quickly. It's also very easy to learn. At least give it a try. If you have questions or concerns about python, just ask. (PM me if you want).

    There is, by the way, at least one python-based RL, although it's dead.

    I have looked at QHack earlier, I don't like it. I find it ugly, but that might also be because of C.

    Sradac, would you *please* limit yourself to one exclamation mark ("!!!" -> "!")? Thanks!
    Of course it's unfair - that's the whole point.

    The Adom wiki: everything you don't want to know about Adom.
    http://ancardia.wikia.com/

  6. #6
    Join Date
    Jan 2009
    Posts
    11

    Default

    I've been arguing with myself about dabbling in roguelike design as well, the main problem is I'm wanting to go with an odd genre for mine. I'm thinking of trying to do a superheroic roguelike, with the initial version being based on the Silver Age and then if that goes over well, doing the other comic book eras.

    Do you think there'd be enough response to make it worth taking the time to program?

  7. #7
    Join Date
    Mar 2008
    Location
    Cleveland, OH
    Posts
    678

    Default

    there WAS a superhero module for ToME out a while ago, but it got changed into something very different. character progress is the same, but its based on collecting genetic material from enemies instead of money, and using those gene/mutation points purchase evolutions for yourself. whether its extra appendages, fire breath, claws, teeth, mental powers, whatever. its pretty well developed and can be alot of fun. but im just not much of a *band fan too much dungeon diving and grinding for me.
    To this day I have not once scummed in ADOM.
    Probably why I dont have a win.

  8. #8
    Join Date
    Jan 2009
    Posts
    11

    Default

    That sounds like it may be fun for getting an inspiration for mine if I make it, I searched with google but didn't seem to find anything similiar. Could you give me the URL?

  9. #9
    Join Date
    Sep 2008
    Location
    San Francisco CA
    Posts
    251

    Default

    Eh, everyone seems to be bashing Java a little bit. Might not be the best language for beginners, but you can create come incredible architectures with it. Best object-oriented out there, in my opinion. My advice would be to learn C and then move to Java due to the similar syntax.

    And I've always found Java's high level functions fast to use rather than time-consuming... Make sure you use Eclipse, though!

  10. #10
    Join Date
    Mar 2008
    Posts
    721

    Default

    Quote Originally Posted by psy_wombats View Post
    Eh, everyone seems to be bashing Java a little bit. Might not be the best language for beginners, but you can create come incredible architectures with it. Best object-oriented out there, in my opinion. My advice would be to learn C and then move to Java due to the similar syntax.

    And I've always found Java's high level functions fast to use rather than time-consuming... Make sure you use Eclipse, though!
    Incredible architectures? Ehm, sorry, I disagree.

    • Anything you can do in Java should be possible in nearly any other object-oriented programming language.
    • Java is OOP-only. Sometimes, mixing in some functional programming is very useful and makes your architecture cleaner.
    • Needs lots of scaffolding. Also, there is no concept of 'modules' (well, there are packages, but that's not the same), each class goes into it's own file, which might sometimes get very ugly.


    When I started using Java, I liked Eclipse pretty much. Someday I switched to vim, and never looked back. Eclipse is just too slow, even on a high-end machine. I know vim is a weird editor, but I love it.

    What I also do not like about java:

    • Need to compile.
    • Unit testing is SO complicated that you will almost certainly not bother with it. Bad idea. Python's "py.test" makes it easy (you better forget about python's standard unit testing framework, it's a clone of java's).
    • Statically typed.
    • Overloading instead of default parameters. This will almost certainly make you write *lots* of boilerplate code, just to work around the fact that Java simply does not have default parameters.
    • Difference between objects and primitive types.
    • No interactive interpreter.
    • Methods can't return multiple values, there are no tuples.
    • getFoo and setFoo.
    • Checked exceptions.
    • String comparison (not only strings. Comparison defaults to identity comparison, not value comparison. In python, it's the other way around, which is good).


    This is just from the top of my head, given more time, I am nearly sure I could make the list longer.

    Eww, so again, I could not resist to comment on this; the old, old programming language war...
    Of course it's unfair - that's the whole point.

    The Adom wiki: everything you don't want to know about Adom.
    http://ancardia.wikia.com/

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •