Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 52 53 [54] 55 56 ... 72

Author Topic: The Roguelike Development Megathread  (Read 245596 times)

jhxmt

  • Bay Watcher
    • View Profile
Re: The Roguelike Development Megathread
« Reply #795 on: October 24, 2012, 03:04:25 pm »

(Cataclysm's system info)

That's really useful, thanks - I've played Cataclysm, but not dug into the source or really examined the mechanics in any detail, so that's good information for me to chew on.  As you and Andir have said, it sounds like a sensible method of dealing with multi-turn actions is by splitting out game-turns from action-points (or whichever terminology is used).  At first thought, that does also seem to bring with it a lot of ancillary benefits (as you say, the slower-movement-when-injured idea, or haste-type spells, or similar).
Logged
Quote from: beefsupreme
Try slaughtering a ton of animals, meat makes less decisions than animals.

Why Your Ramps Don't Work
How To Breach A Volcano Safely

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: The Roguelike Development Megathread
« Reply #796 on: October 24, 2012, 04:25:27 pm »

Cataclysm also has a fancy system.  The "time dilation" device will drain your cyber-battery bank completely and increase your speed.  It does this by providing 100*energy to your movement points.  This means that if you have, say, 20 internal battery power, and you use it, then you go from (for example) 80 move points for that turn, to 2,080 move points.  The effect is that you can move a lot more before a turn passes, so in gameplay it feels as if time has stopped.  This could be useful if, say, your game featured a God of Time, and when this god arrived and spoke to the player time would stop and they would chat.  You could also freeze an enemy by reducing their move points far to the negative, and it may be easier to add a "frozen" flag and check it as turn passes, but removing move points requires very little new code, although faster monsters would recover faster, if you wanna call that good or bad.

So if you're creative, the turn system can provide fun little tricks.

Mephisto

  • Bay Watcher
    • View Profile
Re: The Roguelike Development Megathread
« Reply #797 on: October 25, 2012, 11:37:29 am »

(I wrote this post up a few days ago but didn't get around to posting it)

Spoiler (click to show/hide)

Talking through things helps me visualize what I want to do. Now that I've read about how Cataclysm does things, I may incorporate some kind of AP type of system along with my method.
Logged

jhxmt

  • Bay Watcher
    • View Profile
Re: The Roguelike Development Megathread
« Reply #798 on: October 25, 2012, 12:34:35 pm »

Talking through things helps me visualize what I want to do.

Yeah, likewise - unfortunately this means that what I start off intending as short, to-the-point design notes turn into great big sprawling, rambling pieces of narrative!  I need to get better at restricting my scope.  ;)

Using the movement points concept from Cataclysm would seem to work well with the construction-project concept from your Spoilered section, by the sounds of it - you're effectively getting critters to 'spend' movement points on the construction zone (as I think you called it) to move it along.  Faster critters would contribute to the work faster (which may/may not be a good thing?) as they'd have more movement points per turn to 'spend' on the construction, which conceptually makes sense to me.

Re the 'interrupt()' method you mentioned - are you envisaging having that on the player?  So if the player is building a shed, and gets attacked by a dog, the doAttack() method of the dog works on the player, whose sufferDamage() method includes a check on the player's interrupt() method?  Something similar to that kind of structure?

I guess you could also have an interrupt()-type method on the construction zone itself, if you wanted things attacking it to interrupt work - just get its interrupt() method to negate any movement points spent on it that turn, for example.

Hmm.
Logged
Quote from: beefsupreme
Try slaughtering a ton of animals, meat makes less decisions than animals.

Why Your Ramps Don't Work
How To Breach A Volcano Safely

Mephisto

  • Bay Watcher
    • View Profile
Re: The Roguelike Development Megathread
« Reply #799 on: October 25, 2012, 12:56:00 pm »

Re the 'interrupt()' method you mentioned - are you envisaging having that on the player?  So if the player is building a shed, and gets attacked by a dog, the doAttack() method of the dog works on the player, whose sufferDamage() method includes a check on the player's interrupt() method?  Something similar to that kind of structure?

I guess you could also have an interrupt()-type method on the construction zone itself, if you wanted things attacking it to interrupt work - just get its interrupt() method to negate any movement points spent on it that turn, for example.

Hmm.

I don't really know at the moment. I'm nowhere near the point where I've got critters running around building things and interrupting each other. Currently, I've been hacking solely on loading my tilesets and properly splitting them into correctly-sized squares. I don't even have @s walking around the screen yet.

What you said sounds like a plausible structure and I'll probably go with something like that as long as I don't have any more epiphanies.

My thought was that the interrupt method would be a part of every mob, either an instance or class method of whatever superclass they're all derived from. That would allow critters (or you) to interrupt workers that you may have hired, allow you to stumble upon a pack of wolves chowing down on a deer that they killed and interrupt their meal, and stuff like that.
« Last Edit: October 25, 2012, 01:00:15 pm by Mephisto »
Logged

EnigmaticHat

  • Bay Watcher
  • I vibrate, I die, I vibrate again
    • View Profile
Re: The Roguelike Development Megathread
« Reply #800 on: October 26, 2012, 09:31:26 am »

I got GameMaker studio on steam.  I understand the basic ideas of programming but the only language I really understand is actionscript from my outdated version of Flash MX, which I don't think is particularly ideal for rougelike making.  Its also been a while since I made anything with that.

So: how do you guys think GameMaker would work for building a rougelike?  Does it have any limits or problems I should know about?
Logged
"T-take this non-euclidean geometry, h-humanity-baka. I m-made it, but not because I l-li-l-like you or anything! I just felt s-sorry for you, b-baka."
You misspelled seance.  Are possessing Draignean?  Are you actually a ghost in the shell? You have to tell us if you are, that's the rule

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: The Roguelike Development Megathread
« Reply #801 on: October 26, 2012, 10:12:33 am »

No idea about GameMaker, but generally speaking those types of programs have a lot of shortcomings on what you're allowed to do.  It may do well for a generic RPG, but if you want to add some unique abilities that would be difficult to generalize (like if you want your character's arm to explode in a bolt of lightning that casts blocks of ice on nearby tiles).

