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 - NON

Pages: 1 ... 21 22 [23]
Programming / Some questions about tile graphics
« on: July 13, 2011, 11:26:16 AM »
I've been thinking about how I would implement graphics for my game, and I'm stuck on one issue.

The common way of doing creature graphics seems to be to have one image per monster, drawn so they face the viewer directly.
Like this:

And I guess that works in a game with mostly melee combat. But would it look ok with firearms? Wouldn't it look like they were shooting from their backs when firing up on the screen?

I could possibly draw characters top-down, then maybe SDL can rotate the image, or I can add rotated images myself. But I want walls from an angled perspetive, which wouldn't make sense if characters are top-down.

There, R4 uploaded.

Get it here:

It's a quick update, but I think the changes to the map alone is worth it.  :)

The changelog:

New features:
*One unique monster

*Much better map (no dead end corridors)
*Changed healing back so you spend a number of turns to apply first aid (instead of healing at stairs)
*+2HP at level up instead of +1
*Better dodge chance from Agility
*Monsters spawn faster, prepare to get overrun if you dwell on the level :-)
*All monsters of the "Reanimated" variety spawn a level earlier.
*Raised the damage of the Tommy Gun (when cultists fired it, it often barely hurt you)
*Cultists fire their weapons more often
*All monsters have slightly higher hit chance
*Fixed a bug that caused enemies to spawn inside your field of view
*Fixed a minor problem with the field of view (too many wall cells were revealed in some circumstances)
*Cultist anger phrases were too infrequent in the previous version
*Reading scrolls now causes your turn to end

Traditional Roguelikes (Turn Based) / Re: X@COM
« on: July 12, 2011, 09:48:12 AM »
Will primed explosives stay put while they are in your inventory? this was extremely important for my tactics.
Off-topic: I remember playing UFO2000 multiplayer using Skype. Attempting that tactic (walk around with a primed 0-turn grenade in hand), only to discover that they changed it so they blow up in your hands too. That was both hillarious and infuriating.  :)

On-topic: Kyzrati, I replied over at r.g.r.d.

I saw later that you have a sort of first person (or from the side?) perspective as well? Sounds awesome if you can see what is what. Do you have any screenshots of it?

Ok so I've made some of the changes mentioned above, and switched back to heal-by-spending-turns. I've also increased the monster spawn rate and made hunger a bigger threat.

This is definitely more awesome/brutal :)

I think I'll do a small unannounced release tomorrow.

I found Release 2 more challenging, the reanimated types were a real pain! In the good sense
They have lost some edge! I will bring them up to earlier dungeon levels again (and maybe toughen them up)! It was much better when they were terrifying ;D

Quote from: corremn
Also I would like to see less traditional fantasy flavour gone and replace it with more lovecraftian ones.  E.g replace plate mail with iron-shod jacket
The "Steel plate armor" is actually not supposed to be a medieval plate mail armor, but rather like a 19th century ballistic suit (see Ned Kelly's Ploughboard Ballistic Suit). But "Iron-shod jacket" would be less open to misinterpretation so maybe I'll go with that.

Quote from: corremn
and scrolls with tattered notes, or whatever.
Hm, not sure what they would be called in the inventory
"Read what (a-a)?
[a] Note of teleportation"

Maybe like this-
Unidentified: "A note titled X" (were X is random gibberish)
Identified: "Incantation of teleportation"

Quote from: corremn
I also liked the cultist spam in R2 as it gave me warning, I dont get any warning now.
Hm, all I did was to set a certain chance of not shouting a phrase. In R2 it was 100% chance so it was like you shoot, hear shouting, shoot, hear shouting, shoot, shouting...

Quote from: corremn
But their guns seem a little weak so that is ok.
The machine gun seems especially weak, because it's (I think) 1d4 dmg times 5 bullets. If you have any protection at all it will take away a minimum of 1 damage. So it's like 0-2 dmg each, and usually only 1-3 bullets hit. I need to do something about this, maybe 5x(1d2+2)dmg instead of 5x(1d4).

Quote from: corremn
Also I would love to have some sort of death summary and mortem file.
Alright. Maybe it's time to also get to name the character.  :)

Cool, I have been enjoying Release 2 last week, has quite a good feel to the game and actually feels quite complete.
I'm glad to hear.

Quote from: corremn
I quite liked the healing of R2, I am surprised you changed it.  I assumed there was a balance between food and resting too much.
What I like about heal-when-using-stairs is that it creates interesting choices (risk exploring more at low HP, or play it safe and descend, but miss out on loot and experience?).

But so far I've only had positive feedback on the press-'h'-to-heal method. I may change it back. It sure was GREAT from a balance perspective, since I could assume that the player started every encounter at full health.

Though, why do only medium weapons not have a chance for a class special?   I would have guessed they might have a a 50/50 chance of triggering free actions/heavy damage but to a lesser degree than the light/heavy.   It would seem like as it stands people would only go for light/heavy weapons to take advantage of the specials.   Or are the medium's the best source for consistent damage to strike the balance then?
Exactly. My intention was this:
*Light weapons have weak damage, but great hit chance and a chance for a free turn to compensate.
*Medium weapons have decent damage and hit chance.
*Heavy weapons have bad hit chance, but great damage and do maximum damage more often to compensate.

So light and heavy are more "wild" weapons, while medium is more reliable.

I thought about the 50/50 chance for medium weapons too, but this is what I ended up with. Might do it differently in the future though.


Version 3 of my horror/Lovecraft roguelike "Infra Arcana" is finished. I am very pleased with the recent changes, and it feels like an actual game now. :)

