Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 12:49:44 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsMegastrata - attempting a Megastructure experience
Pages: [1] 2
Print
Author Topic: Megastrata - attempting a Megastructure experience  (Read 8182 times)
elib
Level 0
**


only just begun the process


View Profile WWW
« on: October 08, 2009, 02:47:44 PM »

This summer I had the pleasure of being able to start my very first serious game-like project. The subject is the Megastructure - the endless, future building that encompasses all with no beginning and no end in any direction.

Not a new concept: depicted by artists in many media, some very successful. And yet there is still room to explore, for as we say in the Megastructure, "There is always another room".

The Megastrata project started out as an experiment that strove to view continuous noise functions (like Perlin noise) as discrete 3d objects. It has gradually been moving towards a framework supporting generative architecture. Eventually, it wants to be a seamless world, where brave explorers can plumb the depth, breadth, and width of an endless structure.





At the moment, the program consists of a control panel in which you can manipulate infinite noise patterns, layer them, and produce intricate architecture that never repeats and goes on forever. Saving and loading via XML files is also supported (though the format is subject to change).

You can follow the development process on the official Megastructure Dev Blog, blog.megastructure.org.

Executables are available for Windows and OS X (albeit with some rendering issues), and full source code can be downloaded. Visit the Megastrata project information page and downloads for details.

This project is currently under active development, and is still in a pre-alpha stage. I would be honored to hear your esteemed thoughts and suggestions regarding the project.

Thank you for your time. Please stay tuned for more info...!
See you in the Megastructure,
-Eli

EDIT: here are some early screenshots:






« Last Edit: October 08, 2009, 04:39:43 PM by elib » Logged

mark
Level 7
**


not actually fat, just posing.


View Profile
« Reply #1 on: October 08, 2009, 03:40:07 PM »

Why hi there manbaby, I'd like to suggest some things to you.
First off, go ahead and read this

Then make a post here.

And then we shall talk about your game project.

Thanks.
Logged


I call it the KittenPunisher.

My lisp code told me to leave.
elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #2 on: October 08, 2009, 04:46:30 PM »

Why hi there manbaby, I'd like to suggest some things to you.
First off, go ahead and read this

Then make a post here.

And then we shall talk about your game project.

Thanks.

I am truly sorry about the breach in conduct. I had seen the "introduce yourself" forum and found it informative, but I had no idea it was a required act. So I have posted! Thanks for the heads up.

Also I thought I'd mention that this is entirely non-commercial. This is my first ever game or game-like project, or at least the first that made it past the crucial first step. I would have posted to "feedback" but I thought this fit the "devlog" bill better.
« Last Edit: October 12, 2009, 01:07:50 AM by elib » Logged

mokesmoe
Level 10
*****



View Profile WWW
« Reply #3 on: October 08, 2009, 09:20:17 PM »

You forgot to tell him to post here:
http://forums.tigsource.com/index.php?board=10.0
Too late now though.

Game/Project looks cool.
Logged
mark
Level 7
**


not actually fat, just posing.


View Profile
« Reply #4 on: October 09, 2009, 01:20:03 AM »

You forgot to tell him to post here:
http://forums.tigsource.com/index.php?board=10.0
Too late now though.

Game/Project looks cool.
I wouldn't want to wast it on a "LOOKATMYPROJECTAIN'TIAWESOME!?"-post, that's kinda what I thought this was.
Logged


I call it the KittenPunisher.

My lisp code told me to leave.
elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #5 on: October 09, 2009, 11:07:52 AM »

Game/Project looks cool.

Thanks for the encouragement! More game-like features on the way.
Logged

Triplefox
Level 9
****



View Profile WWW
« Reply #6 on: October 10, 2009, 01:29:40 AM »

I had this same setting concept years and years ago and started implementing it in Megazeux. Only I called it "the Complex" and it was a Blade Runner type of dystopia where people got into lots of gunfights for shallow, petty reasons. I didn't finish it.
Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #7 on: October 10, 2009, 08:15:58 AM »

I had this same setting concept years and years ago and started implementing it in Megazeux. Only I called it "the Complex" and it was a Blade Runner type of dystopia where people got into lots of gunfights for shallow, petty reasons. I didn't finish it.

The body of work that originally hooked me on the Megastructure concept is the Blame! manga series by Tsutomu Nihei. I think we resonate with the idea easily, like many other staples of sci-fi. I see it as being more enclosed than Blade Runner, but the atmosphere is very similar.

I'd be interested in hearing more about your strategy for generating the landscapes.
Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #8 on: October 10, 2009, 05:15:11 PM »

New version (1.87) posted.

The internal structure has been modified noticeably. Walls are chamfered, height is varied (all driven by infinite noise functions, of course). Collisions have also been updated.

