Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - JDRL

Pages: [1]
1
Programming / Re: Picking The Right Language/Game Engine For My Idea
« on: April 25, 2013, 05:09:21 PM »
By the way Minotauros, got any good places for tips and tricks for Python(kind of like what you already suggested)
Sorry, I'm not very schooled and no good at programming, really, so I can't offer much advice. Apart from the ones you already mentioned, I always liked the "15 steps to write a RL". Books I have include "Programming Python" and "Python Pocket Reference", both of which I'd recommend. Apart from that, there are great articles describing mechanisms you might possibly need to write a RL. On Roguebasin there are great articles covering stuff like AI and pathfinding. Also, ye olde article series on Map building over at Ascii Dreams is a true classic (as are several of Andrew's articles hosted there).

In programming, I think the best solution is always one you yourself understand :)

As always,
Minotauros

Thanks for the links and I definitely agree with the last statement.

I, too, have been programming my roguelike in Python.  It's meant to be a real-time simulation (akin to Dwarf Fortress) rather than turn-based, so I will need to optimize for performance more than a typical roguelike.  My impression is that this is indeed possible.  My favorite commercial game, EVE-Online, is written in Stackless Python so I have to believe that it's possible to have a  high-performance Python game.  And I'm enjoying learning the language.

As for reference materials: I'm using Mark Lutz's "Learning Python".  He's pretty long-winded, could have covered the same material in half the number of pages, but otherwise I have no complaints about the book.  It taught me the language.

Most people using Python for games are using the Pygame library for input/output/graphics, if they aren't using a roguelike-specific library such as libtcod.  I'm using an alternative called pyglet, which seems a little more streamlined than pyglet and has fewer dependencies.  It wraps OpenGL so my code "simulates" an ASCII display rather than using a "real" curses-based terminal.  As far as I know, I'm the only person who has written roguelike code using the pyglet library.  Some of that code is up on github here, including my 7DRL (the "warp-core-breach" branch): https://github.com/joeclark77net/jc77rogue

I would share code from my more advanced project, but I'm not ready to open-source it yet...

I would love to attempt something along the lines of Dwarf Fortress(although that'll come much later on) so it's encouraging to hear that you're doing something similar with python. Have anything playable yet? As for sharing code, thanks a bunch but at this time it's probably way over my head. I'm still learning python and this thread was really just for long term planning. If I don't plan long term I'll end up dropping everything before I even get started.

2
Programming / Re: Picking The Right Language/Game Engine For My Idea
« on: April 24, 2013, 12:51:41 PM »
Perhaps I should have worded my question differently. I'm not looking for the "perfect" language or whatever. I just wanted to make sure that I wasn't wasting my time with a language that would end up limiting what I could do. Having seen examples of other roguelikes made with Python, I'm now sure this won't happen. If by some chance it does, I'll probably be far enough into programming that I can begin learning another language such as C++.

Thanks again for all the great input!

3
Programming / Re: Picking The Right Language/Game Engine For My Idea
« on: April 23, 2013, 05:12:41 PM »
You could always use Python as a starting point to learn the basics of programming games, and then move on to another language. Once you know how to program, you can generally learn any language pretty quickly. For instance, you could make this first project with python, while at the same time learning C/C++/C#/Java, so that when you want to move onto another project, you will have the background in the language to do so.

A good way of learning a language, by the way, is to make yourself some simple tools. I was in school while learning, so I would program study aids, and little games for distractions. Also setting simple goals to learn new things is good too. Want to learn networking? Make a simple LAN instant messanger, using IP addresses to talk to others. Small projects are usually the best learning tools :P

My initial reason for picking up python was that it came highly recommended as a first language to learn programming in.  It's looking like this is what I'll do.

There's nothing wrong with Python, I would say. After all, some of the most ambitious RLs currently in development use Python with libtcod. (Thinking of Ultima Ratio Regum and Cult, of course). It's true that you may need to optimize stuff like map building and AI for speed. Learn some tricks, like how to avoid for-loops (use map instead) and making sure no references remain to unused instances (leads to memory leaks in a language with garbage collection).

As always,
Minotauros

Oh wow, didn't realize URR was written in python. Cult looks amazing as well. I did some searching and also found another roguelike-like written in Python called 100 Heroes. All of these are way more ambitious than what I'm attempting right now so that's very reassuring. By the way Minotauros, got any good places for tips and tricks for Python(kind of like what you already suggested)? I've got both books from http://inventwithpython.com/ to get me started and I also know about the RL tutorial at the basin.

A BIG THANK YOU to all of the input you guys have provided. I'm feeling much better about my decision in picking up python and I'll definitely be sticking with it. Thank you for putting my doubts to rest.

+1 giant internet hug for you all.

/too much coffee

4
Programming / Re: Picking The Right Language/Game Engine For My Idea
« on: April 23, 2013, 02:45:06 PM »
While I am not personally a big fan of Python, it is a perfectly viable language to make a roguelike in. I wouldn't worry about the performance issues to much as there are plenty of ways to work around any problems (there are compilers for python or you could wrap native libraries).

If you want to try out an idea quickly, Python could work for simpler ideas. If your prototype is going to include a lot of graphics though, I would say go for one of the existing engines, as they will save you a lot of time in that regard.

That's probably my favorite thing about python right now. You see the results or your efforts so quickly. It's pretty motivating.

By existing engine, you mean like game maker or unity right? As far as graphics go, I'm not gonna make this 3d or anything(I'll leave that for another project! :) ) I'll probably have it in ASCII while working on the initial game mechanics and then implement a simple tile set or something. I'm not too concerned about graphics at this point,  I'm more focused on gameplay right now.

The one thing that worries me, and you said it yourself, is that python works for simple idea. While I'll definitely start my game simple, I want this to be something I keep working on and adding to over time, ala dwarf fortress and unreal world. This is my main concern.
Thanks for your input.

5
Programming / Re: Picking The Right Language/Game Engine For My Idea
« on: April 23, 2013, 01:51:18 PM »
You can basically do anything with any language, it's all down to preference. Me personally am not a fan of python, so I avoid it :P

For positives and negatives though:
C/C++:
+'s: Flexible, powerful, can be used on anything. Large amount of tutorials/resources available.
-'s: Requires learning of third party libraries, low level coding means more chances for memory problems and strange bugs.

Java:
+'s: Single binary works on multiple platforms, many useful standard libraries. Memory handled for you.
-'s: Platforms may handle small details differently, causing platform specific bugs.

C#:
+'s: Quite popular, good game making libraries (XNA, MonoGame). Can be multiplatform.
-'s: Biggest game library is being abandoned by Microsoft (XNA), Many libraries and functions are Windows only

There's lots more, but there is some I know about, not as good with scripting languages. Gamemaker I hear is good for making games quickly, and comes with it's own language. If you go with C/C++, I suggest the Allegro library, which is multiplatform and has plenty of features. Java has LWJGL, which lets you use opengl and openal in Java.

Thanks for the breakdown. I only used those as examples by the way, I'm open to learning any language as long as it helps me towards my goal of actually getting my game done. My only issues with learning C++ and Java are that from what I've read(please correct me if I'm wrong), I'd spend a lot of time learning before even beginning to start working towards my game. Maybe I'm just spoiled by Python right now.  And the very first thing you said is the biggest issue for me, since my options are pretty much limitless, it's a bit overwhelming.

Implementations of the Python language have lackluster performance. Some algorithms that take a few seconds in C can take minutes in Python. Python's expressiveness makes it ridiculously easy to whip up applications very quickly, but if you want any polish you'll need to create a C library and call it from python so that your performance sensitive code can run native. Libtcod already has a lot of the C rogue work done http://doryen.eptalys.net/libtcod/ and has Python bindings.

Reading about python's lackluster performance is what made me begin my search for another language to learn. I'd hate to spend all of my free time learning python only to abandon it months later because it's not the most suitable language for the task.

Thanks for the quick replies!

6
Programming / Picking The Right Language/Game Engine For My Idea
« on: April 23, 2013, 12:31:48 PM »
Greetings All!

Quick background: I've dabbled in programming in the past. Little bits of C++ and Java but that was long enough ago not to really count. I want to pick up programming again but this time not for work, but as a hobby. Specifically game development. Right now I'm learning Python with the Invent Your Own Game with python series. It's really fun so far.

My Idea: I have a bunch of super crappy ideas but the one I can't get out of my head right now is a survival roguelike. Something akin to Cataclysm, Rogue Survivor, or even Unreal World. Possibly with more of an emphasis on basebuilding(So really it's like RS but more focus on gathering supplies/survivors and setting up a fort). I can get into more detail if needed but this should be enough background for my question.

My Question: Is Python enough for this? I've seen roguelike tutorials for python but they seem to be just for a simple more traditional roguelike where my idea seems to be heading away from traditional RL and more towards being a blend of a few genres. I'm asking if I'd be better off working in an engine like Game Maker or Unity for example or going with another language such as C Sharp or Java. Although I'm enjoying python right now, I'd rather learn programming with a language that I can at least start working towards this idea with. I think it'd be easier to keep myself motivated.

My main goal right now is just trying to get started on this game, see how much I enjoy it and whether it's something I want to keep pursuing. Then after that I can start learning more languages and becoming a better programmer. I'd hate to spend months learning a language only to start programming my game ideas and realize I don't care much for this.

Any and all input is greatly appreciated. Thanks!

Pages: [1]