Author Topic: Picking The Right Language/Game Engine For My Idea  (Read 20544 times)

JDRL

  • Newcomer
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: Picking The Right Language/Game Engine For My Idea
« Reply #15 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!

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Re: Picking The Right Language/Game Engine For My Idea
« Reply #16 on: April 24, 2013, 01:26:56 PM »
Have fun with writing the game and let us know when you have something that we can play around with  ;D
Everyone you will ever meet knows something you don't.
 - Bill Nye

joeclark77

  • Rogueliker
  • ***
  • Posts: 90
  • Karma: +0/-0
    • View Profile
Re: Picking The Right Language/Game Engine For My Idea
« Reply #17 on: April 24, 2013, 07:01:54 PM »
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...
« Last Edit: April 24, 2013, 07:04:00 PM by joeclark77 »

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: Picking The Right Language/Game Engine For My Idea
« Reply #18 on: April 24, 2013, 07:26:58 PM »
Eve most definitely uses Python for scripting and native for heavy lifting. Newer games have begun to move away from python to lua-- IE civ4 used python for scripting but civ5 uses lua for scripting-- but both are still relevant.

AgingMinotaur

  • Rogueliker
  • ***
  • Posts: 805
  • Karma: +2/-0
  • Original Discriminating Buffalo Man
    • View Profile
    • Land of Strangers
Re: Picking The Right Language/Game Engine For My Idea
« Reply #19 on: April 24, 2013, 09:25:31 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
This matir, as laborintus, Dedalus hous, hath many halkes and hurnes ... wyndynges and wrynkelynges.

JDRL

  • Newcomer
  • Posts: 6
  • Karma: +0/-0
    • View Profile
Re: Picking The Right Language/Game Engine For My Idea
« Reply #20 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.

joeclark77

  • Rogueliker
  • ***
  • Posts: 90
  • Karma: +0/-0
    • View Profile
Re: Picking The Right Language/Game Engine For My Idea
« Reply #21 on: April 25, 2013, 06:08:10 PM »
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.
No, nothing playable yet.  I'm still working on displaying the screen, moving the viewport, moving the "look" cursor.  I've finally got the interface working as I like it, but it's very slow to move the viewport or resize the screen, so I think I need to learn more about graphics.  I've been using a grid of "sprites" to simulate an ASCII grid, which seems to have a lot of computational overhead, and I think I may need to move to a simpler representation of the map.  That means learning about OpenGL and how the graphics really work under the hood.

guest509

  • Guest
Re: Picking The Right Language/Game Engine For My Idea
« Reply #22 on: April 25, 2013, 07:06:05 PM »
Gamemaker dude. Seriously. The things you are mentioning would take just a few minutes in Gamemaker.

It has it's own high level language, GML, so you'd not be learning python or whatever. But if learning a specific language is not your goal and you just want to make a game then Gamemaker is your ticket.