code – the megastructure development blog http://blog.megastructure.org tracking construction of megaprojects Sun, 23 Dec 2018 15:54:33 +0000 en-US hourly 1 https://wordpress.org/?v=5.0.2 Elevated – v1.88 http://blog.megastructure.org/2009/11/elevated-v1-88/ Fri, 13 Nov 2009 09:10:27 +0000 http://blog.megastructure.org/?p=155 After starting year 2 of physics at TAU, it’s been hard to find time for anything other than schoolwork or zoning out. It’s been more than a month since last code update, and not much has improved. Elevators are now usable, complete with internal colliding surfaces. Most of the development has been trying to fix bizarre stability issues as they arise; I’m not sure they have been addressed properly. Please let me know if this version crashes.

As always: get the latest version from the Megastrata information and download page.

]]>
Version 1.86 Released, corridor-enabled http://blog.megastructure.org/2009/09/version-1-86-released-corridor-enabled/ Tue, 29 Sep 2009 20:52:52 +0000 http://blog.megastructure.org/?p=115 Collisions are coming together, even if they are simplistic. This means we can now explore an infinitely-generated space, full of corridors and rooms. The latest version has been uploaded, the very same one from the teaser vid.

Please note that there are disabled stubs for working with ffmpeg, but I decided it was far too bulky to add to the project. I only used it for a few export clips, for the teaser.

Also, as Wolfgang points out, the Mac version does not look the same as the Windows version (most of the walls are transparent). This is evidently because of some nonstandard usage of OpenGL that Windows is willing to forgive. Any thoughts or suggestions on how this might be solved would be quite welcome.

Regardless, the project is moving forward, and new and exciting features are coming. Stay tuned.

]]>
Junctions and Overhauls [version 1.84] http://blog.megastructure.org/2009/09/junctions-and-overhauls-version-1-84/ Sun, 13 Sep 2009 07:41:11 +0000 http://blog.megastructure.org/?p=98 The NoiseViewer has come a long way since its inception some months ago, but there is still much to do. The code is about to undergo another radical reconfiguration, this time extracting ourselves from the original 2d-oriented architecture, and cementing the World object as master over 3D entities.

The “ConnectingBoxes” layer has been retired, having been superseded by the JunctionBoxes layer. This is by no means a completed structure, but we are certainly getting closer:

junction boxes

Head on down to the NoiseViewer information page to grab the latest version.

]]>
Mac version, new information page http://blog.megastructure.org/2009/08/mac-version-new-information-page/ Thu, 20 Aug 2009 08:17:23 +0000 http://blog.megastructure.org/?p=68 Wolfgang has kindly provided a Mac OS X build for the NoiseViewer. This download and further information available on the new NoiseViewer Information and Downloads page.

]]>
NoiseViewer, version 1.75 http://blog.megastructure.org/2009/08/noiseviewer-version-1-75/ Wed, 19 Aug 2009 06:37:19 +0000 http://blog.megastructure.org/?p=45 Overview of version 1.75

Certain breakthroughs have led us to a plethora of new and amazing noise! We have made the leap from continuous noise to discrete noise patterns, which will help us later.

Here is a nice island, which is trivial to make in the latest version:

nice islands

(XML)

And here are some shots of discrete noise:

Squareland

Squareland2

(XML)

Discrete layers (like the squares and circles) are exciting because they represent actual structural entities in the future Megastructure simulation.

And if that wasn’t enough for this version, Wolfgang fixed XML input and output on OS X, as well as a number of annoying visual bugs! Due to a “CTRL” button issue on mac, we also added right-click as an alternative way to zoom in and out of the image.

Features on the way

The upcoming immediate goals are:

  • Easy image output
  • More layer types
  • Beginning 3D layers built on top of discrete layer types

Standard boilerplate

From what I understand of the licenses, I am allowed to use these libraries. Please understand that the code and programs linked to below are provided “as-is”. Also note that running any program found on the internet carries risk, and the responsible user always scans for viruses, etc.

Click and drag to pan the current layer. Right-click-drag or CTRL+click-and-drag adjusts the zoom level. Shift+click-and-drag adjusts the current layer’s selected parameter.

Compiled executable (Windows, ~379KB): NoiseViewer_v1.75.zip

Source code, libraries and projects (Visual Studio 2008/OS X, ~4,277KB): NoiseViewerSource1.75.zip

Feedback would be greatly appreciated!!

]]>
Circles and Squares http://blog.megastructure.org/2009/08/circles-and-squares/ Fri, 14 Aug 2009 12:59:13 +0000 http://blog.megastructure.org/?p=32 Overview of version 1.6

Hello, and welcome to version 1.6 of the famous NoiseViewer. This “release” has a number of new and amazing surprises. For instance: thanks to the TinyXML library, now you can save and load your creative patterns to an XML file (not yet supported on OS X).

Also, new layer types are starting to emerge. Not only can you mix layers of noise, but now infinite planes of circles and squares have stepped into the ring!

Here are some trippy circles, made by using noise as the input for the radii of the circles:

trippy circlesThis will probably change in the near future (ie. it will break). But I like how it pans. You can view this yourself by importing the XML that describes it:

<?xml version="1.0" ?>
<NoiseViewer>
<Layers>
<Layer TypeID="2" x="5.288616" y="-5.674968" zoomx="21.007694" zoomy="21.007694">
<Variables>
<Variable name="Radius" MaxValue="10.000000" MinValue="0.001000" OverrideValue="2.000000">
<Layer TypeID="0" x="0.507875" y="-1.262280" zoomx="3.183013" zoomy="3.183013">
<Variables>
<Variable name="Cutoff" MaxValue="1.000000" MinValue="-1.000000" OverrideValue="0.500000" />
</Variables>
</Layer>
</Variable>
<Variable name="Spacing" MaxValue="10.000000" MinValue="0.001000" OverrideValue="2.000000" />
</Variables>
</Layer>
</Layers>
</NoiseViewer>

