Author Archives: Tape_Worm

Moar User Stuff

Well we have another user contribution from forum member domq.  He’s doing a “sort-of” Ultima 6 MMO remake called Britannia On-Line.  Frankly it looks awesome, and I can’t believe Gorgon can be used for stuff like that.  Who knew?  I sure didn’t.

Anyway, I’ve added screenshots of the project to the screenshots gallery under the user contribution gallery.  You can check out more about the project in the forums.

Domq also found an issue with the TextSprite when the bounding rectangle is very small and WordWrap = true.  This has been corrected (by domq) and I’ve put the fixed code into the Subversion repository.

User stuff

So I’ve been meaning to do this for a while, but laziness and real life gets in the way.  Anyway, one of the forum members, Zeraan, has created a nifty little asteroids clone called Asteroids of Beyaan.  You can check out the project (which includes a link to the game itself) in the forums.  I’ve also added screenshots for the game in the screenshots section of the site under the user contributed screenshots section.

I’ve also added two new (well, not so new seeing as they’ve been there for a long time) screenshots for the RPC project by ShadowDust702.  Those too can be found in the screenshots/user contributed section.  Check the project description for a download (demo/test version) link.

New version: Gorgon v1.1.3638.20767

sitelogoSo I’ve finally gotten off of my lazy ass and uploaded a new version of Gorgon.  This version contains all the bugfixes, and enhancements that have appeared in the Subversion repository over the last few months.

You can read about the changes here.

Then you’ll probably want to download it.

Absence

It’s been a while since I’ve last updated, over a month actually.  I’ve been dealing with some major real life issues so I haven’t had any time to devote to Gorgon unfortunately and I won’t be able to for a while (at least not until the end of August).  I recently dumped the latest batch of code into the subversion repository and it contains several small bug fixes and some new additions (like a polygon sprite).

As always, if you find an issue please log it on the Gorgon issue tracker page.

Oh and to the person who was having issues with keyboard input: I still haven’t been able to reproduce the bug and you haven’t replied to the issue comments, so I’m closing it for now.  I don’t need the full project source code, but if you could even whip up a sample project that exhibits the behaviour, that’d be perfect.  If you can help me verify it, I’ll re-open it when I get back from vacation in August.

A tutorial? Now I is professional.

sitelogoSo ShadowDust702 was kind enough to create a basic getting started tutorial and put it on the wiki.  This makes it look like Gorgon actually has some interest.  Who knew?  Anyway, the tutorial is here.  If you would like to contribute to the cause, then by all means do so and let me know on the forums so I can tie it all together.

New version tiem! Gorgon v1.1.3436.39405

sitelogoYes, I know I spelled “time” wrong.  Yes, it’s on purpose.

I’ve uploaded  a new version of Gorgon today.  That puts the current release at version 1.1.3436.39405.  You can read what’s changed by heading on over to the forum and reading this announcment.  After you’ve become completely brainwashed by reading that you can download it.

Clearly I’m still working on Gorgon.  I probably will be until the day I expire, which given my healthy intake of McDonald’s, should be any day now.  If someone wants to lend a hand, contact me via the forums.

Edit – May 29/2009

Because I’m very dumb, I released Gorgon with a nasty bug in the Batch sprite object.  When you use the batch sprite it will complain that it can’t find the vertex declaration for PositionNormalDiffuseTexture1 or some such nonsense.  This of course just totally breaks the Batch sprite.  It’s been fixed and the new version (v1.1.3436.39405) is uploaded.

Sorry about that folks, sometimes Tape_Worm is stupid like ox.

Bugs bugs bugs

sitelogoI just noticed an issue in the issues section on the Gorgon project site…  It deals with localization issues with the Sprite Editor.  So if you’re finding the sprite editor is crashing, I apologize for that, there were some localization settings missing when reading the config files.  A fix is being worked on and will be available on the SVN repository asap. The fix is now in the subversion repository.

Batches of hate

sitelogoSo I’ve been a busy little bee the last couple of days adding a couple new features to Gorgon.

One of the things I’ve been wondering about is how I could possibly improve performance.  To understand, I should explain how Gorgon does its “thing”.  When you draw a sprite to the screen using the Draw() method the actual data doesn’t go to the current render target (screen for our purposes) right away.  What happens is the vertices for that sprite are added to a dynamic vertex buffer.  If the next sprite you draw has the same texture and states as the previous (which will most likely be the case if you perform batching properly) it will just add that sprite to the dynamic buffer and the process continues over and over until the end of the frame.  When the end of frame is reached the buffer is drawn to the screen and the buffer is ‘reset’, that is, all data in it is overwritten with our next frame.  This is all well and good if you only use the same texture and render states (Smoothing, Blending, etc…)   But let’s say we have 3 sprites.  The first 2 sprites share a texture and the last uses a seperate texture.  When the first two are drawn they get added to the vertex buffer and then when the 3rd sprite is drawn the system detects a change in state (in this case it’s the texture) and the buffer is flushed and process starts over with our third sprite.  As you can imagine this can be very inefficient, but if you batch sensibly you’ll see excellent speeds.

Continue reading

MOAR!!! NAO!!!

sitelogoAhoy hoy.

I’ve actually been working on Gorgon off and on (mostly off) throughout the last 2 weeks and I’ve sent a few new changes to the svn repository:

  • Modified the bump in the night sample (-again-) to allow better results when rendering specular maps and also to update a stupid mistake that I made.  That is, I added unicode symbols directly into the source code instead of using their respective codes.  While this hasn’t given me trouble yet, there’s always that possibility.
  • Modified the TextSprite object to fix an issue where the MeasureText function was not calculating the correct height for a block of text.  Also fixed an issue where the alignment settings would sometimes place the text in between pixels and cause the text to look jagged and unreadable.
  • Removed Mount()/Unmount() from the public interface of the FileSystem object.  These functions didn’t really serve any purpose and just made more work for the user.  Internally Mount() is still available as a protected method for plug-ins so that the file system index can be built after a root is assigned.  Sorry if this breaks anything.
  • Added support for MRT (multiple render targets)!  Finally!  This allows a pixel shader to output to multiple targets at the same time and should help out in performance situations where multiple passes are being used to achieve the same thing.  To manipulate the additional render targets you can call Gorgon.SetAdditionalRenderTarget to add/update/remove a render target or Gorgon.GetAdditonalRenderTarget to return one.  The previous property: CurrentRenderTarget is still in place and uses the SetAdditionalRenderTarget internally and is available for use if you’re only looking to switch the primary target.
  • Font objects can now load external TTF files.   While you could always do this by hand by using PrivateFontCollection and then creating a Gorgon Font object from the resulting GDI+ font, it was a pain the ass.  This new functionality will allow the reading of TTF fonts from various sources such as:  A TTF file on the disk, an embedded resource, from a stream, or from a Gorgon file system.  To load a font you just call: Font.From* (were * = Resource, File, FileSystem, or Stream) and it’ll import the font.  For luddites:  You can still create fonts directly from GDI+ font objects if you wish.
  • And finally, the one that caused the most cursing:  GorgonZipFileSystem.dll.  What’s that?  It’s a file system that allows you to manipulate zip files (you know, the files that Winzip generates).  Now using this plug-in the file system editor can open/create/update your zip files.  Or you can forego the file system editor completely and just use winzip.  There are some caveats however:  You cannot use a password, you cannot use encryption and the file format must be the legacy zip file format (Zip 2.0).  But yeah, awesome.

So there you have it.  Hopefully the zip file support will be a plus.  I have no idea when a packaged release will be available, but when it is I’ll make sure to announce it.

Gorgon SVN

sitelogoSmall update.  I’ve updated Gorgon’s code in the subversion repository to use the March 09 version of SlimDX.

  • Made some small fixes to handle a change to the FillTexture callback and to work around a bug in Texture.FromStream.
  • Updated the ShadersInSpaaace to draw the film grain crap properly.
  • Updated bump in the night sample to include specular mapping and included the specular map (yes it’s supposed to look that grainy).  Updated normal map for more accurate lighting.  Crazy bump is the shiznit.
  • Fixed bugs in the file system editor that caused the whole file system to be exported to explorer even if only a single file was selected.  Fixed bug in file system editor where if root wasn’t selected the export file system button would break.  Changed export button to be more clear about its function.

End of Line

How to annoy me.

sitelogoJust a quick notice.  I think it’s great when I get questions about Gorgon.  And I do my very best to answer what I can as accurately as I can.

However.   I do NOT want questions about how to use libraries created by other groups/people.  I have no problems explaining Gorgon’s inner workings for this purpose, but that’s as far as it goes.  I won’t be transforming it into any other library, that’s your job.   I am not tech support for any other library.  If you want support for another graphics library go to their forums and ask the creators of that library.  If they don’t support their stuff, then that’s tough, take it up with them through whatever means available to you.

Don’t take this as trying to be secretive/anti-competitive about Gorgon or its inner workings.  If I wanted it to be secretive I wouldn’t have released it or the source for it.

End of Line.

Oh boy!

sitelogoI’ve had a couple new people join the forums lately, I’m so pleased.  For a while I started to think that all life in the world outside had died off and was replaced with spam bots.

One of our new members is Gourky and he’s writing a  CNC (Computer Numerical Control) CAD program called GGCad that uses Gorgon.  This is awesome because when I designed Gorgon one of my goals was to make it useful outside of the gaming field and now it’s actually being used for such a purpose.  Yay.  Gourky was also kind enough to give out the source code to a control he’s built to scroll a Gorgon render window.  How awesome is that?

I’ve added a screenshot of ggcad to the user screenshots section.

In other news, I’m still terribly busy with real life shit.  But I’ve also started work on another project (although with the limited time I have it’s going to be a very very very very very long time before it even sees the light of day, hell DirectX 15 might be out before I release it) which uses DirectX 10.

Spammers are child molestors

They are. And they need to be hunted down and killed.

Anyway, this leads to this:
The forum has been getting a LOT of signups from spam bots lately. To the point of where I’ve begun banning subnets. Seriously morons, use a virus scanner and some common sense and keep these damn things off your system(s). If you’re a legitimate user from one of the subnets I’ve denied, then I’m sorry to say that you’re out of luck. I hate being an asshole about it, but frankly some places have more zombied machines/spammers than others and that’s just the way it is. If you don’t like it, do something about it. Hunt these fuckers down and cut their nuts off. They’re making it bad for the honest user.

That means that I’ve started cleaning out the shit from the forums.  And by shit, I mean spam bots and their owners.  It’s getting on the stupid side of things lately.  I’ve had several attempts at adding accounts by confirmed spam harvesters.

Gorgon v1.1.3266.898

sitelogoA new version of Gorgon has been released.  The current version is now 1.1.3266.898.  This fix includes some enhancements to the sprite editor animation editing interface and several bug fixes.  You can see the change list here.

This will be the final release for Gorgon for a while.  I’m going away on vacation at the end f the week and real life (i.e. work) has become increasingly busy so I have no time to devote to Gorgon at least until later in the new year.  If someone wants to pick up the reins and take over for a bit, post a comment here or contact me through the forums.