Some screenshots:




Downloads available on the Megastrata info page
More info regarding version 1.87 can be found on the blog post.
Logged

dbb
Level 4
****



View Profile WWW
« Reply #9 on: October 10, 2009, 05:35:27 PM »

Video and screenshots look really interesting - I'll be keeping an eye out for further developments on this one.

Have you got any concrete ideas as to the actual gameplay yet? Or is it too early?
Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #10 on: October 11, 2009, 02:53:25 AM »

Video and screenshots look really interesting - I'll be keeping an eye out for further developments on this one.

Have you got any concrete ideas as to the actual gameplay yet? Or is it too early?

Thanks!!

I have some very general directions regarding the gameplay. I want it to be an exploration-based game, perhaps in search of artifacts or special places of interest. My highest priority is finding out how to give a sense of wonder and curiosity to the player. Nailing this feeling is going to be tough.

Right now I'm still fleshing out how the world builds itself. The next major update will probably include elevators.
Logged

shrimp
Level 5
*****


View Profile WWW
« Reply #11 on: October 11, 2009, 05:33:07 AM »

My highest priority is finding out how to give a sense of wonder and curiosity to the player. Nailing this feeling is going to be tough.

Sounds very much like what I was/am struggling with... and I mean that in a "high five!" kinda way Smiley

