Untitled

posted in Beals Software
Published June 15, 2006
Advertisement
Ethereal Darkness Interactive UpdateI spent all day hanging out with my bro since tomorrow is probably the last day I'll see him for a while (he's going back to Germany.)

I plan to spend all weekend working on Malathedra with Raymond, if he's upto and is available. I've been really slacking off since my brother got back, but that'll all be turning around soon. And hopefully I can get a little more involved; I'm helping, but I haven't helped a lot. Most of our conversations have consisted of:
Raymond - Ok, we'll start here... and this... oh and this...Raymond - Hmmm, we need a puzzle for thisMe - How about this retarded idea/idea that is graphically impossibleRaymond - NahRaymond - Oh I've gotRaymond - ^Insert really good idea^Me - niceRaymond - ^Insert ROFL quality message^Me - ROFL!Raymond - ^Long, 6 line message^Raymond - Thoughts?Me - thats a good idea

It goes on for a few hours like that. (Edit: whoops, that made it look like Raymond's being an ass evidentally (at least that's what my friend said.) He's not, my ideas are just really REALLY subpar ATM for some reason.)

Anyway, I'm not sure if I said so a week or so ago, but I finished Quill (for the moment.) I didn't add the WYSIWYG preview, but that can always be added later. I addressed the most important problem - the speed. It now is incredibly fast (I'd have to say atleast 10x faster than before.) I also added some nifty highlighting for the node that you're hovering and all of its networks.


DragonForge TechnologyLast night I did some mockups for my map system and it looks FUCKING AWESOME (sorry to tease, but it does and I'm excited about it)! Now, if I can just pull off this one feature, I should be set and be able to code my map system tomorrow night. If so, you'll finally get screenshots Saturday night.

One problem was brought to my attention and that is map-chunk problems. All of my designs have used a single array to hold my entire map, which is 160x160(max) of my tile class:
class Tile{	int		m_nTileNumber;	int		m_nCurrentFrame;	int		m_nFrameCount;	bool		m_bIsWater;	DelayTimer	m_Timer;public:	Tile();	~Tile();	void Init(int nTileNumber, int nFrameCount, int nDelay, bool bIsWater);	void Update();	int GetTileNumber() const	{ return m_nTileNumber;		}	int GetCurrentFrame() const	{ return m_nCurrentFrame;	}	int GetFrameCount() const	{ return m_nFrameCount;		}	bool IsWater() const		{ return m_bIsWater;		}};


You might be thinking - WTF? Why does EVERY tile have a timer class? First of all I figured it would be fine, since its only 8 bytes (2 ints). Second, the way I have it set up requires this, but I'm thinking of redoing it since it would drop my map size by about 200k bytes. So, the whole size for my map is 160x160x24 (size of my tile class) = 614400. I believe that's about half a MB. So, it might not be a problem, but I'm not sure.

Edit: Btw, I figured out a way to fix one of my fringing problems. In my previous fringing attempts, I had the following two solutions:
1) Each terrain type had to have its own fringe tiles. Worked great, but I had to have a total of 32 tiles for each terrain type - 15 for side fringes and 15 for corner fringes, 1 blank tile, and the regular terrain tile.

2) This solution required me to split the rendering. The normal tiles were rendered like so - base terrain (dirt for example) and fringe base (grass for example) which was multiplied by the fringe mask. Then, water tiles were rendered like so - base terrain (water), fringe base (grass for example) which was multiplied by the fring mask, and lip base (dirt for example) which was multipled by a lip mask (which was a combination of the fringe mask and the lip mask.) This worked decently, but required pixel shader v 1.4 (because it had 5 sets of texture coordinates) and 5 sets of texture coordinates.

So, I sat down and tried to come up with a simpler AND flexible way to do it (since I'd like to have beach areas too, not just dirt lips.) And I slapped myself. I can just remove the fringe areas of the water tile. Here's a what I mean:

I think what I'm actually going to do though, is include a water fringe mask and use that, since this way would require constantly modifying the graphics. But, with this, I can have semi-transparent water, sand, grass, dirt, even concrete fringes, and with ease.

I hate to say it, but I am expecting to have something really cool done by Monday, so expect something then[grin]. If I don't come through you can all, as painful as it is to me, send me $10 *winces*.

Edit again:
I forgot to mention that I believe that I've come up with a way to fringe from multiple types. It'll take some working and some fixing, but it'll look all the better in the end. Here's an example (mockup):


Edit again again:
Ok, I need some opinions. There is one major flaw with my current map system - every fringe looks exactly the same. So I have a couple choices:
1) Screw it and go with my current system
2) Include multiple fringes (which would be a pain since you'd need to specify which fringe you want to use for each terrain type in your tileset)
3) Go with the old system and just include pre-fringed tiles and throw out the extensibilty (which would add some speed as well.) This would look way better, but would limit the transitions.
4) Quit being a pansy and don't do autofringing. It wreaks havoc when you want to do stuff like cliffs and backdrop shots.

Pretty much nothing is coded at the moment (I have option 3 working, but its not that much code so I could always change, since I was planning on it anyway.)

I'm leaning toward option 3 because it only requires 1 texture per tilesheet instead of 2 (the tileset and the fringeset), every fringe won't look the same, and its the fastest route (I think.) I'm hesitant because it doesn't look as good, isn't as flexible as my current system, and it screws up my nice feature idea.

I'd rather not drop autofringing since it will increase map production by tenfold (especially on maps that are 160x160.)
Suggestions anyone?


Petals of Pandora
Indie-Game Review

My new section, I'm going to be cruising for indie games and reviewing them. If you see a game or want a game reviewed (I'll be putting the reviews on my website as soon as it's finished), just PM/say so in a reply/email/whatever.
Ok, I congratulate these guys on "finishing" their game, but WTF? I couldn't play the game on my X700 so I watched the movie they made. First thing that I noticed is that there aren't any animations. Not the bloom, not the models, not the environment, the animations.

Second thing I noticed is that it doesn't have any great features that should be causing it to not run on my X700. I can run Half-Life 2, full bloom, 1680x1050, 4xAA, and everything else set to highest (except for shadows, they're set to blobs) and still be able to play the game without any slowdown (That's not really a fair comparison though, since they're students and Source was made by a team of professionals.)

Last but not least, they seem to be missing a bit of collision detection. When they're swinging (in the movie), they go right through the monster.

If they did include animations then they need to redo their movie.

Anyway, it looks like a beautiful game (minus the animation thing) and the concept seems like a good one, but I guess I'll never know. From what I saw in the movie, I'd have to give it:
Graphics - 7/10
Audio - 8/10
Controls - ?
Gameplay - 6/10
Replay value - 6/10
Storyline - 8/10
-----------------
Final score - 35/40

Previous Entry Design
0 likes 1 comments

Comments

Programmer16
I've got another idea.

For now, I'm going to set it up like so. Each terrain type will require its own fringe mask. Then, for each tile uses grass as a default fringe, but you can change it. This will allow me the flexibilty if I want/need it, not all of the fringes will look the same, and it'll be easy to code. Water will still be handled separately (I'm actually going to put it on a separate layer, that way I can put rocks and such under water.

I'm still looking for opinions and suggestions though!
June 16, 2006 01:41 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement