<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7802229804614773100</atom:id><lastBuildDate>Sat, 05 Oct 2024 01:58:32 +0000</lastBuildDate><category>Ships</category><category>Universe</category><category>Procedural</category><category>Realism</category><category>Tools</category><category>AI</category><category>Detailing</category><category>Ship Building</category><category>Wormholes</category><category>ATC</category><category>Concept</category><category>Engine</category><category>Planets</category><category>Plot</category><category>Resource Networks</category><category>Shaders</category><category>UI</category><title>Freefall</title><description></description><link>http://nebulousdev.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>22</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-7002289790134086070</guid><pubDate>Fri, 23 Feb 2018 03:58:00 +0000</pubDate><atom:updated>2018-02-22T20:00:28.973-08:00</atom:updated><title>Order Matters</title><description>Shortly after the previous blog post I began socializing the test build with some friends, several of whom are experienced video game spaceship designers (if that actually means anything).&amp;nbsp; This initial version required the player to create the interior of the ship first, then design the outside around it.&amp;nbsp; Despite their experience they found it incredibly frustrating to produce anything more than a box-ship when designing from the inside out.&amp;nbsp; Even I, the person who programmed it, admitted to having some difficulties.&lt;br /&gt;
&lt;br /&gt;
This style of design was difficult for a number of reasons, not the least of which was that people find it very difficult to think about shape when they&#39;re only presented with 2D slices.&amp;nbsp; Estimating weapon coverage and maneuvering thruster placement was next to impossible.&lt;br /&gt;
&lt;br /&gt;
So of course I told my play testers they were wrong and kept forging ahead.&lt;br /&gt;
&lt;br /&gt;
No, what I did instead of spend about two months re-writing the hull designer to work in the reverse order which turned out to be much more intuitive.&amp;nbsp; Players now design the exterior of the ship first and place their interiors inside that shell.&amp;nbsp; To be honest, I had taken inspiration for the inside-out style of design from &lt;a href=&quot;http://hazeron.com/&quot;&gt;Shores of Hazeron&lt;/a&gt;, but given how obtuse just about everything in that game is I really should have known this would be a losing proposition.&lt;br /&gt;
&lt;br /&gt;
The best news: people now tell me they are actually having fun with testing, and have even reported firing up the game on their own just to play around with it.&amp;nbsp; So without further ado, here are some example builds.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKyZ1UC9bdn4cF4QTQqjKVm_HxdEdfBFJDWR09RZ-R-ziqgu-9n0ICtOfFtWk_6-Mha5Dr29fOCx8fc22V3qXorx8VgcGtRQG0f7n4QWgp_EKghLzQe15JnQ2oKxG8z0Iq2y72xAbWLGs/s1600/missile+corvette.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;504&quot; data-original-width=&quot;983&quot; height=&quot;164&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKyZ1UC9bdn4cF4QTQqjKVm_HxdEdfBFJDWR09RZ-R-ziqgu-9n0ICtOfFtWk_6-Mha5Dr29fOCx8fc22V3qXorx8VgcGtRQG0f7n4QWgp_EKghLzQe15JnQ2oKxG8z0Iq2y72xAbWLGs/s320/missile+corvette.png&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENmbtzXZutsgTsRGazcg31f5-Kq1iZUSoo3B2Y7dj9M1lcVgoy-77VjksVVKRHUs6Q6Zrkd9CKdXvxsxjDBAD_n2ON2SGc1_2c37tfSdDp55k_NMY_sGUmEQMGsEpnKU0ZmPeB72igUE/s1600/dd2.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;741&quot; data-original-width=&quot;1275&quot; height=&quot;185&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjENmbtzXZutsgTsRGazcg31f5-Kq1iZUSoo3B2Y7dj9M1lcVgoy-77VjksVVKRHUs6Q6Zrkd9CKdXvxsxjDBAD_n2ON2SGc1_2c37tfSdDp55k_NMY_sGUmEQMGsEpnKU0ZmPeB72igUE/s320/dd2.jpg&quot; width=&quot;320&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq6qrN8FMUQckSCh6XZJm50k9h2kkqZ_dIXPWy7jttDrdogZIFjCFziuhHKpSTwBEB5j-8AaQCaNvnt5f6eaIAEVq0t34YCGZEI9rqtyqyXaK52bGMp0s8CDKJSdD4n34ZMFVQFDfjgBM/s1600/destroyer.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;738&quot; data-original-width=&quot;1277&quot; height=&quot;184&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq6qrN8FMUQckSCh6XZJm50k9h2kkqZ_dIXPWy7jttDrdogZIFjCFziuhHKpSTwBEB5j-8AaQCaNvnt5f6eaIAEVq0t34YCGZEI9rqtyqyXaK52bGMp0s8CDKJSdD4n34ZMFVQFDfjgBM/s320/destroyer.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjknlwo7sn1U778H2TyU9D1dav3hls89objRVzhkSTCqpdPXeVXcMNSH2S73LNOddpFaY-po4917GdBZjseyjstTcwW5bJp2jTKEyEg3kzmr4kNsA41xlRhkzKDnbRtoPjQMMqD9N_ttPo/s1600/miks+ship.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;754&quot; data-original-width=&quot;1338&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjknlwo7sn1U778H2TyU9D1dav3hls89objRVzhkSTCqpdPXeVXcMNSH2S73LNOddpFaY-po4917GdBZjseyjstTcwW5bJp2jTKEyEg3kzmr4kNsA41xlRhkzKDnbRtoPjQMMqD9N_ttPo/s320/miks+ship.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnLdOrVm3kmqH-eA-rWwYjJ0ysVOhR8ec8nON0VRQZ94gppjTGU-3RVNfi1fyZvfCLvxS7ES2qoIaVWh83ms9TESRMU7sEjPuCkieEHLGCVRZ0H8HFtdoQ2NhS-jPH-a0X8ezOVE_lZ6E/s1600/anr+untitled.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;542&quot; data-original-width=&quot;786&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnLdOrVm3kmqH-eA-rWwYjJ0ysVOhR8ec8nON0VRQZ94gppjTGU-3RVNfi1fyZvfCLvxS7ES2qoIaVWh83ms9TESRMU7sEjPuCkieEHLGCVRZ0H8HFtdoQ2NhS-jPH-a0X8ezOVE_lZ6E/s320/anr+untitled.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The next milestone is a few usability improvements to the designer, including the ability to save and load multiple ships instead of always using the same file.&amp;nbsp; After that, it&#39;s time to leave well-enough alone and move on to turning these ship models into usable RTS units.</description><link>http://nebulousdev.blogspot.com/2018/02/order-matters.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKyZ1UC9bdn4cF4QTQqjKVm_HxdEdfBFJDWR09RZ-R-ziqgu-9n0ICtOfFtWk_6-Mha5Dr29fOCx8fc22V3qXorx8VgcGtRQG0f7n4QWgp_EKghLzQe15JnQ2oKxG8z0Iq2y72xAbWLGs/s72-c/missile+corvette.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-6804766629592015717</guid><pubDate>Sun, 10 Dec 2017 06:46:00 +0000</pubDate><atom:updated>2017-12-09T22:46:34.184-08:00</atom:updated><title>Ship Building Demo</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;iframe width=&quot;320&quot; height=&quot;266&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/ws_y60LREEk/0.jpg&quot; src=&quot;https://www.youtube.com/embed/ws_y60LREEk?feature=player_embedded&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
I spent today ironing out some &quot;final&quot; bugs in the ship builder and re-building the demo ship from the ground up.&amp;nbsp; I now have an alpha build of the editor which I sent to a few friends, so it&#39;ll be interesting to see what they come up with.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The next step is baking this construction model into a real, functional strategy game unit.&lt;/div&gt;
</description><link>http://nebulousdev.blogspot.com/2017/12/ship-building-demo.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/ws_y60LREEk/default.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-530663129489030564</guid><pubDate>Wed, 06 Dec 2017 07:51:00 +0000</pubDate><atom:updated>2017-12-06T00:10:42.583-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Resource Networks</category><category domain="http://www.blogger.com/atom/ns#">Ship Building</category><category domain="http://www.blogger.com/atom/ns#">Ships</category><category domain="http://www.blogger.com/atom/ns#">Tools</category><title>Resource Networks</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCX6uFqrdRf55G-mUD8ffxRSOTsCbWilu883QShU2dbXmNg4uIOYeewbkAH3tgirLTPxtXkko709Vi9erjea10RbOmPHBqrdmgDPrpUa1wA0MqwMjnrS5evuRPAU8BQwdXYc_kT-GcQTE/s1600/Photoshop_2017-12-05_21-28-53.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;391&quot; data-original-width=&quot;843&quot; height=&quot;185&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCX6uFqrdRf55G-mUD8ffxRSOTsCbWilu883QShU2dbXmNg4uIOYeewbkAH3tgirLTPxtXkko709Vi9erjea10RbOmPHBqrdmgDPrpUa1wA0MqwMjnrS5evuRPAU8BQwdXYc_kT-GcQTE/s400/Photoshop_2017-12-05_21-28-53.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
One of the core mantras I really want to come across in this game is the 6 P&#39;s (proper preparation prevents piss-poor performance).&amp;nbsp; Players who think through the design of their ship will always win versus players who slap a lot of guns on a box and hope for the best.&amp;nbsp; One of the most important factors in how a ship will perform in combat will be how well it can withstand damage.&lt;br /&gt;
&lt;br /&gt;
Unlike most voxel-based games, damage to blocks will not necessarily make them disappear (this will only happen where a specific DR for the block is beat, mostly from very heavy weapons).&amp;nbsp; When the exterior blocks take hits, they will have a probability of causing damage to interior blocks.&amp;nbsp; This damage can include starting fires, bursting pipes, severing data links, causing atmosphere leaks, etc.&amp;nbsp; For example, if the communication link between CIC and a gun is severed, that gun will need to switch to local control (which will incur penalties).&lt;br /&gt;
&lt;br /&gt;
This suggests that there are pipes to burst and conduits to break.&amp;nbsp; In order to provide the player the ability to build redundancy into their design (e.g. so a single hit to the wrong place won&#39;t knock out power to half the ship) I had to implement a system of piping and wiring.&amp;nbsp; This system is called Resource Networks&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBSTm6jeF38ZrI8ASrz9dXHOyJ-8R3vQm9CHYycMuLGK9hGCMZc3lQDDGTNUxObe65BPgPbcojUSs9_QSrbZYFhgShgYwGfQlY03-ZrazqeSq2pmYgdv92A9w3feE-WsC1i-JaRnnFZzU/s1600/Photoshop_2017-12-05_21-31-42.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;656&quot; data-original-width=&quot;1059&quot; height=&quot;247&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBSTm6jeF38ZrI8ASrz9dXHOyJ-8R3vQm9CHYycMuLGK9hGCMZc3lQDDGTNUxObe65BPgPbcojUSs9_QSrbZYFhgShgYwGfQlY03-ZrazqeSq2pmYgdv92A9w3feE-WsC1i-JaRnnFZzU/s400/Photoshop_2017-12-05_21-31-42.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Foreground: Water pump (left), Fuel pump (right)&lt;br /&gt;
Background: Circuit breaker (left), Reactor (right)&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
In the images you can see a simple version of an engine room with its various connections.&amp;nbsp; These include fuel and water tanks, engines, a reactor loop (reactor, steam turbines, condenser), and pumps.&lt;br /&gt;
&lt;br /&gt;
Every resource system tile (4 per regular tile) can have a conduit traveling through it in 2 of 3 directions (e.g. if a pipe it going lengthwise and widthwise, nothing can go vertically).&amp;nbsp; Certain types of conduits can also jump others on the same level, as you can see in the very center of the top image where the grey power cable goes through the red pipe.&amp;nbsp; I haven&#39;t implemented specific geometry to illustrate this jump yet, so right now they just clip through each other.&lt;br /&gt;
&lt;br /&gt;
Equipment can have Resource Connections at positions in the grid.&amp;nbsp; These are divided into Sources, Sinks, and Storage.&amp;nbsp; Every tick sources output a resource into the net, and sinks consume that resource.&amp;nbsp; If there is more demand than supply, connections become starved and the block may stop functioning.&amp;nbsp; Special types of sinks with the &quot;CanPull&quot; flag set can also draw from storages.&amp;nbsp; A pump, for example, is implemented as a can-pull sink and a source, allow equipment connected to the output to receive resources stored in tanks they wouldn&#39;t be able to pull themselves.</description><link>http://nebulousdev.blogspot.com/2017/12/resource-networks.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCX6uFqrdRf55G-mUD8ffxRSOTsCbWilu883QShU2dbXmNg4uIOYeewbkAH3tgirLTPxtXkko709Vi9erjea10RbOmPHBqrdmgDPrpUa1wA0MqwMjnrS5evuRPAU8BQwdXYc_kT-GcQTE/s72-c/Photoshop_2017-12-05_21-28-53.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-3813553533989019283</guid><pubDate>Tue, 28 Nov 2017 03:42:00 +0000</pubDate><atom:updated>2017-11-27T19:42:34.702-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Concept</category><category domain="http://www.blogger.com/atom/ns#">Ship Building</category><category domain="http://www.blogger.com/atom/ns#">Ships</category><title>New Beginnings</title><description>It&#39;s been more than four years since I&#39;ve had a project worth posting about on here.&amp;nbsp; Previously this blog was dedicated to progress on my own game engine.&amp;nbsp; Game engines are cool, but I&#39;m more interested in making games.&lt;br /&gt;
&lt;br /&gt;
Over the past two months I&#39;ve been laying the groundwork for a new game project, and I finally have some progress worth presenting.&amp;nbsp; Most of that time has been spent creating extensible and generic components for building ships (compartments, machinery, exterior hull, etc) and an interface for putting them together.&lt;br /&gt;
&lt;br /&gt;
So what do the first results look like?&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5b5_7Qyb7eBXY-by9_cUFiaRWLC8IKGFxGyJQ1ofGy2TVgsG3nfpQsDthycLcgODG4w0SOMF4p0ZAHvRqew4aplZric7i8o1Fs_o05U2vE5V0fiqqRKpd1TR2LL9_i8EAJ3uJ_-TvCzo/s1600/Photoshop_2017-11-27_16-12-05.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;458&quot; data-original-width=&quot;1106&quot; height=&quot;165&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5b5_7Qyb7eBXY-by9_cUFiaRWLC8IKGFxGyJQ1ofGy2TVgsG3nfpQsDthycLcgODG4w0SOMF4p0ZAHvRqew4aplZric7i8o1Fs_o05U2vE5V0fiqqRKpd1TR2LL9_i8EAJ3uJ_-TvCzo/s400/Photoshop_2017-11-27_16-12-05.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Example Frigate Exterior&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji_WrGwX2rKeMb666BKROjQ0KDXKIileHKXn9bK2651v3yPkha1LdRMtNi7Tdt_tAgyojF_GUVDKFvP3i9RQHhxGQygY2px1iRgY4juk9dmMD5x70K3AxX0Vv7-qV8aqCQgqW18zJgpLQ/s1600/deckplan.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1496&quot; data-original-width=&quot;816&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji_WrGwX2rKeMb666BKROjQ0KDXKIileHKXn9bK2651v3yPkha1LdRMtNi7Tdt_tAgyojF_GUVDKFvP3i9RQHhxGQygY2px1iRgY4juk9dmMD5x70K3AxX0Vv7-qV8aqCQgqW18zJgpLQ/s400/deckplan.jpg&quot; width=&quot;217&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Interior Deck Layout&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
This game is a space strategy game with some twists.&amp;nbsp; I grew up playing games like Homeworld, and I loved the real-time strategy combined with the three dimensional battlefield (and of course, the spaceships).&amp;nbsp; But something has always bugged me about strategy games, and it is the fact that a gigantic space battlecruiser and an infantryman are treated exactly the same way: they are a singular unit which has x hitpoints before it dies.&lt;br /&gt;
&lt;br /&gt;
I might be biased but ships are far, far more than a singular unit.&amp;nbsp; They&#39;re complex machines operated by hundreds of people.&amp;nbsp; In this game you can command your ship in a traditional RTS sense, but you can also go inside and give crewmembers orders to, for example, patch some damage or fight a fire.&amp;nbsp; I want the player to be able to see the chaos inside of a heavily damaged ship, and try to task their (surviving) crewmembers with repairs to keep the ship fighting a few moments longer.&lt;br /&gt;
&lt;br /&gt;
Ships are comprised of compartments which have equipment such as engines, pumps, or terminals inside them.&amp;nbsp; This equipment is connected together with piping and wiring to form resource networks which allow them to function, such as providing power to blocks which need it.&amp;nbsp; The exterior hull is built in a Space Engineers style around the interior.&lt;br /&gt;
&lt;br /&gt;
Battles will take place between small numbers of ships (2-3 per player) due to their complexity, with long time-to-kill for an individual ship.&amp;nbsp; As ships take damage, equipment will be damaged and resource connections broken necessitating repairs.&amp;nbsp; Fires can also be started, and will spread if not fought quickly.&amp;nbsp; If an exterior block has taken too much damage it can be destroyed completely, possibly opening a compartment to space.&lt;br /&gt;
&lt;br /&gt;
One thing I am absolutely adamant about is that there will be no point where a ship loses all of its health and spontaneously ceases to exist.&amp;nbsp; As long as there is a single living crewman and functional equipment on the ship, it can still be selected and given orders (whether it can carry out those orders is another matter).&lt;br /&gt;
&lt;br /&gt;
So join me on this journey into making the most micro-manage-y spaceship RTS ever.&lt;br /&gt;
&lt;br /&gt;</description><link>http://nebulousdev.blogspot.com/2017/11/new-beginnings.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5b5_7Qyb7eBXY-by9_cUFiaRWLC8IKGFxGyJQ1ofGy2TVgsG3nfpQsDthycLcgODG4w0SOMF4p0ZAHvRqew4aplZric7i8o1Fs_o05U2vE5V0fiqqRKpd1TR2LL9_i8EAJ3uJ_-TvCzo/s72-c/Photoshop_2017-11-27_16-12-05.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-653152880135096055</guid><pubDate>Wed, 14 Aug 2013 00:16:00 +0000</pubDate><atom:updated>2013-08-13T17:16:30.310-07:00</atom:updated><title>Let&#39;s Talk About Planets</title><description>&lt;br /&gt;
It&#39;s been a while since I&#39;ve posted anything, but I certainly have not been idle. &amp;nbsp;In fact, the reason I haven&#39;t posted anything is because I have been so busy! &amp;nbsp;Usually I get an hour or two every night when I&#39;m back from work/gym to work on this project, and writing blog posts is time consuming. &amp;nbsp;So usually I get coding instead of blogging, but I don&#39;t want to neglect this thing too much.&lt;br /&gt;
&lt;br /&gt;
Sit back, this&#39;ll be a long one.&lt;br /&gt;
&lt;br /&gt;
Up until recently, all of my terrestrial planets have been featureless, uniform spheres. &amp;nbsp;You could land on them, but you couldn&#39;t really go sightseeing. &amp;nbsp;Not so anymore.&lt;br /&gt;
&lt;br /&gt;
I&#39;ve always been a fan of building up concepts from the bottom, so if we&#39;re going to talk about planets the first thing we need to talk about is spherical quadtrees. &amp;nbsp;Each planet has six faces, which we&#39;ll call &#39;front&#39;, &#39;back&#39;, &#39;left&#39;, &#39;right&#39;, &#39;up&#39;, and &#39;down&#39;. &amp;nbsp;Initially, each one of these faces is a flat grid of 32x32 vertices. &amp;nbsp;But planets are not square, so by normalizing the position vector of each vertex we end up with a unit sphere. &amp;nbsp;Moving these vertices along their normals by the equitorial radius gives us a sphere the size of the planet.&lt;br /&gt;
&lt;br /&gt;
Each of these faces is the root node of a quad tree. &amp;nbsp;Each quad tree is capable of dynamically subdiving to provide higher levels of detail. &amp;nbsp;The reasons for this being necessary should be obvious, but I will state them anyway: it would require gigabytes of memory to store all of the vertices necessary to render a planet at a meaningful resolution (say, 5 meters between vertices). &amp;nbsp;Also, the majority of this fidelity cannot be appreciated when it is on a distant mountain, or from a ship looking down from orbit. &amp;nbsp;This method reduces the load on the GPU considerably, and consumes much less uncessary memory.&lt;br /&gt;
&lt;br /&gt;
Every level down on the tree covers one quarter of the area of the parent, meaning we can represent more detail with the same group of 1024 vertices. &amp;nbsp;These subdivision continues until we reach a desired level of fidelity (based on a certain distance between vertices), at which point the node becomes a leaf. &amp;nbsp;Terrain leaves have collision meshes, and can be stood on. &amp;nbsp;In order to minimize physics complexity, only active pages (with objects directly above them) and their immediate neighbors have collision meshes.&lt;br /&gt;
&lt;br /&gt;
The SphericalQuadTree class features a series of utilities for finding neighboring tiles given a direction of movement. &amp;nbsp;These utilities use a series of lookup tables to find the appropriate neighbor, and they even work across the &quot;face&quot; border. &amp;nbsp;Constructing these lookup tables took a while, and in order to get it right I actually had to make a paper cube that represented the 6 faces of the planet and label it.&lt;br /&gt;
&lt;br /&gt;
With that stuff out of the way, we can talk about terrain generation.&lt;br /&gt;
&lt;br /&gt;
Every planet has a terrain type and a seed value. &amp;nbsp;From there, we can generate the terrain for the entire planet. &amp;nbsp;This is done with an interface called the Landscaper, which has several different subclasses for different terrain types. &amp;nbsp;Every time a new vertex is created in a terrain page it calls a method on the Landscaper and then adds that to the equitorial radius, moving it up or pushing it down.&lt;br /&gt;
&lt;br /&gt;
To do all of the generating I am using libnoise, an awesome open-source coherent noise generation library.&lt;br /&gt;
&lt;br /&gt;
The first important thing to realize is that when I say &quot;type&quot; I don&#39;t mean things like plains and mountains. &amp;nbsp;The terrain type defines what type of planet it is. &amp;nbsp;Currently I am working on the simplest, called &quot;Barren&quot;, to figure out what works and what doesn&#39;t. &amp;nbsp;After that is done, I will implement the others using the techniques from Barren.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an example of what I&#39;ve got so far (with vertices colored based on altitude):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBF2VEe1Reg8xvfyaV0mBJeiXwCHmxfQUWjbVgDOorvSyf_Xbc9QXyudVo-bkFPuDemtFeaQaSEupB496PAL6CnFNu-7lZOIv4eAVMa5x0bNZdnGpCihbwce4lgDyTm0L4R3fgNzbadoE/s1600/planet1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBF2VEe1Reg8xvfyaV0mBJeiXwCHmxfQUWjbVgDOorvSyf_Xbc9QXyudVo-bkFPuDemtFeaQaSEupB496PAL6CnFNu-7lZOIv4eAVMa5x0bNZdnGpCihbwce4lgDyTm0L4R3fgNzbadoE/s400/planet1.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZOHNFcro-gfzsW2OqqrbYZrcOB-w3h3-5-cMIm59Eh8pngYqtbZwh3FpJyPzqFR_iV5ZxgIp1XKMJsdRGLaAhjWO3Bc0aMmiZmIW4n_QWUd712ihB9uitqapA8xl8n_gs5H4lOJ8hvA0/s1600/planet2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZOHNFcro-gfzsW2OqqrbYZrcOB-w3h3-5-cMIm59Eh8pngYqtbZwh3FpJyPzqFR_iV5ZxgIp1XKMJsdRGLaAhjWO3Bc0aMmiZmIW4n_QWUd712ihB9uitqapA8xl8n_gs5H4lOJ8hvA0/s400/planet2.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
And here are the currently-planned terrain types:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Barren&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
These planets are geologically dead (if they were ever very active at all). &amp;nbsp;Picture these planets looking a lot like the Moon. &amp;nbsp;They&#39;ll usually have rough mountainous areas and relatively flat maria produced by lava flows. &amp;nbsp;These types of planets will never have an atmosphere, and because of this will usually be heavily cratered.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Irregular&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
These aren&#39;t really planets so much as large captured asteroids. &amp;nbsp;Mimas is an example of what I&#39;m going for here: a large, oddly shaped ball of rock. &amp;nbsp;Most of the geological features here will be cracks and craters in the surface.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Magmatic&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&quot;Lava&quot; planets are generally young planets which haven&#39;t cooled down after their formation. &amp;nbsp;The Earth was probably like this for the first few million years of its existence. &amp;nbsp;The surface of these planets mostly appears to be &quot;continents&quot; of cooled magma seperated by gaping fissues of red. &amp;nbsp;Glowing rivers of lava can be easily seen from orbit. &amp;nbsp;These planets may or may not have an atmosphere, which would mostly be sulfur and other products of volcanic activity.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ice&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
On the exact opposite end of the spectrum are ice planets. &amp;nbsp;Enceladus and Europa are great examples of these types of planets. &amp;nbsp;These planets will feature hilly white wastes, sprinkled with craters. &amp;nbsp;Enceladus also has interesting fractures on the surface caused by tidal stresses from the primary. &amp;nbsp;Some researchers suggest that Europa may have a sub-surface ocean. &amp;nbsp;I&#39;m not sure if I&#39;ll be able to do something like this, but it could theoretically be modeled with some kind of terrain shell (I will have to think about this). &amp;nbsp;These planets may or may not have atmospheres.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Martian&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
I couldn&#39;t think of a great name for these, but basically they are relatively-habitable planets with terrain that was shaped by things like wind, dust storms, and glacier movement. &amp;nbsp;Rivers may appear on these planets, though the liquid is long gone.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Terran&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the gems of the galaxy. &amp;nbsp;These are what the players are really hunting for if they want their best chance at survival. &amp;nbsp;These planets are much like Earth, with diverse geological regions and liquid water. &amp;nbsp;This will be the most difficult terrain generator to implement, and most likely the slowest because of the large number of noise modules needed to generate interesting terrain.&lt;br /&gt;
&lt;br /&gt;
One of the things I want to add on to the basic terrain generation is the placement of monolothic features such as cataclysmic craters and giant mountains a la Olympus Mons. &amp;nbsp;I&#39;m not sure how I can integrate this with the noise modules, but I will probably have to end up extending libnoise in order to do it.&lt;br /&gt;
&lt;br /&gt;
Also, I mentioned atmospheres in several posts above. &amp;nbsp;I have a very rudimentary framework in place for atmospheres, but currently they are not actually implemented. &amp;nbsp;In terms of their actual generation, I&#39;ll save that for another post when I actually have something concrete done for it.&lt;br /&gt;
&lt;br /&gt;
Once the actual generation of the physical terrain is complete, I&#39;ll be moving on to coloring them. &amp;nbsp;I have been thinking a lot about how to accomplish the texturing itself. &amp;nbsp;The planet terrain has a unique vertex class and its own set of pixel and vertex shaders, so I have a lot of freedom to try any methods I want without altering how anything else in the engine is rendered. &lt;br /&gt;
&lt;br /&gt;
One of the first ideas to cross my mind was to do it all procedurally on the GPU, but I quickly decided that it would be too difficult to produce realistic results with only the data available to the GPU.&lt;br /&gt;
&lt;br /&gt;
The idea I am leaning most heavily towards involves several steps. &amp;nbsp;I won&#39;t go into much detail until I actually have something implemented, but here is a rough overview. &amp;nbsp;First, we take the output of the noise modules determining things like terrian type and &quot;biome&quot; type. &amp;nbsp;Next, we also need to take into account the angle between the surface normal and the up-vector at that location on the planet (because this changes, the planet is round!) so that we don&#39;t get things like grass growing on the side of a cliff. &amp;nbsp;Once we have some information about the type of ground this vertex represents, we can blend together a palette of available ground textures to get the desired result.&lt;br /&gt;
&lt;br /&gt;
Hopefully soon I&#39;ll have some more progress pictures for the different planet types (without textures). &amp;nbsp;Until then, onward and upward.</description><link>http://nebulousdev.blogspot.com/2013/08/lets-talk-about-planets.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBF2VEe1Reg8xvfyaV0mBJeiXwCHmxfQUWjbVgDOorvSyf_Xbc9QXyudVo-bkFPuDemtFeaQaSEupB496PAL6CnFNu-7lZOIv4eAVMa5x0bNZdnGpCihbwce4lgDyTm0L4R3fgNzbadoE/s72-c/planet1.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-9041929707153970140</guid><pubDate>Wed, 27 Mar 2013 01:19:00 +0000</pubDate><atom:updated>2013-03-26T18:21:05.977-07:00</atom:updated><title>Starfield Builder (Iteration 2)</title><description>As part of the directx 11 port, I&#39;ve finally revisited the starfield generator.&amp;nbsp; There isn&#39;t much new in this version, as it was mostly just porting dx9 to 11, but it finally draws textures on the quads for the stars, and colorizes them to match the actual star color.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcRMbh2eKgiLGC6aJy7GDrl4VIC9D2K6G7t6i5GBncVFIuqboblCWZVAuINDBkIC9fMhB6kNqfMFTuJXjKixWLU_ME8Bl9OcrIPGsx6dP_uE3SxutXnZwTFUOwYTkFotGZJlJJJ0NP3gg/s1600/galaxy_panoramic_2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;132&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcRMbh2eKgiLGC6aJy7GDrl4VIC9D2K6G7t6i5GBncVFIuqboblCWZVAuINDBkIC9fMhB6kNqfMFTuJXjKixWLU_ME8Bl9OcrIPGsx6dP_uE3SxutXnZwTFUOwYTkFotGZJlJJJ0NP3gg/s400/galaxy_panoramic_2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
The colors are very subtle, but still noticeable.&amp;nbsp; I&#39;d rather have them that way, to be honest, instead of being obnoxiously in-your-face.&lt;br /&gt;
&lt;br /&gt;
A simple re-write, but the results look much better!</description><link>http://nebulousdev.blogspot.com/2013/03/starfield-builder-iteration-2.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcRMbh2eKgiLGC6aJy7GDrl4VIC9D2K6G7t6i5GBncVFIuqboblCWZVAuINDBkIC9fMhB6kNqfMFTuJXjKixWLU_ME8Bl9OcrIPGsx6dP_uE3SxutXnZwTFUOwYTkFotGZJlJJJ0NP3gg/s72-c/galaxy_panoramic_2.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-5863452293705717199</guid><pubDate>Fri, 15 Mar 2013 04:53:00 +0000</pubDate><atom:updated>2013-03-14T21:55:52.057-07:00</atom:updated><title>Ring Systems (Part 1)</title><description>I think it&#39;s pretty safe to say that Saturn&#39;s rings are one of the coolest things in the solar system (or at least one of the prettiest).&amp;nbsp; I&#39;ve been wanting to give more love to rings for a while.&amp;nbsp; When I originally implemented them I was having quite a bit of stenciling problems (zbuffering doesn&#39;t work at these scales), and dropped them after I got them barely rendering.&amp;nbsp; Now that I&#39;ve been slowly rebuilding every part of the engine to work with DirectX 11 I&#39;ve come back around to gas giants.&amp;nbsp; Instead of doing the jovian shader immediately, I decided I really wanted to get rings right first (rationalizing to myself that they applied to all types of planets, and was thus a bigger step than just one specific type).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;The formation of ring systems isn&#39;t well understood, so I had to take a somewhat less-than-scientific approach to generating my own.&amp;nbsp; To over-simplify it, rings are basically a collection of particles inside of a planet&#39;s Roche Limit, meaning that the gravity of the primary is too strong inside that limit to allow them to coalesce into a planet.&amp;nbsp; I did a bit of reading on what we know about Saturn&#39;s rings and tried to nail down a way that they could be generated programmatically.&amp;nbsp; For a first iteration, I&#39;m pleased with the results.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Structure&lt;/h3&gt;
&lt;br /&gt;
The Voyager probes were the first to discover that Saturn&#39;s rings were more complex than just the two main rings we could make out at our distance.&amp;nbsp; In reality, they are comprised of hundreds of thousands of tiny ringlets.&amp;nbsp; It&#39;s generally theorized that the structure of ring systems is closely tied to the moons orbiting the planet that hosts the rings.&amp;nbsp; The interaction of the gravity of the moons and planet with the ring particles creates &quot;divisions&quot; in the rings.&amp;nbsp; Moons that produce this effect are called &quot;shepherd moons&quot;.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
To create the major structures I&#39;m using a Weibull distribution modified by a portion of the number of moons the planet has.&amp;nbsp; There is a minimum value, so there is still some variety even if the planet has no moons.&amp;nbsp; &quot;Major structures&quot; includes rings and divisions.&amp;nbsp; By taking the modulus of the iterator in each loop I can alternate between divisions and rings.&amp;nbsp; An Inverse Gamma distribution is used to determine structure thickness, with the scale argument for divisions being smaller than rings.&amp;nbsp; Each structure is then written to the texture, with the alpha value varied using Perlin Noise to keep them from appearing as one solid color.&lt;br /&gt;
&lt;br /&gt;
Here are some examples (each ring is given a random color to make them distinct during development):&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc20f9XMMmUXyaIRiH86PSob8qfS8ASRfqm-lPBeZh__5OBUXNoabs2m9I1zGjdjP7ZgQjWuTXWk2h7cE1xGzvBcWzEFrZBIk5OsxPxqCcXYDgHxp-OhsM3jDE91sx8f527qCOcxex0RU/s1600/s9kRyM0.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc20f9XMMmUXyaIRiH86PSob8qfS8ASRfqm-lPBeZh__5OBUXNoabs2m9I1zGjdjP7ZgQjWuTXWk2h7cE1xGzvBcWzEFrZBIk5OsxPxqCcXYDgHxp-OhsM3jDE91sx8f527qCOcxex0RU/s400/s9kRyM0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Rainbow Rings!&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJe06wZjWcceT-zkd4_5zOS6U-Fw-iEW2bbwhVrXM3hQK7t3gQMTLBLufCqGPuiQ2qbDH9K2cO4Vl8esvACIbepQ4-m-4jk_I7o3e8eNY3SoJREZO41tZcO2OvGc7neKKD2erlJeSpKJY/s1600/zhiNU0Y.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJe06wZjWcceT-zkd4_5zOS6U-Fw-iEW2bbwhVrXM3hQK7t3gQMTLBLufCqGPuiQ2qbDH9K2cO4Vl8esvACIbepQ4-m-4jk_I7o3e8eNY3SoJREZO41tZcO2OvGc7neKKD2erlJeSpKJY/s400/zhiNU0Y.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There will be more on composition in a minute, but for now just know that each ring will have a general color.&amp;nbsp; To break up that homogeneity I added &quot;minor structures&quot;, which are a randomly generated number of 1-texel wide rings roughly uniformly distributed throughout the major rings to add some flair.&amp;nbsp; Right now they&#39;re just green to make them stand out:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFi8bBvKjEOxqbGdv6wTdtb98IKsPG_oZEVmTD9cdHXF8JAhCqbmDhc27qEoxkNbIVOQK8RthhkpFK16DQ5iy0ozSdrXzWO6CKLSGePmzdsZEurhoh6FDnkPY08VMGeXPGdHByKmyQ4Mw/s1600/0zSUktk.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;111&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFi8bBvKjEOxqbGdv6wTdtb98IKsPG_oZEVmTD9cdHXF8JAhCqbmDhc27qEoxkNbIVOQK8RthhkpFK16DQ5iy0ozSdrXzWO6CKLSGePmzdsZEurhoh6FDnkPY08VMGeXPGdHByKmyQ4Mw/s400/0zSUktk.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Composition &amp;amp; Color&lt;/h3&gt;
&lt;br /&gt;
Saturn&#39;s rings are comprised primarily of water-ice, with fragments of rock, dust, and minerals providing most of the color.&amp;nbsp; Right now all of the colors seen here are only for testing purposes.&amp;nbsp; Even though they look awesome, I don&#39;t want clown planets sprinkled around the galaxy.&lt;br /&gt;
&lt;br /&gt;
This won&#39;t be implemented until much later, but the appearance of rings will eventually be determined by the composition of the planet they orbit.&amp;nbsp; The reason this feature is on hold for a while is because I have yet to figure out a good way to smear elements around the solar system with interesting distribution.&amp;nbsp; Before I can determine which elements will be present in the rings (and thus, which colors) I will need to determine the composition of the planet.&lt;br /&gt;
&lt;br /&gt;
In general, lighter elements tend to be pushed into the outer solar system during stellar ignition (which is why all our outer planets are gas giants).&amp;nbsp; This is because when a star finally ignites the sudden burst of solar wind pushes the lighter elements away faster, leaving the silicates and heavy elements to form rocky planets.&lt;br /&gt;
&lt;br /&gt;
Once I&#39;ve finally managed to determine the composition of the planet I can take that and color the rings.&amp;nbsp; Right now I&#39;m thinking that the more abundant materials of the planet will form the major rings, and the rarer and often brighter elements will provide the hint of variety in the minor rings.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Other Cool Stuff (in the future)&lt;/h3&gt;
&lt;br /&gt;
Eventually, I&#39;ll need to give the rings some real mass so that when you fly through them you don&#39;t realize it&#39;s really just a textured triangle ring.&amp;nbsp; Saturn&#39;s rings are made of particles ranging from a few centimeters to ten or more meters.&amp;nbsp; In terms of thickness, they range from a few meters to almost a kilometer.&amp;nbsp; In order to get this thickness, the shader will have to do a few things.&amp;nbsp; The first will be to fade away the texture nearest to the camera so there is a hole (in much the same way that you can&#39;t see the fog closest to you).&amp;nbsp; In order to fill that hole in the texture, I&#39;ll have to render dust specks in the field of view.&amp;nbsp; For more substantial particles, I haven&#39;t made up my mind on how to implement those.&amp;nbsp; Creating unique geometry on the fly for dozen or even hundreds of meter-sized asteroids seems like it would be a strain, even using geometry shaders.&amp;nbsp; Voxels may be the answer here, but I haven&#39;t yet implemented a sparse oct-tree renderer as it would be quite a task.&lt;br /&gt;
&lt;br /&gt;
But I can dream.</description><link>http://nebulousdev.blogspot.com/2013/03/ring-systems-part-1.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc20f9XMMmUXyaIRiH86PSob8qfS8ASRfqm-lPBeZh__5OBUXNoabs2m9I1zGjdjP7ZgQjWuTXWk2h7cE1xGzvBcWzEFrZBIk5OsxPxqCcXYDgHxp-OhsM3jDE91sx8f527qCOcxex0RU/s72-c/s9kRyM0.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-6628473525375466900</guid><pubDate>Wed, 19 Dec 2012 02:02:00 +0000</pubDate><atom:updated>2013-02-21T19:17:25.175-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tools</category><title>Upgrading to VS2012</title><description>Last week I upgraded my IDE to Visual Studio 2012.&amp;nbsp; I do not regret this decision one bit.&amp;nbsp; Based on my experiences so far, I can safely say that I can stick with my opinion that Visual Studio is the one thing that Microsoft got very right.&lt;br /&gt;
&lt;br /&gt;
I especially love the new Dark theme, which matches nicely with my chosen syntax color schemes and makes the program much less of an eyesore when working for many hours.&lt;br /&gt;
&lt;br /&gt;
The upgrade took a full night, since I spent a lot of it refactoring my multiple libraries into one &#39;libnebulous&#39;, as well as recompiling all of my third party libraries using the new C++11 compiler which shipped with the program.&lt;br /&gt;
&lt;br /&gt;
Now I am deep into the process of upgrading to DirectX 11, and I am starting to think it is going to take a long time.&amp;nbsp; A very long time indeed.</description><link>http://nebulousdev.blogspot.com/2012/12/upgrading-to-vs2012.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-5933999521196908099</guid><pubDate>Tue, 11 Dec 2012 02:59:00 +0000</pubDate><atom:updated>2013-02-21T19:17:17.179-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Planets</category><title>Landing On Planets</title><description>This was a long time coming, mostly because I was so wrapped up in other features that I was neglecting the most important part of my game: the planets.&amp;nbsp; There isn&#39;t much to look at yet, but here is a quick screenshot of my scout ship sitting on the surface:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://i.imgur.com/ZxGla.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; src=&quot;http://i.imgur.com/ZxGla.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
That screenshot is in debug mode so there really isn&#39;t much to look at.&amp;nbsp; Right now the planets are just featureless balls, but one of my next targets is terrain detail.&amp;nbsp; But this progress still means a lot to me, as I&#39;ve been wanting to do it for literally years.&amp;nbsp; I was jumping up and down when I finally got it right.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Backtrack: Engage&lt;/h3&gt;
&lt;h3&gt;
&lt;/h3&gt;
As excited as this has made me, I won&#39;t be able to push it further for a while because I am about to initiate a massive backtrack just in time for the holidays.&amp;nbsp; This is pretty convenient because I&#39;ve got a bit of time off from work coming up which I will be using coding instead of relaxing.&lt;br /&gt;
&lt;br /&gt;
There are a few things I&#39;m planning on getting done which I have been putting off for far too long.&lt;br /&gt;
&lt;br /&gt;
A small change, but still significant, is upgrading to Visual Studio 2012.&amp;nbsp; I have been using 2008 for far longer than I should have, and it&#39;s about time.&amp;nbsp; This upgrade will give me access to all of the shiny new features of C++11, and from what I hear the visual debugging tools for graphics applications are outstanding.&lt;br /&gt;
&lt;br /&gt;
I will also be un-libifying the project.&amp;nbsp; Right now I have 12 projects in my solution, 10 of which are libs for different aspects of the engine (scene, procedural stuff, sound, etc).&amp;nbsp; There is absolutely no need for this, so I will be grouping all of the libs into one libnebulous, and leaving the &#39;client&#39; and &#39;server&#39; projects on their own.&lt;br /&gt;
&lt;br /&gt;
The biggest change I will be making is upgrading from DirectX 9 to DirectX 11.&amp;nbsp; I&#39;ve seen a lot of amazing things done with 11, and I have been putting off upgrading simply because I learned on 9, and have been very afraid of losing my fixed-function pipeline because shaders are scary.&amp;nbsp; I haven&#39;t done a lot of shader programming, but I guess it&#39;s about time I learned to get better considering they will open up so many new doors to me.&lt;br /&gt;
&lt;br /&gt;
As always, one step forward, 10 steps back!</description><link>http://nebulousdev.blogspot.com/2012/12/landing-on-planets.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-4060460226194499318</guid><pubDate>Mon, 24 Sep 2012 02:10:00 +0000</pubDate><atom:updated>2012-09-23T19:18:30.215-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Tools</category><category domain="http://www.blogger.com/atom/ns#">Universe</category><title>System Map</title><description>It&#39;s been a while since I&#39;ve had time to work on this project, but this weekend I sat down and banged out something I&#39;ve been wanting to do for a while: the system map!&lt;br /&gt;
&lt;br /&gt;
First, here&#39;s a zoomed out shot of the entire system: &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq4ZUXOllYQRrTcDahGO7nJYK9kUx6vEVTcmBKzj4ZPzFBxBbqUNpnVS_A3sDUi-BSYN8eZrvr3fjn1cvXACnghIcTCHmloJq9q0H9unwoVA22r_v1EpmqYqqLqkHydOYLCzeeF0oVtCE/s1600/2012-09-23_21-04-22.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq4ZUXOllYQRrTcDahGO7nJYK9kUx6vEVTcmBKzj4ZPzFBxBbqUNpnVS_A3sDUi-BSYN8eZrvr3fjn1cvXACnghIcTCHmloJq9q0H9unwoVA22r_v1EpmqYqqLqkHydOYLCzeeF0oVtCE/s400/2012-09-23_21-04-22.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&amp;nbsp;A view of the inner planet and its many moons:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxJ1hNsVlAhpRhZ4KGG-FVSS7cLwKR3MHcXRvs5GVlJbZGbWuU4Qv6F6cJuCCYPh7GPxz30s-rv8ZQ5lPYMp0wrL2ha6ZznNdN5MR2z-5lRM_o5bsf7mmTQIqps0ReFr6PdSXFJcvBrks/s1600/2012-09-23_21-05-14.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxJ1hNsVlAhpRhZ4KGG-FVSS7cLwKR3MHcXRvs5GVlJbZGbWuU4Qv6F6cJuCCYPh7GPxz30s-rv8ZQ5lPYMp0wrL2ha6ZznNdN5MR2z-5lRM_o5bsf7mmTQIqps0ReFr6PdSXFJcvBrks/s400/2012-09-23_21-05-14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
And a view of the second planet and it&#39;s huge moon orbits: &lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQT6q8QbmnPIgg1Av_0AncL5nq474qcKHvIJcFXyhpst93mi8pq9DNNpRyyJFzqxAXS-9Ws1wMC0sp_AQ3csoHt2EynQmKmjS0QoQPUyAG_KvIedg61MFjKb90C-Ksjyv0XVFtq-1EoDg/s1600/2012-09-23_21-06-40.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQT6q8QbmnPIgg1Av_0AncL5nq474qcKHvIJcFXyhpst93mi8pq9DNNpRyyJFzqxAXS-9Ws1wMC0sp_AQ3csoHt2EynQmKmjS0QoQPUyAG_KvIedg61MFjKb90C-Ksjyv0XVFtq-1EoDg/s400/2012-09-23_21-06-40.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The white orbits are for planets, and the purple orbits are wormholes.&amp;nbsp; When you are in the map, the game is paused.&amp;nbsp; Right now only the basics are implemented, but I&#39;ll be slowly building onto it in the future.&amp;nbsp; At the moment it only draws planets, wormholes, their orbits, and you can move the camera around.&amp;nbsp; The camera is controlled with the mouse buttons and movement.&lt;br /&gt;
&lt;br /&gt;
The idea is for the system map to be the tactical center of the space-aspect of the game.&amp;nbsp; From the map you can see where other objects and ships in the system are, where you are, and you can plot interplanetary trajectories.&amp;nbsp; I&#39;ve got a pretty awesome concept thrown together for how the course plotting will work, and I&#39;m really excited to implement it.</description><link>http://nebulousdev.blogspot.com/2012/09/system-map.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq4ZUXOllYQRrTcDahGO7nJYK9kUx6vEVTcmBKzj4ZPzFBxBbqUNpnVS_A3sDUi-BSYN8eZrvr3fjn1cvXACnghIcTCHmloJq9q0H9unwoVA22r_v1EpmqYqqLqkHydOYLCzeeF0oVtCE/s72-c/2012-09-23_21-04-22.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-1226453044559221578</guid><pubDate>Thu, 26 Jul 2012 03:06:00 +0000</pubDate><atom:updated>2012-07-25T20:06:23.584-07:00</atom:updated><title>Flight HUD Mockup</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKrnyTANcMq3m-e9yxWi2ke9zUVI9qMJygj7DdJo0SYAbGHoA7-DOKiy1sAs02xv0dyNOyUaJ-hpFE9VfuW_lXAnE2mwGvZW46EU68A8TLo3HU_vHLl7asfqnxdoRjQP5_VZK_zeJhTnU/s1600/fighter+HUD+mockup.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKrnyTANcMq3m-e9yxWi2ke9zUVI9qMJygj7DdJo0SYAbGHoA7-DOKiy1sAs02xv0dyNOyUaJ-hpFE9VfuW_lXAnE2mwGvZW46EU68A8TLo3HU_vHLl7asfqnxdoRjQP5_VZK_zeJhTnU/s400/fighter+HUD+mockup.jpg&quot; width=&quot;400&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp;I put together a quick mockup of what I want the HUD for the one-maned ships to look like.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The center is the standard &quot;ladder&quot;, which shows you your angle relative to the horizon.&amp;nbsp; When you&#39;re not close to any planets, it goes away leaving only the center reticule and the &quot;wings&quot;.&amp;nbsp; On the left of the wings is the speed readout, which shows your speed relative to your current target (or absolute speed if you have no target).&amp;nbsp; Directly under it is the change in speed per second, and below that is the &quot;crab angle&quot; (which is the difference between your heading and track).&amp;nbsp; On the right is the altitude above the nearest planet, and the change in altitude per second.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The vertical bar on the right indicates your position relative to the atmosphere.&amp;nbsp; Its height is twice that of the atmosphere of the nearest planet.&amp;nbsp; The line in the center indicates the top of the atmosphere, and the bottom line indicates sea level.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
On top are the warning lights, telling you when things are going wrong.&amp;nbsp; On the bottom are the status lights, such as gear status.&amp;nbsp; &quot;THRST FL&quot; means Thruster Flight, which is the flight mode you use in space.&amp;nbsp; When in Thruster Flight, your maneuvering thrusters control your ships movement.&amp;nbsp; &quot;SRFC FL&quot; means Surface Flight, meaning the control surfaces on your aircraft (ailerons) control your direction.&amp;nbsp; This is the flight mode you use when you&#39;re inside the atmosphere, and it makes you fly like a normal plane.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Sitting over the ship is the target indicator for non-selected targets.&amp;nbsp; It simply makes other ships easier to see, and shows you their distance and relative velocity.&lt;/div&gt;</description><link>http://nebulousdev.blogspot.com/2012/07/flight-hud-mockup.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKrnyTANcMq3m-e9yxWi2ke9zUVI9qMJygj7DdJo0SYAbGHoA7-DOKiy1sAs02xv0dyNOyUaJ-hpFE9VfuW_lXAnE2mwGvZW46EU68A8TLo3HU_vHLl7asfqnxdoRjQP5_VZK_zeJhTnU/s72-c/fighter+HUD+mockup.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-4616703636399726295</guid><pubDate>Sun, 20 May 2012 06:42:00 +0000</pubDate><atom:updated>2012-09-23T19:28:40.801-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Plot</category><category domain="http://www.blogger.com/atom/ns#">Procedural</category><category domain="http://www.blogger.com/atom/ns#">Universe</category><category domain="http://www.blogger.com/atom/ns#">Wormholes</category><title>Interstellar Highways</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Well, I&#39;m graduating college tomorrow, but that&#39;s not important.&amp;nbsp; What is important is Wormholes!&amp;nbsp; Here&#39;s a picture to start us off:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZgOV3QpreLr7WjytOELW-O3WG4RZsyIvYyRf473SZW-3V5OiPyXVyhdWPBlfRVxQIxx85QFHSyy3hvAKcvxd50LC12x4BbEbnQzGJRYZ8Y7PekN9WtHTD5X2IuxQrOaCMPmq7EJrqbVQ/s1600/wormholes.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZgOV3QpreLr7WjytOELW-O3WG4RZsyIvYyRf473SZW-3V5OiPyXVyhdWPBlfRVxQIxx85QFHSyy3hvAKcvxd50LC12x4BbEbnQzGJRYZ8Y7PekN9WtHTD5X2IuxQrOaCMPmq7EJrqbVQ/s400/wormholes.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
That&#39;s taken from the starmap, displaying bridge-type wormholes between several systems.&amp;nbsp; I&#39;ll get into more detail about the wormhole types in a bit.&amp;nbsp; Right now the starmap shows all generated bridge wormholes, but in the future it will only display wormholes the player has &quot;explored&quot;.&amp;nbsp; As the player travels to each system, its wormholes are generated along with the rest of the system.&amp;nbsp; Those wormholes do not get marked as &quot;explored&quot; until the player has traveled through them.&amp;nbsp; Once they are explored they&#39;ll show up on the starmap, so the player can keep track of how to get where.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Wormholes will serve as a means of faster-than-light travel between solar systems, in order to cut down on how much waiting the player will have to do.&amp;nbsp; However, they don&#39;t &lt;i&gt;have&lt;/i&gt; to use the wormholes.&amp;nbsp; Though it&#39;s not implemented at the moment, eventually you will be able to just point your ship at a star and fly there.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;


Wormholes In The Wild &lt;/h4&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Wormholes will appear in the game as spheres through which you can see the destination system.&amp;nbsp; I really hate the stereotypical funnel look, I think it&#39;s silly.&amp;nbsp; This is the effect I&#39;m going for (screenshot from EVE Online):&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://fc04.deviantart.net/fs44/f/2009/105/4/5/EVE_Online_Wormhole_by_biddybam.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;http://fc04.deviantart.net/fs44/f/2009/105/4/5/EVE_Online_Wormhole_by_biddybam.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
However, since I&#39;m not very good at writing shaders yet, I think it will fall far short of my expectations.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
They will be labeled as ERB-########### (standing for Einstein-Rosen Bridge).&amp;nbsp;&amp;nbsp; They will also orbit their primary like planets.&amp;nbsp; Wormholes can appear around both planets and stars, and will orbit their parent body like any other moon or planet.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Wormholes will exert a strong gravitational pull.&amp;nbsp; Small objects such as ships and stations can enter orbit with a wormhole with great care.&amp;nbsp; Because of this gravitational pull, navigating a successful jump can be tricky.&amp;nbsp; You need to make sure you have enough speed when entering the wormhole so that you can escape the gravity on the other side.&amp;nbsp; Speed and direction will be preserved through wormholes.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Ships can scan wormholes for their energy signature (the type of energy they&#39;re scanning for is yet to be determined.&amp;nbsp; I still have to do some research on this to figure out what&#39;s realistic).&amp;nbsp; The type of energy will give &lt;i&gt;hints&lt;/i&gt; (only hints!) about the type of wormhole, though you won&#39;t be sure until you travel through it!&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;


Wormhole Types &lt;/h4&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
There are two types of wormholes which I&#39;m implementing.&amp;nbsp; If I can think of more, I will make more.&amp;nbsp; At the moment, these are all I&#39;ve come up with.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;


Type 1: The Bridge (Stable)&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The first, and simplest, type of wormhole is the Bridge.&amp;nbsp; Two wormholes form a static link between two star systems, and that link will never close.&amp;nbsp; You can travel back and forth between those systems without losing your way.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
They appear on the starmap due to their stable nature.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;


Type 2: The Unstable&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
If you&#39;ve ever seen one of these guys, you know exactly what I&#39;m going for here:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyxE0hu9Uo4UC1WqiR1euD6MtJV762vE29XECK6yl8rARoyVcfctsbSyA7-dOwZ1_s6Eu1BZe5ujMbIX7AjxzgAZNlTBRcq1JiRS5B02pxMn2fiP_zN0pdIcmUz7Tl-uXrbdYARL9zsPs/s1600/wavy-conductor.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;221&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyxE0hu9Uo4UC1WqiR1euD6MtJV762vE29XECK6yl8rARoyVcfctsbSyA7-dOwZ1_s6Eu1BZe5ujMbIX7AjxzgAZNlTBRcq1JiRS5B02pxMn2fiP_zN0pdIcmUz7Tl-uXrbdYARL9zsPs/s320/wavy-conductor.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Imagine that the bottom of the wacky waving inflatable tube man is the wormhole you&#39;re passing through.&amp;nbsp; Now, imagine that the top is the exit wormhole.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The entrance of an unstable wormhole is always located in the same system, but its exit is constantly shifting.&amp;nbsp; Two ships passing through more than a few seconds apart may end up on completely opposite ends of the galaxy.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Traveling through an unstable wormhole is a huge gamble, because there&#39;s no easy way back.&amp;nbsp; However, it may be the quickest way to your ideal system.&amp;nbsp; When traveling through these, cross your fingers.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
These types of wormholes also play a large role in the plot of the game, as they are how you got to this strange galaxy in the first place.&lt;/div&gt;
</description><link>http://nebulousdev.blogspot.com/2012/05/interstellar-highways.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZgOV3QpreLr7WjytOELW-O3WG4RZsyIvYyRf473SZW-3V5OiPyXVyhdWPBlfRVxQIxx85QFHSyy3hvAKcvxd50LC12x4BbEbnQzGJRYZ8Y7PekN9WtHTD5X2IuxQrOaCMPmq7EJrqbVQ/s72-c/wormholes.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-8881784138188226256</guid><pubDate>Wed, 02 May 2012 01:19:00 +0000</pubDate><atom:updated>2012-05-01T20:17:06.837-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Procedural</category><category domain="http://www.blogger.com/atom/ns#">Realism</category><category domain="http://www.blogger.com/atom/ns#">Universe</category><title>Starfield Builder</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixaJmwRFjaCv_AkeuPXTyrEbpTfElJqt2L6_OtnkMkOlD5DXy9vOXJpXFKNyqePOfxPbNVRhUKOm54QdvtnoZlVqDNKqL-_A9zdcyJ-r7cc55QGONH4DjyEY9p-_AVE0cQWIH_5pmFOag/s1600/galaxy_panoramic.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;133&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixaJmwRFjaCv_AkeuPXTyrEbpTfElJqt2L6_OtnkMkOlD5DXy9vOXJpXFKNyqePOfxPbNVRhUKOm54QdvtnoZlVqDNKqL-_A9zdcyJ-r7cc55QGONH4DjyEY9p-_AVE0cQWIH_5pmFOag/s400/galaxy_panoramic.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I&#39;ve been working on a module lately which will generate a starfield from the point of view of any system in the galaxy.&amp;nbsp; The shot above is a composite of pieces of the skybox taken from a system inside the outer ring of a galaxy of 100,000 stars.&amp;nbsp; I had to let the galaxy generator run all night to get that database.&lt;br /&gt;
&lt;br /&gt;
In the center you can see the core of the galaxy, and on either side you can see the outer ring arcing away from us.&amp;nbsp; I think it&#39;s a pretty spectacular view, to be honest.&lt;br /&gt;
&lt;br /&gt;
Here is what the galaxy looks like from above, for reference:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp6I1rf8IEWXLaqvyXuzsc-wxNJYConbpK87KXfGH2NcuK-53NDmJX0LLlSUik0wzQ42vO4KKdbwp3Kd65Pp_z1pzsgrGri6B01bf5vR6Mp8K5FAEmV0VRIhZmgO4xhq0sJCUuMuFntbA/s1600/100000+stars.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp6I1rf8IEWXLaqvyXuzsc-wxNJYConbpK87KXfGH2NcuK-53NDmJX0LLlSUik0wzQ42vO4KKdbwp3Kd65Pp_z1pzsgrGri6B01bf5vR6Mp8K5FAEmV0VRIhZmgO4xhq0sJCUuMuFntbA/s320/100000+stars.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The system that starfield is for is in the upper right-hand corner, midway through the ring.&amp;nbsp; You&#39;ll notice the core is a rather well-defined circle, and I&#39;m planning on fixing that soon.&lt;br /&gt;
&lt;br /&gt;
I&#39;m considering tasking one of my servers to generate a 1,000,000 star galaxy over the next few days (or weeks, depending on how long it takes), but I&#39;m really not sure what that would do.</description><link>http://nebulousdev.blogspot.com/2012/05/starfield-builder.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixaJmwRFjaCv_AkeuPXTyrEbpTfElJqt2L6_OtnkMkOlD5DXy9vOXJpXFKNyqePOfxPbNVRhUKOm54QdvtnoZlVqDNKqL-_A9zdcyJ-r7cc55QGONH4DjyEY9p-_AVE0cQWIH_5pmFOag/s72-c/galaxy_panoramic.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-3226008089912099122</guid><pubDate>Tue, 01 May 2012 17:28:00 +0000</pubDate><atom:updated>2012-05-20T05:43:31.011-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">Ships</category><title>Capital AI</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/3y1Lg3sUeco&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
After the students had such a hard time with the docking, I decided to work on the AI a little bit for myself as a fun little challenge.&amp;nbsp; What I ended up constructing was a basic planning AI which can dock with the station given any set of waypoints.&lt;/div&gt;
&lt;br /&gt;
First, it waits until the station&#39;s air traffic controller contacts it and asks for intent.&amp;nbsp; It then asks for docking permission, and when it&#39;s been cleared (and given a set of waypoints to the docking point) it generates its plan.&lt;br /&gt;
&lt;br /&gt;
It loops through each waypoint and determines its distance.&amp;nbsp; If it&#39;s more than 20km away, it will burn the main engine to get there.&amp;nbsp; Otherwise, it travels there on maneuvering thrusters.&amp;nbsp; Once it&#39;s at the second to last waypoint, it aligns for docking and slowly travels towards the docking point.&amp;nbsp; When it&#39;s in range, it calls the docking solver which returns and error or success code.&amp;nbsp; Based on this code, it determines what to do next.&lt;br /&gt;
&lt;br /&gt;
If the dock succeeded, it does nothing else.&lt;br /&gt;
&lt;br /&gt;
If it failed, it checks the error to see what went wrong.&amp;nbsp; If it was out of range, it attempts to re-approach.&amp;nbsp; If the angle was too steep, it attempts to re-align and then approach.</description><link>http://nebulousdev.blogspot.com/2012/05/capital-ai.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/3y1Lg3sUeco/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-4792792044738596268</guid><pubDate>Tue, 24 Apr 2012 04:14:00 +0000</pubDate><atom:updated>2012-05-20T05:42:43.540-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Procedural</category><category domain="http://www.blogger.com/atom/ns#">Realism</category><category domain="http://www.blogger.com/atom/ns#">Universe</category><title>System Generator - Iteration Two</title><description>&lt;div style=&quot;text-align: left;&quot;&gt;
First, a video:&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/2xT0HaPYCqE&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
That was created by the second iteration of the solar system generator.&amp;nbsp; I finished it this morning and spent the rest of the day flying around different systems until I realized it would be a cool idea to make a video.&lt;br /&gt;
&lt;br /&gt;
The first &quot;iteration&quot; of the generator just placed an earth-sized planet and moon in each planet slot.&lt;br /&gt;
&lt;br /&gt;
The first &lt;b&gt;real&lt;/b&gt; iteration was basically me throwing code at the engine and seeing what stuck.&amp;nbsp; I developed some basics ideas for how the generator would work.&amp;nbsp; I refined those a little bit, but the thing was still a hulking mess by the time I called it &quot;done&quot;.&lt;br /&gt;
&lt;br /&gt;
For this iteration I went back to square two.&amp;nbsp; Using the strategies I had developed last time I rewrote the entire class.&amp;nbsp; The methods were cleaned up, things were reorganized, data structured were expanded, cake was had.&lt;br /&gt;
&lt;br /&gt;
A lot of the stuff that changed in this iteration was simple number tweaking and reorganization.&amp;nbsp; The coolest thing though was planetary motion.&amp;nbsp; Planets and moons now have realistic orbital periods.&amp;nbsp; In the video, you can see the white circles representing each planet&#39;s orbit.&amp;nbsp; Unfortunately all orbits are circular at the moment, but perhaps in the future I&#39;ll expand them to ellipses.&amp;nbsp; Afterall, how hard can that be?&lt;br /&gt;
&lt;br /&gt;
One of the things I&#39;m not quite happy with is the moons.&amp;nbsp; Their orbits look great, but it&#39;s their size I&#39;m concerned about.&amp;nbsp; If you look at the information scrolling on the left, you&#39;ll notice that most of the moons are around the same size.&amp;nbsp; I&#39;m definitely planning on adding some more variety there in the future. &lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;




&lt;b&gt;The System&lt;/b&gt;&lt;/h3&gt;
There are two major parts to the procedural galaxy.&amp;nbsp; The first is the galaxy generator, which is run once at the beginning of the game.&amp;nbsp; It initializes the database and fills it with as many star systems as you want.&amp;nbsp; But these systems aren&#39;t complete yet.&amp;nbsp; When each star is created, the generator chooses a fraction of their mass to be left in the protoplanetary disk to form planets.&amp;nbsp; It also holds an integer entry for the number of planets in the system.&lt;br /&gt;
&lt;br /&gt;
Those star system entries sit in the table until the player visits one.&amp;nbsp; At that point, the incomplete entry is handed off to the system generator which finishes the job.&amp;nbsp; The system generator takes the mass left for the planets and smears it out across a disk, and then integrates that mass function in concentric rings to form planets.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;




&lt;b&gt;Next Iteration&lt;/b&gt;&lt;/h3&gt;
I&#39;m going to be taking a break from this for a while (not too long, probably a week or two) so I can work on other stuff.&amp;nbsp; Here&#39;s roughly what I&#39;m hoping to accomplish next time:&lt;br /&gt;
&lt;br /&gt;
- &lt;u&gt;Moon Variety&lt;/u&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; As mentioned above, moon sizes are a little too consistent.&lt;br /&gt;
&lt;br /&gt;
- &lt;u&gt;Wormhole Bridges&lt;/u&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; These will serve as the main form of transport between solar systems.&amp;nbsp; There&#39;s a lot of interesting stuff I want to talk about with these, so I&#39;ll save it for another post.&lt;br /&gt;
&lt;br /&gt;
- &lt;u&gt;Other System Types&lt;/u&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Right now the system generator only creates planetary systems.&amp;nbsp; Eventually (hopefully next iteration) I&#39;m hoping to expand it to the other two types of systems in the database: barren and debris.&amp;nbsp; More on those later.&lt;br /&gt;
&lt;br /&gt;
- &lt;u&gt;Rings&lt;/u&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Rings were removed since the last iteration because they were just randomly put in there.&amp;nbsp; In the future I&#39;ll be looking at a more realistic way of creating them.&lt;br /&gt;
&lt;br /&gt;
- &lt;u&gt;Planetary Characteristics&lt;/u&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Each planet data structure has three float parameters and three integer parameters as unused placeholders (easily expandable if I need more).&amp;nbsp; This is the least important of the things I want to get done, so I might not even get to it.</description><link>http://nebulousdev.blogspot.com/2012/04/system-generator-iteration-two.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/2xT0HaPYCqE/default.jpg" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-7816089414569525258</guid><pubDate>Tue, 03 Apr 2012 03:23:00 +0000</pubDate><atom:updated>2012-04-02T20:42:29.226-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Engine</category><title>Bubbles Mk 2</title><description>This is probably the 8th or 9th time I&#39;ve rewritten the core of the scene graph.  My girlfriend says its because I keep learning more and figuring out how to improve it, but I think it has more to do with my grandmother&#39;s old adage &quot;If you&#39;ve got a weak mind, you&#39;d better have strong legs.&quot;&lt;br /&gt;&lt;br /&gt;I&#39;ve flipped back and forth between using a spatial partitioning method I&#39;ve called bubbling, where space is carved up into sections which all have their own independent coordinate system.  They divided space up into a three-dimensional grid, but only when objects were in their specific cell.  In other words, the a bubble only existed when an object was in it.  This was a pretty straightforward memory- and performance-saving optimization.  99.99999% of space is empty, so why should I bother keeping track of all that emptiness?&lt;br /&gt;&lt;br /&gt;They last went away when I switched everything over to doubles for position vectors.  However, trimesh collisions were getting a little wonky as distance from the origin increased, even with double precision.  Once they got past a certain distance trimeshs stopped colliding all together.&lt;br /&gt;&lt;br /&gt;So I spent a not-insignificant amount of time in the lab today bringing bubbles back. &lt;br /&gt;&lt;br /&gt;Instead of creating a dynamically-spawning grid again, I anchored a static bubble at each planet, since I can pretty safely assume that&#39;s where most of the gameplay will happen.  This gives each planet its own local coordinate system, which is helpful in a lot of ways.  These static bubbles have a radius, and when nearest celestials are recomputed every 30 seconds each object is checked against this radius.  If they have passed outside, they&#39;re considered in interplanetary space.&lt;br /&gt;&lt;br /&gt;The next step in this is implementing interplanetary space.  This will consist of a new bubble class, called DynamicBubble.  Dynamic bubbles move around space as the average of the positions of all the objects they contain.  If any objects get too far apart, the bubble splits in two.  This should keep coordinate systems from getting too large and causing the wonky collision problem again.&lt;br /&gt;&lt;br /&gt;I suspect that dynamic bubbles are going to be harder to implement than they sound.  But they will be extremely useful.</description><link>http://nebulousdev.blogspot.com/2012/04/bubbles-mk-2.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-7082827707756691260</guid><pubDate>Wed, 28 Mar 2012 23:57:00 +0000</pubDate><atom:updated>2012-05-20T05:42:57.264-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AI</category><category domain="http://www.blogger.com/atom/ns#">ATC</category><category domain="http://www.blogger.com/atom/ns#">Ships</category><title>Student AI Trials</title><description>I&#39;ve compiled some clips of the AI Game Programming class&#39;s attempts at docking with the station.  Here&#39;s the video:&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/_k4hf5DIVYs&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;</description><link>http://nebulousdev.blogspot.com/2012/03/student-ai-trials.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/_k4hf5DIVYs/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-8526082775852498362</guid><pubDate>Mon, 26 Mar 2012 17:30:00 +0000</pubDate><atom:updated>2012-03-26T10:33:11.565-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Detailing</category><category domain="http://www.blogger.com/atom/ns#">Realism</category><category domain="http://www.blogger.com/atom/ns#">Ships</category><title>Maneuvering Thrusters</title><description>Because it&#39;s going to look really cool to have the student&#39;s AIs tomorrow thrusting the ship all over the place, I really wanted to see the maneuvering thrusters firing.  So I started working on a particle emitter class which can do just that:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI7Zvwh5PDLw_ascMK_kKZZGnPCqvA_0jt8f3zsEpUPafsAetqqibVOuvcYZnMZcsQVU2e0vrrAkW6S50MHk4kOiCHg2P3TcT8yLoEVTwxE0niyl6Kjay1DIzLFbbSvc4lAMdcbKf905w/s1600/thrusters.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI7Zvwh5PDLw_ascMK_kKZZGnPCqvA_0jt8f3zsEpUPafsAetqqibVOuvcYZnMZcsQVU2e0vrrAkW6S50MHk4kOiCHg2P3TcT8yLoEVTwxE0niyl6Kjay1DIzLFbbSvc4lAMdcbKf905w/s320/thrusters.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5724259887856878306&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Here&#39;s a picture of the bow thrusters firing to slow the ship down.  There will be thruster emitters placed all over the ship which will correspond to different maneuvers.</description><link>http://nebulousdev.blogspot.com/2012/03/maneuvering-thrusters.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI7Zvwh5PDLw_ascMK_kKZZGnPCqvA_0jt8f3zsEpUPafsAetqqibVOuvcYZnMZcsQVU2e0vrrAkW6S50MHk4kOiCHg2P3TcT8yLoEVTwxE0niyl6Kjay1DIzLFbbSvc4lAMdcbKf905w/s72-c/thrusters.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-7865625981447519354</guid><pubDate>Thu, 22 Mar 2012 21:56:00 +0000</pubDate><atom:updated>2012-03-22T15:03:09.065-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Detailing</category><category domain="http://www.blogger.com/atom/ns#">UI</category><title>Small Features</title><description>After big pushes in development are completed (such as the AI dll prep that had been consuming me) I like to settle down and work on small features before starting on something big again.&lt;br /&gt;&lt;br /&gt;This time I decided to touch up some simple UI stuff, as well as add a small feature to make motion more apparent.&lt;br /&gt;&lt;br /&gt;First came the UI.  I originally had a huge ugly progress bar that took up the center of the screen for scene loads.  To replace this I made a stackable, unobtrusive progress bar system which allows progress bars to stack up on top of each other at the bottom of the screen.  They&#39;re pretty in their simplicity and tiny-ness.  Because they sit at the bottom they can be used to show loading in threaded subroutines without interrupting play.  The fact that they stack means more than one process can display its progress at the same time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8QAKlY19GIK6rr9lPP-iA0LUz2GP47sLrDCi9xjzzCriibecb6mr_HOhRolaYNokSac3mPzBiL7k1lLiX_v5FrTSzHzFGMDSzhoNL7GkIrpqE-3n6qgJexikmhMz_TF8ZvHve4ByEbKE/s1600/progress+bars.JPG&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 329px; height: 67px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8QAKlY19GIK6rr9lPP-iA0LUz2GP47sLrDCi9xjzzCriibecb6mr_HOhRolaYNokSac3mPzBiL7k1lLiX_v5FrTSzHzFGMDSzhoNL7GkIrpqE-3n6qgJexikmhMz_TF8ZvHve4ByEbKE/s320/progress+bars.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5722844802083546962&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;I also touched up the graphics for the flight HUD, making the attitude indicator and warning lights much sleeker.&lt;br /&gt;&lt;br /&gt;In order to make the player&#39;s ship&#39;s motion more apparent, I introduced a system which renders what is supposed to be specks of dust streaking past.  This shows your overall direction of motion in a nifty way.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4MhTIKGw92pRulLH0o27NTMHfCcAPdMbFyonvwhXGJvoDx1flfw2_VAWfxJeP55mMZmcHMkBaT02g2bOF_LGUqoWwCktJmrqIRllM5QJinOiM4B0XeQip7w90Wu0gwsGuYqQJlkti8k8/s1600/streaks.png&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4MhTIKGw92pRulLH0o27NTMHfCcAPdMbFyonvwhXGJvoDx1flfw2_VAWfxJeP55mMZmcHMkBaT02g2bOF_LGUqoWwCktJmrqIRllM5QJinOiM4B0XeQip7w90Wu0gwsGuYqQJlkti8k8/s320/streaks.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5722845174360674482&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Above is a screenshot of the new flight HUD graphics.  You can also see some of the streaks in the picture.  They are very faint because I wanted to show the direction of travel without making it blatant.</description><link>http://nebulousdev.blogspot.com/2012/03/small-features.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8QAKlY19GIK6rr9lPP-iA0LUz2GP47sLrDCi9xjzzCriibecb6mr_HOhRolaYNokSac3mPzBiL7k1lLiX_v5FrTSzHzFGMDSzhoNL7GkIrpqE-3n6qgJexikmhMz_TF8ZvHve4ByEbKE/s72-c/progress+bars.JPG" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-7651073266411268182</guid><pubDate>Fri, 16 Mar 2012 14:43:00 +0000</pubDate><atom:updated>2012-03-16T07:46:53.420-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Procedural</category><category domain="http://www.blogger.com/atom/ns#">Shaders</category><category domain="http://www.blogger.com/atom/ns#">Universe</category><title>Corona</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOe_phA-K2rdD0TEEWgbKybJHThakj8udk1FChaRdFL8PSvb0v_CShLtdW_oaIQLcT5pT_08-UGUAik1UD2-cJupze0YQBg5DIJWBqwjaqHHbcmTQKTwi70Orz9qtCephTqM8Wdcvqx40/s1600/corona.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 190px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOe_phA-K2rdD0TEEWgbKybJHThakj8udk1FChaRdFL8PSvb0v_CShLtdW_oaIQLcT5pT_08-UGUAik1UD2-cJupze0YQBg5DIJWBqwjaqHHbcmTQKTwi70Orz9qtCephTqM8Wdcvqx40/s320/corona.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5720505760096410994&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;I thought the current star rendering scheme was rather ugly (just rendering a sphere and letting the bloom shader but a little halo around it) and wholly unsatisfying.  Not to mention unrealistic.&lt;br /&gt;&lt;br /&gt;Since I&#39;m giving the galaxy the little more attention this week I figured I&#39;d write a quick shader to put a corona on the star.  It&#39;s just a simple first-try, but it already makes the star look a lot more impressive than a full-bright white sphere.&lt;br /&gt;&lt;br /&gt;The star is white because it&#39;s a product of the older version of the galaxy generator, which did not interpolate colors and just set them all to white.  The shader also takes in the star color, but you can&#39;t see it here.</description><link>http://nebulousdev.blogspot.com/2012/03/corona.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOe_phA-K2rdD0TEEWgbKybJHThakj8udk1FChaRdFL8PSvb0v_CShLtdW_oaIQLcT5pT_08-UGUAik1UD2-cJupze0YQBg5DIJWBqwjaqHHbcmTQKTwi70Orz9qtCephTqM8Wdcvqx40/s72-c/corona.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-3473002215615531121</guid><pubDate>Wed, 14 Mar 2012 04:58:00 +0000</pubDate><atom:updated>2012-03-13T22:07:08.330-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Procedural</category><category domain="http://www.blogger.com/atom/ns#">Realism</category><category domain="http://www.blogger.com/atom/ns#">Universe</category><title>Star Coloring</title><description>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv5TB0PClBcqZQZbV4czvuJkRl9MQr9nR10rqA8ihVJbiUJHnwHQu3O_keBHTpN9OlAwxff_gTxKWnd8Gz4TS27wzHVYHY5opK6Wc3IlOpNWRXfFUG3d4L72CxmrZWURznF4EpLwcAh00/s1600/star+coloring.jpg&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 388px; height: 72px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv5TB0PClBcqZQZbV4czvuJkRl9MQr9nR10rqA8ihVJbiUJHnwHQu3O_keBHTpN9OlAwxff_gTxKWnd8Gz4TS27wzHVYHY5opK6Wc3IlOpNWRXfFUG3d4L72CxmrZWURznF4EpLwcAh00/s320/star+coloring.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5719612964657717362&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In my mad rushes to complete large portions of the game for various school projects over the last year, the galaxy generator has kind of fallen by the wayside.  Because it&#39;s such an important part of the game&#39;s concept, I&#39;m going to be giving it a little more love in the days to come.  Starting with stars.&lt;br /&gt;&lt;br /&gt;I hadn&#39;t really given much thought to how to color stars initially, and they&#39;re all just generated as white regardless of their temperature.  Using the table on wikipedia (http://en.wikipedia.org/wiki/Stellar_classification) I created a gradient of colors which I can lerp between to find the color of each star based on its temperature.  The range is from 3700K to 33000K.  Anything above or below those limits just gets the end color.&lt;br /&gt;&lt;br /&gt;The actual coloring for the rendering will be done in the star shader, which has yet to be started but should prove to be interesting to write.&lt;br /&gt;&lt;br /&gt;Once I&#39;ve got coloring done I plan to start work on generating the starfield skybox textures based on the player&#39;s actual position in the galaxy.  The size and colors of the stars in the starfield will be representative of the color of the actual stars, as well as their distance from the current system.</description><link>http://nebulousdev.blogspot.com/2012/03/star-coloring.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv5TB0PClBcqZQZbV4czvuJkRl9MQr9nR10rqA8ihVJbiUJHnwHQu3O_keBHTpN9OlAwxff_gTxKWnd8Gz4TS27wzHVYHY5opK6Wc3IlOpNWRXfFUG3d4L72CxmrZWURznF4EpLwcAh00/s72-c/star+coloring.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7802229804614773100.post-8719000462801285722</guid><pubDate>Wed, 15 Feb 2012 05:45:00 +0000</pubDate><atom:updated>2012-02-22T22:20:30.500-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Realism</category><category domain="http://www.blogger.com/atom/ns#">Ships</category><category domain="http://www.blogger.com/atom/ns#">Wormholes</category><title>A Push Towards Hard Sci-Fi</title><description>I&#39;ve long been searching for a means to distinguish my game from other similar 1:1 scale procedurally generated universes such as Infinity.  This is mainly because Infinity is just so damn pretty I can&#39;t compete.  Instead of trying to beat them at their own game, I&#39;ve decided on pushing further into hard scifi than ever before.&lt;br /&gt;&lt;br /&gt;This engine was always intended to support a hard scifi game universe, but until now I was willing to make concessions to improve playability.  Things such as gravity on ships just made the game easier to play (and to code).  But now I&#39;m switching gears.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jdXNxVRG3u9L61gxEuxUEPfaAf6H3WaTQr1pOkI-E_hIHn-wYMyoc42vvGIStJBth5qt_7aGVrStSrgsW9IkIbCuQtMa8vWEQkUwv5yElbg-loUFqdfLL8okO7za8zDRoUahKhm_zSU/s1600/textured.jpg&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jdXNxVRG3u9L61gxEuxUEPfaAf6H3WaTQr1pOkI-E_hIHn-wYMyoc42vvGIStJBth5qt_7aGVrStSrgsW9IkIbCuQtMa8vWEQkUwv5yElbg-loUFqdfLL8okO7za8zDRoUahKhm_zSU/s320/textured.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5709236444207771538&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;For one, I&#39;ve settled on more realistic ship designs for the actual game.  Pictured here is a small scout ship.  The crew area is the front cylinder, and the decks are stacking along the boosting axis.  Acceleration by the main engine produces gravity &quot;downwards&quot;.  When the ship is not accelerating, there is no gravity inside.&lt;br /&gt;&lt;br /&gt;This design choice will require me to develop a way for the player to move around inside the ship while in freefall, and I think I&#39;ve come up with it.  But more on that in the future once it&#39;s actually been prototyped.&lt;br /&gt;&lt;br /&gt;As for other concessions that are going out the window, Jump Drives are among them.  Previously, capital ships had jump drives which would allow them to instantly travel to any star system which was inside that ship&#39;s jump range.  That will no longer be the case.  Instead, FTL travel will be accomplished via wormholes.  I already have an early prototype in the galaxy generation algorithm which will grow a wormhole network between stars in the galaxy.  Ships will need to travel to these wormholes at sublight speed.</description><link>http://nebulousdev.blogspot.com/2012/02/push-towards-hard-sci-fi.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2jdXNxVRG3u9L61gxEuxUEPfaAf6H3WaTQr1pOkI-E_hIHn-wYMyoc42vvGIStJBth5qt_7aGVrStSrgsW9IkIbCuQtMa8vWEQkUwv5yElbg-loUFqdfLL8okO7za8zDRoUahKhm_zSU/s72-c/textured.jpg" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>