Game site

Changelog for Release 3

New features:
*More monsters
*Pump-action shotgun
*Monsters spawn while you are on the level
*Hit points are restored only when climbing the stairs (except for rare methods such as scrolls and potions)
*Melee weapons are classed as light, medium and heavy. When attacking there is a chance for a bonus depending on class. With light you get a free turn, heavy do maximum damage. Medium weapons get no bonus
*Varying damage (pluses) on spawned melee weapons
*When looking at melee weapons on the floor, their +damage is seen (if they have it)
*Firearms have effective range limits (half damage beyond it), the line drawn while aiming is green inside the limit and yellow beyond it
*When holding lit dynamite, the messages tells how many turns are left on the fuse
*Explosions leave smoke
*More pre-defined rooms

*Much balancing of weapons and monsters
*Changed the names of some weapons
*Fixed a bug with machine gun weapons (killing a monster caused the following bullets to hit the floor where he stood. Now machine guns are more effective against rows of monsters)
*Shotgun shells spawned on the floor can be more than one shell
*Fixed a graphical bug with gas traps
*Fixed a graphical bug with smoke
*Teleport traps are added to the "remembered" map when you are moved
*Reduced spam from Cultist anger phrases
*Death occurs on 0hp instead of -1
*Confusion is less random
*Some small improvements to the interface

Programming / Re: Diagonal Hallways.
« on: July 08, 2011, 06:27:19 AM »
I'm not 100% sure what the situation is here but...

Why not just:
(C++ pseudocode, type casts omitted)
Code: [Select]
const int x0 = 0;
const int y0 = 0;
const int x1 = 17;
const int y1 = 26;

//(The values above would be sent as parameters to a function doing the operations below)

const float xIncr = (x1-x0) / (y1-y0); //Of course (x1-x0) and (y1-y0) need to be separately casted to float

float x = x0;

for(int y = y0; y <= y1; y++) {
   dungeon->landscape[x][y] = stoneFloor;
   x += xIncr;

I don't know, maybe it's not that simple.

Programming / Re: Slow Attack/Movement Speed
« on: June 16, 2011, 06:20:05 AM »
Shouldn't there be any creatures the player can run away from?

Programming / Re: Game Balancing
« on: May 24, 2011, 05:54:36 AM »
I've been thinking about doing some sort of arena test. You could set up something like a 8x1 corridor space with the player on one end and one monster on the other end.
This doesn't seem to account for stuff like inventory management, strategy, or tactical space.
Yeah it would mostly be for balancing the monsters strengths relative to each other.

Programming / Re: Game Balancing
« on: May 23, 2011, 12:59:21 PM »
I've been thinking about doing some sort of arena test. You could set up something like a 8x1 corridor space with the player on one end and one monster on the other end. Then have some commands for inserting new monster, resurrecting the player, give yourself different items and abilities.

This would be most useful if it was all automated though. Perhaps you could set it up so that ALL combinations of equipment and abilities that the player could have by the time he met the monster are tested (and tested many times for each). Then you let it run for all monsters/equipment/abilities-combinations and gather data when you're not using that computer. This way you could detect spikes in difficulty. Adjust by setting the difficult monsters depth deeper, or spawn more powerful equipment earlier.

I showed my project to some people and they look at it cock-eyed like wtf is that.
God I love Roguelikes sometimes ;D

Programming / Re: Puzzles in a randomly generated dungeon
« on: October 20, 2009, 10:52:32 AM »

am i the only one who really hates "try randomly and discard after x tries" - approaches?

Well it's a bit dumb, but it works...  :(
Especially if a couple of thousand tries takes 0.1 seconds.

Programming / Re: Puzzles in a randomly generated dungeon
« on: October 20, 2009, 10:30:13 AM »
how to procedurally check "not behind the door"

Why not just this?

Pseudo code:

while (ok==false)
   <place key in random cell>

   <use pathfinder from room entrance to key, with locked door as forbidden cell>

   if (path exists)
      ok = true
      <delete key>

I use this and it works well - if I have counter for how many times it tried to replace the key.
If more than x amount of tries - screw it, no puzzle, unlock the door.

Edit: Or you could do some sort of flood fill from the room entrance, that does not move past the locked door. Then mark those grid cells as true in a Boolean array and make random x & y-coordinates for the key until in an okay grid cell. Probably much faster.

Pages: 1 ... 21 22 [23]