Or, you can download the XML here: Trippy circles.xml

Features on the way

The upcoming immediate goals are:

  • More layer types
  • More flexibility in layers
  • More general layer options

Standard boilerplate

From what I understand of the licenses, I am allowed to use these libraries. Please understand that the code and programs linked to below are provided “as-is”. Also note that running any program found on the internet carries risk, and the responsible user always scans for viruses, etc.

Click and drag to pan around the noise. CTRL+click-and-drag up and down adjusts the zoom level. Shift+click-and-drag adjusts the noise cutoff point.

Compiled executable (Windows, ~379KB): NoiseViewer_v1.6.zip

Source code, libraries and projects (Visual Studio 2008/OS X, ~4,376KB): NoiseViewerSource1.6.zip

Feedback would be greatly appreciated!!

]]>
NoiseViewer – version 1.5 http://blog.megastructure.org/2009/08/noiseviewer-version-1-5/ Tue, 11 Aug 2009 12:01:54 +0000 http://blog.megastructure.org/?p=23 The NoiseViewer project has been progressing slowly but surely. This new version paves the way for sub-layers to control variables in higher layers of noise.

For instance, you assign an “input” layer to define the changing cutoff value for every point in the top layer. Here is a screenshot illustrating this feature in action:

Layered noise, using a sub-layer to control cutoff

This version also fixes a number of stability issues. The code is much cleaner, though still not as readable as I would like.

Furthermore, this release is notable for compatibility with OS X. Mac compatibility was graciously added/fixed/tweaked by Wolfgang, and all relevant project files can be found in the source package under the “osx” directory. Thanks, Wolfgang!

From what I understand of the licenses, I am allowed to use these libraries. Please understand that the code and programs linked to below are provided “as-is”. Also note that running any program found on the internet carries risk, and the responsible user always scans for viruses, etc.

Click and drag to pan around the noise. CTRL+click-and-drag up and down adjusts the zoom level. Shift+click-and-drag adjusts the noise cutoff point.

Compiled executable (Windows, ~339KB): NoiseViewer_v1.5.zip

Source code, libraries and projects (Visual Studio 2008/OS X, ~3,571KB): NoiseViewerSource1.5.zip

Feedback would be greatly appreciated!!

]]>
NoiseViewer v1.1 – now with GLUI http://blog.megastructure.org/2009/07/noiseviewer-v1-1-now-with-glui/ Sat, 18 Jul 2009 22:11:42 +0000 http://blog.megastructure.org/?p=19 A whole lot of changes have gone into the new version of the NoiseViewer. It is by no means a truly usable piece of software, but because of the numerous changes made (and to be made), this snapshot is being made public.

The GLUI library has been added, in order to give more interface options. Hope remains that the finished product will be cross-platform. (Except for a few string manipulations, nothing is necessarily Windows about the NoiseViewer.) It was very easy to integrate GLUI into the previous GLUT code. Unfortunately, the GLUI library may turn out to be too simplistic for the NoiseViewer. We shall see.

The source has been bundled with a compiled GLUI library 2.35. You can get the source for that at the official GLUI SourceForge site.

From what I understand of the licenses, I am allowed to use these libraries. Please understand that the code and programs linked to below are provided “as-is”. Also note that running any program found on the internet carries risk, and the responsible user always scans for viruses, etc.

Click and drag to pan around the noise. CTRL+click-and-drag up and down adjusts the zoom level. Shift+click-and-drag adjusts the noise cutoff point.

Compiled executable (Windows, ~336KB): NoiseViewer_v1.1.zip

Source code, libraries and projects (Visual Studio 2008, ~2,288KB): NoiseViewerSource1.1.zip

Feedback would be greatly appreciated!!

]]>
NoiseViewer version 1 http://blog.megastructure.org/2009/07/noiseviewer-version-1/ Fri, 10 Jul 2009 10:38:50 +0000 http://blog.megastructure.org/?p=8 The NoiseViewer is a simple program that lets you explore a two-dimensional noise map generated in real-time. This is a preliminary tool designed to be a starting point for mapping out and viewing procedural content. I hope to make the NoiseViewer more and more sophisticated as layers of noise and objects start stacking up.

NoiseViewer v1.0 screenshot

This is terribly preliminary!

  • Uses Stefan Gustavson’s implementation of Simplex Noise (available here). I’ve made a few changes, so that it works better on Windows. The source download (below) includes the modified Simplex Noise code. For more information on Simplex Noise, see Simplex noise and Perlin noise.
  • Uses FreeGLUT, also included in the source below.
  • Some of the code is based on wonderful examples found on the OpenGL site, numerous snippets found online, and of course NeHe’s excellent tutorials.
  • My code is not elegant. This version focuses on making something work, nothing more.

From what I understand of the licenses, I am allowed to use these libraries. Please understand that the code and programs linked to below are provided “as-is”. Also note that running any program found on the internet carries risk, and the responsible user always scans for viruses, etc.

Click and drag to pan around the noise. CTRL+click-and-drag up and down adjusts the zoom level. Shift+click-and-drag adjusts the noise cutoff point.

Compiled executable (Windows, ~266KB): NoiseViewer_v1.zip

Source code, libraries and projects (Visual Studio 2008, ~1,456KB): NoiseViewer_v1_src.zip

Feedback would be greatly appreciated!!

]]>