Sunday, December 9, 2012

Space ships are now in Orbit!

Okay, well I don't really have any pictures to show off today. I do however have a nifty webplayer made with Unity of what I have been working on today.

250 Ships attempting to Orbit each other

I have 250 ships that I am making chase each other around, trying to orbit at a distance of 30 units (approx 30 meters in Unity). Hope you enjoy it!
Press the Restart button to make the simulation restart. After a minute or so they settle into an evolving pattern which may or may not be interesting to look at. Most of the time it is, but sometimes they make a disc along the line of sight which is pretty annoying since you can't see what's going on really



>:(

Sorry for the short post, too much other fun stuff to do to make my little ships more awesome :)

Friday, December 7, 2012

Behold! An Item Management System for Games

Okay, have been away for quite a while. Decided that I finally have something worth showing off again so here it is.

Prototype: Inventory Screens [Click to Enlarge]
This is a prototype for an Inventory Management system. In [A] All you see are two buttons that will show and hide the associated Inventory screens when they are clicked. In [B] you see that both buttons have been pressed and the Inventory screens are now visible. The left hand screen holds an item in its center slot. In [C] you can see that the Item has been moved from the center position in the left hand screen over to the right hand screen's top-left item slot. This is done via dragging and dropping the item from one position to another either within a single Item Screen or between two different Item Screens.

This project piece should have some interesting applications over a variety of different game genres so I will need to make it a little more user friendly so it can be more plug-and-play for other people.

Tuesday, September 18, 2012

A little progress and a new picture!

At the end of my last entry I listed a few goals for things to implement in time for this entry:

Next Round:
  • Get projectiles to impact and damage ships
  • Implement Hull, Armor, and Shielding systems
  • Implement Targeting and Following of the Target
  • Figure out how to use Blender to make a Beacon, which will be used when I make my demo video next week.
What I have gotten done:
  • Projectiles impact and damage ships (Currently only works with Missile projectiles)
  • Hull, Armor, and Shielding stats have been implemented, but no way to manipulate outside of the editor currently.
  • Ships will target other ships but will not follow their target currently.
  • Instead of making a Beacon in Blender I made a really horrid looking missile boat. Too embarrassed to  show a picture of it.

Now to show you a picture!
(Missile Ships killing each other: click for larger image)
It doesn't really look all that good but I wanted to put up a picture for this post and that is what I had available. The explosions need a lot of work but they are flashy and highly visible right now and that's the entirety of my graphical needs at the moment. The ships are slightly modified versions of the heavy fighters shown in the picture in the last post which fire missiles from a launcher in salvos of three. The missiles track to their given target and will follow it until either they run out of "fuel" and become inert or they impact with something and explode.

I don't really have anything else to add for this post so I guess I should put up a new goal list:

 Next Round: 
  • Get ships to follow their target around until destroyed.
  • Multiple possible targets based on number of weapon hardpoints available.
  • Get the ships to stop trying to kill absolutely everything and work as teams
  • Form fleets and broadcast targets throughout fleet for precision strikes
  • Have ships follow waypoints to go from one location to another.
I think that should last me until Thursday. I will hopefully have a Trade Ship by then and can get a demo video out!

Saturday, September 15, 2012

A little bit of progress!!!

Okay so made a little progress these past few days on the in-system portion of the space game. I now have 1 ship and 1 station! Here they are:

(space station with 2 heavy fighter manually docked, 1 heavy fighter in front of the station)

As you can see the station isn't textured all that well but I don't have the assets available to put proper textures on, or do a proper UV map for it. It is just so I have something to test with once I get my next ship, a Trade Ship.

A little information about the Heavy Fighter I currently have:
  • It has 4 forward mounted stationary guns. These will likely just stay minigun-esque until I get more weapon types in the game.
  • It has 4 thrusters so that it can still move at a respectable pace with all of the shielding and weaponry it will be carrying on board.
  • The crew compliment for this ship is 4; pilot, two gunners, and a defensive analyst.
The station is supposed to be a little larger so that it will be able to be docked with by the Trade Ship, but I just wanted to get a picture out so much I forgot temporarily. Eventually I will get around to getting the UVs redone (by my awesome friend Nirur T) and possibly get new textures as well as the Trade Ship (from my IRC colleague that goes by effinAwesome) soon.

What I have been working on while they have been making eyecandy for me I have been working on the Guts of some Ship AI. I currently have my ship flying around without looking like it is having a seizure (a plus as of this morning) and it can now fire its miniguns whenever it is looking almost directly at an enemy and it is within range. I do not yet have it attempting to lock on and follow said enemy though, that will be in the next round of programming.

Next Round:
  • Get projectiles to impact and damage ships
  • Implement Hull, Armor, and Shielding systems
  • Implement Targeting and Following of the Target
  • Figure out how to use Blender to make a Beacon, which will be used when I make my demo video next week.
