Trending Games | World of Warcraft | Chronicles of Elyria | EVE Online | Guild Wars 2

    Facebook Twitter YouTube Twitch.tv YouTube.Gaming Discord
Register
Quick Game Jump
Members:3,897,654 Users Online:0
Games:780 

Show Blog

Link to this blogs RSS feed

IfThen Software

Development log for IfThen Software. IfThen Software is a family owned and operated indie game development company. http://www.ifthensoftware.net/

Author: InvisibleLf

Newsletter #79 - Heightmap Tool Complete

Posted by InvisibleLf Friday March 18 2011 at 5:04PM
Login or Register to rate this blog post!




News

The fifth demo of our test project (a vertical scrolling SHMUP) has been released.  For details, click here.


From the Programmer
Written by Invisible

The heightmap tool is finally finished!  Since I decided to use the arrow keys rather than the mouse to move the tile selector, the tool was completed easily.  The tool isn't very well optimized (every tile in the map is being rendered) but it runs fast enough to get the job done.  The one tricky bit I ran into was making the selector turn green when behind tiles.  I eventually got it to work by checking for intersection between the selector and any tiles with the same x coordinate as it, but a lower y coordinate (in map space, not screen space).

The one big feature I added to the SHMUP was the mission selection screen.  The dotted lines in particular were somewhat difficult to code.  I ended up storing a dotted line graphic in a texture, which is then attached to a quad.  One end of the quad is attached to the mission's starting point and the whole thing is rotated around to point at the mission's destination.  The angle for this rotation is calculated by taking the dot product between the unit vector pointing from the mission's initial position to its final position and the unit vector i=(1, 0).  This dot product is the cosine of the angle between the two vectors, so the angle is calculated by using acos().  This will only return an angle between 0 and 180 degrees though, so we need to figure out which half it is in.  This is done by performing another dot product, this time against the unit vector j=(0, 1).  If this dot product is less than 0, the following is used to recalculate the angle: angle = PI + (PI - angle).  The line changes its length by modifying the width of the quad based on a "path progress" percentage.  I will probably change that last bit in order to get a certain effect though.


Artist's Easel
Drawn by GreyKnight

iScribble Sketches #37

(Click to enlarge)


(Click to enlarge)



Community Spotlight
Written by jaythemage

In the past few weeks, several players have begun playing Volund. The source of this income of players is unknown, but we are glad they decided to play.

Jay made another video spotlighting the SHMUP:


If you have anything you would like to say in the next community spotlight article, please post it here.