Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 14 15 [16] 17 18 ... 29

Author Topic: My C++ Projects - Tower of Azari v0.31 - "I'm not dead yet."  (Read 51892 times)

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #225 on: December 05, 2009, 12:14:07 am »

That new map looks great!  The rooms being compacted together looks nice.

Like Orange, I've been thinking about room detail a lot.  If you have a big 'ole list of rooms with furniture, appropriate items, and placement rules, the game would have a lot of character.  Blood/potion stains, rubble, moss, and cobwebs are some other things you could throw down.

I don't think that the + is a bad symbol for doors, but they kinda look like floor tiles if you don't change the background color.  The floor tile in that map is really hard on the eyes, though, since it doesn't tessellate properly.

If you are still working on line of sight, I recommend the precise permissive field of view algorithm.  It's a little tough to understand and implement, but I really like the results.  I've spent the better part of today trying to write my own implementation, and it's almost done.  I don't think your method is bad, apart from the bumps I mentioned earlier, so you may not need to change it.
Logged
EMPATHY - being able to feel other peoples' stuff.

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #226 on: December 05, 2009, 10:41:44 am »

...
The other main problem with doing that,
is I have no idea how to get text in my game right now.
...

In OpenGL, you can load the identity matrix and disable the depth test, and draw a 2D overlay as if the 3D wasn't there...

(If you don't load the identity matrix, it would appear floating somewhere in the world, and if you don't disable the depth test, it MIGHT be overlapped by the world slightly. Just remember to enable the deppth test after)
Logged
Eh?
Eh!

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #227 on: December 05, 2009, 10:47:50 am »

Qwerty! You have to help me out.
If I had the ability to put text in my game, it could do all kinds of stuff!
I've been messing around with glut a bit,
and fiddling with tutorials,
but none of it is super clear.

EDIT: @Timmeh:
You should have the floor tiles be solid blocks too, just of a different shade or color.
Like white floor with dark grey walls, or the other way around.

Ultimately, it's up to you, but the tile set is a place where it seems you can add the
most personality to your game.
« Last Edit: December 05, 2009, 10:50:18 am by Outcast Orange »
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #228 on: December 05, 2009, 12:15:34 pm »

The only ways I know are loading a monospaced font from a .bmp, and manually creating a vector font. The first one is much easier, faster, and better. Then it is your choice how to display it, but a texture works well enough if you set transparency while loading the image...
Logged
Eh?
Eh!

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #229 on: December 05, 2009, 03:26:13 pm »

@Outcast Orange - That door tile (∩) looks much better than the '+'!  Any suggestions for the other door state? (not sure if '∩' should be open or closed, depends on what other tile I can find I guess)  As to the description stuff, I really do want to do that, but I'll have to get a bit more done first.  Somehow I'll have to get the maps to remember where the rooms are and such first though, at the moment they're just for generation... definitely have to look into the decoration and such though, that shouldn't be too hard!

Looking forward to the dungeons in CScream too!

@Bricks - Thanks!  I just want to get everything I already had rewritten first, but furniture and such can likely be the first thing on my todo list once I've caught back up!  Then I'll have to look into the magic auras and stuff, although that'll be a little harder... anyways, I'll try changing the floor tile to a solid one of another color in just a second, just need to alter the tile drawing line and it should be quick and easy, the tile class already keeps track of a color, I just hadn't used it yet.

I'll look into the FoV algorithm you linked to in a little bit, I want to get map generation finalized, then I have to start movement and vision anyways so it'd be a good time to update it.


Thanks again for the input guys, I'll get another screenshot with the new tiles and rooms once I get that finished up, then I just need to get movement, sight and collision done again and I'll look at getting a tech demo of sorts put together.

[EDIT]:  Okay, quick mini-poll, which style of walls/floors looks the best?

Changing it is incredibly easy, but I'd like to settle on something pretty soon.
« Last Edit: December 05, 2009, 04:16:56 pm by timmeh »
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #230 on: December 05, 2009, 04:27:00 pm »