The new shots look really nice, clean and stylish. Will you have some kind of modelled "economy"? Seems like a good way to add a kind of semantics to the world, although to be honest, I tried it and found it was chewing up a lot of time and diverting from the main theme, so I did something different... or at least changed focus to a different kind of semantics (if that's the right word). You might have better ideas/luck though  Wink
Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #12 on: October 11, 2009, 06:19:26 AM »


The new shots look really nice, clean and stylish. Will you have some kind of modelled "economy"? Seems like a good way to add a kind of semantics to the world, although to be honest, I tried it and found it was chewing up a lot of time and diverting from the main theme, so I did something different... or at least changed focus to a different kind of semantics (if that's the right word). You might have better ideas/luck though  Wink


Thanks for the encouragement!

I think I understand what you mean by "economy"... I guess on one end of the scale it could be "powerups" or "credits", but on the other end it could be territory or machine followers or something...? This is a very interesting angle, and I see how it can help lead to more concrete gameplay ideas (or at least help understand what "success" means in the game's terms). (Is that what you meant?)

Your Proteus game is incredible! The way you mix the different landscapes together is really nice. Is this a cyclic generation technique? Megastrata needs to be as acyclic as possible, and I wonder if I can branch off into this "nontiled" generation scheme, even shallowly.

Thanks for the comments.
Logged

shrimp
Level 5
*****


View Profile WWW
« Reply #13 on: October 11, 2009, 11:13:30 AM »

Heh thanks Smiley
Anyway, by economy I meant the links and interactions between the systems of the world, that sit on top of and maybe modify the geography. I'm not exactly sure what the world of your game is (although I just read up on Blame! - sounds awesome) so I'm being vague, but I guess it means the territory-level stuff in your example. Maybe also stuff like how various districts of the city (?) are connected and differentiated, subway networks, highways.

What do you mean by cyclic? I should probably post up the method in my project thread... I have a rough description lying around somewhere.

By the way, my worlds are nothing like this scale. They're only islands, currently with a max size of 128x128 squares.
Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #14 on: October 11, 2009, 01:55:21 PM »

Anyway, by economy I meant the links and interactions between the systems of the world, that sit on top of and maybe modify the geography. I'm not exactly sure what the world of your game is (although I just read up on Blame! - sounds awesome) so I'm being vague, but I guess it means the territory-level stuff in your example. Maybe also stuff like how various districts of the city (?) are connected and differentiated, subway networks, highways.

So far, the geography is the system. There is nothing but geography. This geography is a network of interlinked corridors. One of the goals of this project is to "lend a voice" to the underlying noise functions. As of today, the voice is rather monotonous. However, by layering noise functions and adding more and more variables controlled by the noise, I hope to bring about the differentiation of which you speak.

Although frankly, I think I have to sleep on that concept of "economy". I'm still not sure what you mean by it.

Quote
What do you mean by cyclic? I should probably post up the method in my project thread... I have a rough description lying around somewhere.

By the way, my worlds are nothing like this scale. They're only islands, currently with a max size of 128x128 squares.

From the procedurally-generated techniques I am aware of, usually there is a "cyclic" approach of first carving out the land mass, then juggling some pieces around so they seem more connectible, then connecting them in a logical manner, then populating them with appropriate tiles, etc... Or some variation thereof. The world I am building literally has no end, in any direction, which is easy to build if you're into monotony  Smiley ... but this technique builds directly upon 3D distributions of noise. So in a way, each area is autonomous, and there is no reliable way to use a "cyclic" or "multi-pass" algorithm to define each square (because it would differ depending on the immediate surroundings, and therefore change depending on which way you approach). One of the rules that helped build this idea from the start was the concept of absolute coordinates. I have hopes of multiple people running around an infinite dungeon of the Megastructure, and this view needs to be consistent regardless of platform, time, space, or whatever. Grin
Logged

shrimp
Level 5
*****


View Profile WWW
« Reply #15 on: October 12, 2009, 03:49:33 AM »

So far, the geography is the system. There is nothing but geography. This geography is a network of interlinked corridors. One of the goals of this project is to "lend a voice" to the underlying noise functions. As of today, the voice is rather monotonous. However, by layering noise functions and adding more and more variables controlled by the noise, I hope to bring about the differentiation of which you speak.

Although frankly, I think I have to sleep on that concept of "economy". I'm still not sure what you mean by it.

Well, I think you seem to have it nailed with the "voice" concept, so I'll stop rambling Smiley
Perhaps "semantics" or "meaning" would be better and more general than "economy".

Quote
From the procedurally-generated techniques I am aware of, usually there is a "cyclic" approach of first carving out the land mass, then juggling some pieces around so they seem more connectible, then connecting them in a logical manner, then populating them with appropriate tiles, etc... Or some variation thereof. The world I am building literally has no end, in any direction, which is easy to build if you're into monotony  Smiley ... but this technique builds directly upon 3D distributions of noise. So in a way, each area is autonomous, and there is no reliable way to use a "cyclic" or "multi-pass" algorithm to define each square (because it would differ depending on the immediate surroundings, and therefore change depending on which way you approach). One of the rules that helped build this idea from the start was the concept of absolute coordinates. I have hopes of multiple people running around an infinite dungeon of the Megastructure, and this view needs to be consistent regardless of platform, time, space, or whatever. Grin

OK, got it. I get around the problem by having a very small world. I feels like there may be ways to generate "pages" that tesselate but probably fraught with problems and I can't really back that up with a fully worked-out example...  Wink
Maybe something to do with Wang Tiles?

How infinite is infinite? You'll run out of coordinates at some point Grin

Anyway, don't let me derail you. The Megastructure sounds awesome!
Logged

Alex May
...is probably drunk right now.
Level 10
*


hen hao wan


View Profile WWW
« Reply #16 on: October 12, 2009, 05:07:12 AM »

Looks phat, good luck!

Look into L systems for building detail/internal room layout? A la CityEngine?

Obligatory link to my procedural city linkfest: http://forums.tigsource.com/index.php?topic=1982.0
Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #17 on: October 12, 2009, 06:15:02 AM »

Ed: this is untested, but theoretically, the coordinates are limited only by the single-precision floating point range. If need be, it will change to double. Don't worry about derailing the project, it is like an unstoppable spacecraft that doesn't need rails anyway. Your comments have given me fresh ideas and directions. Thanks again!

Alex: L-systems were an idea for the structural layout that got scrapped early on. But inside the room??? That's interesting. (ps. Thanks for the link.)

I've been tweaking some of the lighting today. Here's a new screenshot:
Logged

shrimp
Level 5
*****


View Profile WWW
« Reply #18 on: October 12, 2009, 07:22:40 AM »

Floating point goes a bit flakey the further you get from zero - at 1.6777216e7, the intervals between consecutive numbers is 1.0... so characters moving at less than 1 unit per frame, 1.7e7 away from the world origin will just not move at all!

You could break the world into sectors to avoid this.

Quote
it is like an unstoppable spacecraft that doesn't need rails anyway.
  Hand Thumbs Up LeftHand Metal LeftAddictedHand Metal RightHand Thumbs Up Right
« Last Edit: October 12, 2009, 01:17:04 PM by Ed » Logged

elib
Level 0
**


only just begun the process


View Profile WWW
« Reply #19 on: October 12, 2009, 07:47:43 AM »

Floating point goes a bit flakey the further you get from zero - at 1.6777216e7, the intervals between consecutive numbers is 1.0... so characters moving at less than 1 unit per second, 1.7e7 away from the world origin will just not move at all!

You could break the world into sectors to avoid this.

Ok, despite being aware of this, I had to check it anyway, now that you mention it. Going 1e6 units out causes everything to go haywire, yes. If you stay within 100K units, it seems to be alright (but the Z-buffer clipping goes nuts).

So yes, infinity is less than 100 thousand units in each direction. Tongue

(I may have to put it into sectors some day, but only if the noise generator function gains extra precision. Not a priority at the moment....)
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic