News:

Welcome to the new Sinister Design forums!

Main Menu

Ask the developer a question!

Started by CraigStern, February 07, 2010, 11:01:17 AM

Previous topic - Next topic

SmartyPants

Why is TPA2 the only game one can download from your site that has "Sinister Design" as the publisher?  Every other download comes up as "Unknown Publisher".

CraigStern

Are you playing the Windows version? That's probably because I didn't use the AIR installer for the Windows version of TPA2.

bugfartboy

At what point in a round of TT does the AI plan its move? Does it recalculate its strategy when you move one of your characters? Or does it do that when its turn begins?

CraigStern

Right now, it does it on a character-by-character basis over the course of its turn; there isn't an overarching turn-level strategy heuristic in place yet.

bugfartboy

So are there plans to allow the AI to begin strategizing against the player? Strategies such as flanking?

CraigStern

I'm planning a couple of new additions to the AI, but I'm not sure how much farther I'll take it; the game can already hang a bit in certain situations when the AI is thinking, and I don't want to slow down the pace of the game too much. ;)

Ertxiem

From the way I'm reading your posts regarding the TT Dialogue Editor, it seems to me that you're having a lot of fun creating the tool you wished you had when making TSoG.
Ert, the Dead Cow.
With 2 small Mandelbrot sets as the spots.

CraigStern

I dunno if I'd call it "fun," exactly, but it's very satisfying to make such steady progress on a new system that I know is going to be really handy going forward. ;)

bugfartboy

You wouldn't happen to remember where TRPG2 stores it's save files, would you?

CraigStern

That depends on where you're playing the game. I would just do a search for *.sol and include hidden files.

hjzust

Where'd the ideas for telepath come from...and is there going to be another?

CraigStern

The first couple of games were sort of stream-of-consciousness, in that I just had some ideas and ran with them. Telepath RPG: Servants of God had some more specific sources of inspiration. I am working on a new Telepath game right now. :)

ArtDrake

I'm making a top-down perspective 3D shooter, and I've managed to make the world generate random buildings at a certain approximate density in any direction the player explores. However, once you explore a certain amount of the city, the game starts to have framerate issues. I'm thinking that this is because of the large number of buildings it's performing perspective 3D graphics calculations on, since I have five polygons to each one, and before long you might have a thousand large shapes on the screen that Flash is trying to render all at once, even though they're not onscreen. I could be wrong on that.

But I'm thinking that there are at least two ways to try to deal with this. The first is a quick fix that probably won't help in the very long term: I could set the .visible properties of all the buildings not nearby to false. That, I think, would help a bit. But I'm wondering if it wouldn't help more to actually write the positions and dimensions [and later, contents] of all the buildings outside of a certain range to strings, and just get rid of them [null them, I guess]. When going back to the spot, I'd just bring in the relevant strings and reconvert them back to buildings.

But even that, I'm worried, will be part of Flash's working memory, and will continue to expand as one explores the world and builds new machines and turrets and whatnot. So then my best long-term solution so far is to try and write the strings I just mentioned to .sols and just write all that to the user's drive memory. That way, almost none of the data pertaining to things outside of a certain range would add to Flash's memory consumption.

I'm saying all of this because I was wondering what you think, off hand, might be the best way of the ways I've mentioned, or if you knew of any better way. I mean, I've seen far more done with Flash [the game I'm working on is graphically very simple so far], so it's somewhat confusing to me that it should start chugging this early in development when there are almost no features; I'm wondering if I'm missing something obvious that any developer should know about doing more with less processing power.

If it would help to see the game itself, I can provide an attachment.

Ertxiem

Duckling: what if you used to generate the buildings a function of the position instead of the random number generator? In this case it would be easy to reconstruct whatever you needed if the player goes back, so you could "throw away" what is far away.

I'm assuming that the position of buildings can occur for integers x and y. A nice function could be something like:
sin2(n x + p) * sin2(m y + q),
with very large real values of n and m and p, q in [0, 2π] chosen randomly in the beginning of the game.
Ert, the Dead Cow.
With 2 small Mandelbrot sets as the spots.

ArtDrake

Ah! I hadn't thought about using a sort of seed like that, rather than true random numbers, to make it easy to reconstruct the buildings. I can see where that would be quite helpful. I mean, it would have to be a bit more complicated than that, because the buildings are actually generated on peg-boards at regular intervals [the engine chooses random peg-board dimensions, and then fits a random rectangle around those pegs, which are always at the same spots in a grid pattern. I was trying to emulate blocks in a city, with straight roads in between clutches of buildings], but the idea could still work for basic building generation.

Although, that will only work if the buildings are completely permanent, whereas I'm hoping to eventually have dynamic building construction and destruction. Still, I'm sure I can find something that a random seed as opposed to total randomness would help with.

The picture below is of how building generation works -- it figures out which subset of the pegs the building will form a rectangle around, and then checks to see if the building it puts there will overlap with another building.

Oh! And lest I forget: thanks, Ert.