Hopefully I'll be able to get through all of that by Monday afternoon! I'd really like to have something new to show here by then :D

Thanks for reading, and please throw some comments up if you have any questions.

Updated the picture and flavor text with a slightly better texture and two extra heavy fighters also using a new texture.

Sunday, September 9, 2012

Now with Internet!!! (sorta)

Okay, I am now back after a 2.5week stint without the internet. I managed to do a little work on the Terrain Generator but not much at all, and none that warrants a picture being put up. I have instead spent the majority of my time away from the internet working on another project which I hope will get me a paying gig!

My current project is mostly something to show the prospective employer in lieu of having a workable portfolio up and viewable. The task was/is to produce a usable map of a Universe made up of Sectors and connections between the two. This Universe is to be scalable between 1,000 sectors and 50,000 sectors.

I have been able to get the scaling up to approximately 40,000 visible sectors, but at that point it requires nearly the full 4GB of RAM that I am allowing allocated to the program. The program is capable of generating far greater than 50,000 sectors, and so the bottleneck is in processing into renderable surfaces.

Here are some pictures of pieces of progress:




(fig1. 1,000 sectors with approximately 1700 connections between them)

In Figure 1, the red colored nodes are Sectors with centers at the shown location. Instead of using Sphere meshes, which has about 560 vertices, I am using a much smaller Isosphere mesh which has 101 vertices. The use of Isosphere meshes instead of normal Sphere meshes is a new development and should allow the display of a full 50,000 sectors without reaching the memory limit. The Sectors in the above picture are randomly placed. In the release version the sectors are placed using a Simplex Noise function and will lead to a slight clumping of Sectors which will lead to the illusion of an actual Universe model.


(fig2. Composite Image of several Screenshots)
 
In Figure 2,  parts of the composite image are labeled in red. A and B are the same image. A has all points shown as wireframe meshes, and B has the same points shown as textured and colored meshes. The pictures marked (1) in red are the wireframe and colored versions of one Bubble Group. The wireframe version is easier to distinguish the highlighted Sectors that make up the Bubble Group. The pictures marked (2) in red are effectively the same as pictures (1) but the Bubble Group selected is in another portion of the universe. The final picture, in the upper right corner of the image, is of the rendered scene composed of a portion of the Sectors in the Universe.

These two pictures are the majority of the actual showable work that I have gotten done in these last two weeks. A longer more comprehensive discussion of what makes up the images above, and new ones that I will be making in the next few days, will come next time.

Hope you enjoyed the read as much as I enjoyed writing this one!

Monday, August 20, 2012

Terrain Progress

Did some work on my Voxel Terrain Generator. I will edit this later so to show screenshots when I start working on the rendering of the Voxels. Each Voxel will represent a 13 meter volume and be divided into 16x16x16 volume areas (Chunks). It is my hope that I will be able to effectively generate and display a cavernous terrain which takes up a volume of approximately 160 Voxels long, 160 Voxels wide, and 1000 Voxels deep.

The terrain will be loosely separated into layers:
  • Soil Layer
    • 10-20m in depth from top of layer to bottom of layer
    • Contains: Soil, Loam, and/or Clay
  •  Shallow Mineral Layer
    • extends approx. 200m in depth from bottom of soil layer
    • Contains
      • Minerals: Bitumous Coal, Lignite, Bauxite, Malachite, Cassiterite, Sphalerite
      • Stone: Sandstone, Mudstone, Chalk, Conglomerate
  •  Low Mineral Layer:
    • extends approx. 200m in depth from bottom of shallow mineral layer.
    • Contains
      • Minerals: Tetrahedrite, Anthracite, Limonite
      • Stone: Phyllite, Quartzite, Shist
  • Deep Mineral Layer:
    • extends approx. 200m in depth from bottom of low mineral layer.
    • Contains
      • Stone: Basalt, Orthoclase, Granite, Gabbro
The Magma sea will extend from the base of the map up to the base of the Deep Mineral layer.

These layers are being created using multiple heightmaps generated using 2D Simplex Noise with a little random factor to alter the heightmaps so they don't look identical. The layered heightmaps are then averaged to create a slight increase in layer depths the further from the surface the layer is naturally located.

I should be done with this section of the Terrain Generator soon and should be able to post some pictures soon. Just need to get the rendered Meshes generated properly after a few more tests to deal with some data model issues.

Tuesday, August 14, 2012

General Information

This will be used as a front end for my programming projects, both open-source and closed-source. I work in Java, C, C#, C++; mostly for games and game utilities.

My current projects are as follows:
  • 100 degrees C: A forum project written in C# using the Unity 3D engine.
  • An RPG written in C# currently using a custom made engine (dev. on hold)

I will eventually get around to making Assets to be sold on the Unity Asset Store.  They will be linked to here as well.