If you have to choose only one, than I like 2 best.
But I would like it if the shade/texture of the floor could be different in certain rooms.
Like a room with 3, and a darker colored floor.
That sort of thing would be killer.
And the player would always pause to look around and super-inspect it.

I am really excited about trying the next version of this.
Room layout (if I haven't screamed it out enough already) is definitely my thing.
I am interested to see your take on it.

Did you get that method from somewhere?
Is it your own?

I like it. Makes for some convincing interior layouts.
You really need hallways running along it though.
ToA just got much more interesting I think.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #231 on: December 05, 2009, 06:57:22 pm »

In general, 2, walls should stick out more than floors.  It should also make it easier to distinguish items on the floor (assuming you use the same dark gray for the background of those tiles).
Logged
EMPATHY - being able to feel other peoples' stuff.

Nivim

  • Bay Watcher
  • Has the asylum forgotten? Are they still the same?
    • View Profile
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #232 on: December 05, 2009, 11:02:49 pm »

 For floor tiles, why not use ┼ (alt-197) or ╬ (alt-206). They make square tiles that are connected unlike a + sign. For doors, think you can do a different symbol depending on where it's connected to wall? Like a ║ or ═ for closed but still a ∩ for open.
Logged
Imagine a cool peice of sky-blue and milk-white marble about 3cm by 2cm and by 0.5cm, containing a tiny 2mm malacolite crystal. Now imagine the miles of metamorphic rock it's embedded in that no pick or chisel will ever touch. Then, imagine that those miles will melt back into their mantle long before any telescope even refracts an image of their planet. The watchers will be so excited to have that image too.

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #233 on: December 06, 2009, 11:14:19 am »

Those ideas sound cool too, but only use the ╬ in certain "fancier" rooms.
Unless this whole thing is supposed to be really scenic.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #234 on: December 06, 2009, 12:01:28 pm »

Looks like 2 it is!  It looks better with the doors and stuff too. 

@Outcast Orange - The map generation is my own method, although it's similar to many others.  There are two major pieces to it, nodes, and rooms.  Rooms are a pattern of tiles (which will hopefully also store information about possible furniture and decorations...) and nodes are possible exits for a room, that store their location as well as the direction the possible exit is facing.  For example, the small room in my examples looks like this:
Code: [Select]
2, 2, ^, 2, 2
2, 1, 1, 1, 2
<, 1, 1, 1, >
2, 1, 1, 1, 2
2, 2, v, 2, 2
Where the 2's are walls, the 1's are floors, and the arrows are nodes.  The map generator starts by placing a couple nodes in the middle of the map, one facing up and the other down.  Mostly just because I haven't fixed it yet, cause it would work without that now.  Then I have it run a "while" loop until the list of nodes is empty.  In the loop it picks a random node from the list and tries to add a room to it.  If none of the room layouts fit on the node it is deleted.  If one of the room layouts does fit (they're tried in a random order) it adds the tiles from the room layout to the map and sticks a door on the tile with the node.  Then it removes the node from the list and picks another one and so on and so on. 

The hallways are currently just rooms with a layout that looks like a hallway, more on this later though...

@Bricks - Good point.

@Nivm - The second one (╬) is a little too fancy, and kinda hurts my eyes, but the first one (┼) looks really cool, so as soon as I get decorated rooms and such in that'll probably be the first new floor type :)  As for the doors, I'll see what I can do about the directional thing, it would definitely look better that way I think...


I'm going to wrap map generation up pretty soon, just got one more bug to fix, and I may or may not move the room layouts into an external file.  The bug, hallways don't exactly work quite how I wanted...  I've added three new room types to generate this map:

Two short hallway style rooms and one weird one that's almost circular with a wall in the middle, just to test how it deals with weird shapes.  As you can see, the hallways often lead to nowhere, or have multiple segments with doors between them.  This is not quite how I wanted it to work, and I don't honestly see how I didn't think it would do this earlier...