Mephisto

  • Bay Watcher
    • View Profile
Re: The Roguelike Development Megathread
« Reply #802 on: October 26, 2012, 11:07:24 am »

Spelunky was done in Game Maker, so it's at least possible to create a roguelike-lite.
Logged

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: The Roguelike Development Megathread
« Reply #803 on: October 26, 2012, 11:59:09 am »

GameMaker used to be pretty laughable for anything but a prototype. You could do a full game with it but there were some good technical reasons not too. You could get around them but it never seemed worth fighting against the program to me. It may have improved, but if it's still a RAD tool through and through I'd generally recommend only using it to make protoypes...
Logged

alexandertnt

  • Bay Watcher
  • (map 'list (lambda (post) (+ post awesome)) posts)
    • View Profile
Re: The Roguelike Development Megathread
« Reply #804 on: October 26, 2012, 08:45:05 pm »

The gamemaker scripting language is... limited. It's a good place to start off learning how to make games though.

If you understand actionscript reasonably well then there should not be much problem using gml (game maker language), most imperative languages are very similar to each other.

Also, you can download Lua for gamemaker now.

From my experience gamemaker is quite hard to optimise, so it seems only really suited for small projects.
Logged
This is when I imagine the hilarity which may happen if certain things are glichy. Such as targeting your own body parts to eat.

You eat your own head
YOU HAVE BEEN STRUCK DOWN!

zehive

  • Bay Watcher
  • [DRAGONFIREBREATH]
    • View Profile
Re: The Roguelike Development Megathread
« Reply #805 on: October 30, 2012, 04:57:31 pm »

Alright, I've never touched coding in my life. I figured I'd go around and jump into, what feels to me, to be the deep end. Well I started following roguebasins tutorial to get my feet wet and I found out I had a problem, I have no idea what the hell they're on about. Okay, I understand what they want me to write and I have the basic gist of why it is the way it is, but then its like 'okay now run that code!' wait what? Also where have I been supposed to be dumping these files? I suppose into the folder you told me to make at the start. But now I've got everything in there, I've just gone off and named and saved what I've got and now when you say 'run' I don't even know from where I'm supposed to do that. Just click? Because just clicking flashes the CLI in my face that then immediately disappears.

Am I hopeless?

Levi

  • Bay Watcher
  • Is a fish.
    • View Profile
Re: The Roguelike Development Megathread
« Reply #806 on: October 30, 2012, 05:11:46 pm »

Am I hopeless?

Nah. 

Is this the libtcod python one?  Its probably just giving you an error and then disappearing before you can see it.  You can either open up a terminal (Start->Run->Cmd) and navigate to your project folder and type "python yourprogram.py", OR you can get an editor that lets you run and see errors directly, like Scite.  If you use scite, you can run it directly from there by pressing F5.

Debugging is hard when you can't see your errors.
Logged
Avid Gamer | Goldfish Enthusiast | Canadian | Professional Layabout

zehive

  • Bay Watcher
  • [DRAGONFIREBREATH]
    • View Profile
Re: The Roguelike Development Megathread
« Reply #807 on: October 30, 2012, 05:15:04 pm »

Well funnily enough this tutorial had an optional bit of setting up a debug program, I just changed the target file to the one I had been working with and it did indeed tell me that there has been an error.


Edit:

However now its giving me various module difficulties, saying that the module object has no attribute 'blah blah'.

I don't know where it's gone wrong now. I have a compiled python file named libtcodpy just the same as I suppose the uncompiled version also sitting right there. I have everything exactly the same as the tutorial told me. Whats gone wrong here?

Spoiler: What I've got (click to show/hide)

« Last Edit: October 30, 2012, 05:52:15 pm by zehive »
Logged

Calech

  • Bay Watcher
    • View Profile
Re: The Roguelike Development Megathread
« Reply #808 on: October 30, 2012, 06:13:25 pm »

libt.console_flush()

Whilst I have no experience with Python and my coding skills have about 10 years of rust... does libt exist anywhere or should this also be libtcod?

Logged

Girlinhat

  • Bay Watcher
  • [PREFSTRING:large ears]
    • View Profile
Re: The Roguelike Development Megathread
« Reply #809 on: October 30, 2012, 06:19:27 pm »

No, that should be libtcod.flush()

You could also change
Code: [Select]
import libtcodpy as libtcodto
Code: [Select]
limport libtcodpy as libtor somesuch.
Pages: 1 ... 52 53 [54] 55 56 ... 72