Here's what I'm thinking: Ditch the hallway rooms, and alter the loop that checks if the room fits a bit.  Instead of just checking if it fits at the node, try it there, then try moving it out a little bit at a time and try again.  I.E. If it were trying to add a big room to the left of a node, but there were already little rooms above and below it, it would try it at the default spot and it wouldn't work, then it would bump it out a couple tiles, same thing, bump it out a few more and it does fit.  So I add it there, carve a hallway to it from the first room, and add doors where appropriate.  We'll see, I've got a bit of a headache at the moment from being so stuffed up (colds suck...) so I'm going to take a break for a while.
« Last Edit: December 06, 2009, 12:04:49 pm by timmeh »
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #235 on: December 06, 2009, 12:20:15 pm »

Go take some drugs, man.  Drugs are good.  New rooms look even sweeter.  As far as hallways go, I think your method sounds reasonable.  Personally, I think your first placed object should be a hallway, and then you bud the larger room complexes off of it.  Then you could place mini hallways later as secret passageways.  Up/down staircases should probably be in hallways or little rooms off of hallways.  That would be more realistic, though it would also make it easier for the player to track down the next staircase, so I'm not sure that's a good direction to head in.  Either way, your method seems to be working well.  I might have to pseudo-steal it!  If you plan to stop map generation for now, I suggest leaving in those weird hallways.  They may not be exactly what you want, but for now they would do a good job of confusing the player.  Looking forward to the next release!
Logged
EMPATHY - being able to feel other peoples' stuff.

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #236 on: December 06, 2009, 02:49:12 pm »

Looks amazing!
Nice room types.

I like your hallway idea, but something like this might be cool:

If no room type fits:
- Search a 10x10 area in that direction for another free node
- Connect the 2 nodes with a direct x,y hallway (L shape)

That way the hallways would all be procedural.

Straight long hallways with many nodes should be a room type though.
I guess the L-hallways would be a special case room.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #237 on: December 06, 2009, 05:26:42 pm »

That sounds good, Orange.  Especially if each map has more than one starting node - maybe one for the up stairs and one for the down stairs.  The hallways could be more complex if the procedure found more than one empty node.
Logged
EMPATHY - being able to feel other peoples' stuff.

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #238 on: December 06, 2009, 06:27:19 pm »

The only problem with the hallways as a room type is that they rarely have a room on each end.  They tend to either stick out in random directions, or go up to a room but not actually enter it...

Anyways, I've got hallways in now.  Basically, if a room doesn't fit, it tries moving it out and attaching it with a hallway.  Seems to be working okay.


I'll probably try to get movement and collisions in next, then I can try the FoV algorithm Bricks suggested and get LoS back in.  From there it's items -> enemies -> spells -> new stuff!  I know how a lot of it is going to work, although I may learn a bit more about classes, inheritance and "polymorphism" and set the items up a little differently this time around... we'll see.

I really didn't mean to spend so much time on the map generation so it's probably done for the moment, but I've compiled a list of all the suggestions into a text document, so I can get them in once I'm caught back up.  Later I can look into the elbow hallways and such, although making sure there's a clear path for a hallway when there wasn't one for the room might be a little tricky, but I'll figure it out eventually.
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Nivim

  • Bay Watcher
  • Has the asylum forgotten? Are they still the same?
    • View Profile
Re: My C++ Projects - Tower of Azari v0.30 - Update 11/16/09, MAGIC!
« Reply #239 on: December 06, 2009, 08:49:44 pm »

Oddly enough, I liked the last room generation better, but that might be because of the "weird" rooms. Also, I see about three places to put an L hallway that map.
Logged
Imagine a cool peice of sky-blue and milk-white marble about 3cm by 2cm and by 0.5cm, containing a tiny 2mm malacolite crystal. Now imagine the miles of metamorphic rock it's embedded in that no pick or chisel will ever touch. Then, imagine that those miles will melt back into their mantle long before any telescope even refracts an image of their planet. The watchers will be so excited to have that image too.
Pages: 1 ... 14 15 [16] 17 18 ... 29