Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

OneEightHundred posted:

It's a static-typed language so there are some thing you can't do with it, though that's more of a tradeoff since it's much less mistake-prone.

The main barriers to it are mostly difficult integration, difficulty reasoning about security due to its size, and the difficulty of implementing a read-eval-print loop or doing any kind of hot code updates. If you're writing an entire game in it, then you'll also have to worry about performance degradation past a certain point.

I agree with this.

As far as performance, in my experience, as long as you know what you're doing, (an important caveat in any language) C# performance is really close to C++. I probably wouldn't write the core engine of Battlefield 4 in C# for example, but I'd probably write the high level logic/UI in it; but in almost any realistic-to-produce indie game you're going to be able to get arbitrarily close to what your C++ performance would be with C#. You have to understand the garbage collector, and understand managed->unmanaged code boundrys, but the net result is much less error prone code, with very little room for the complete nightmares of stack and heap corruption that are the nightmare bugs in C++.

Like, for instance I wrote a little minecraft engine from scratch in C# with a deferred rendering engine that can handle thousands of lights at once, including SSAO and a bunch of other stuff, just to try it, using a bastardized subset of Tao to interop with OpenGL. Performance was completely on par with a vanilla commercial engine.

( it looks cooler in motion when all those lights are moving around :( )

Adbot
ADBOT LOVES YOU

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

Unormal posted:

( it looks cooler in motion when all those lights are moving around :( )

Got any video of this? I am a huge sucker for deferred rendering demos.


... and, unrelated, but does it strike anyone else that it's been a kind of boring couple of years for rendering tech? It seems like the things I was excited about 5 years ago are, more or less, the tech I'm excited about today. The only big exception would be applications of sparse matrices / massive cellular automata systems, as popularized by Minecraft.

Maybe I've just missed the papers, though? Anyone got any favorite recent articles on cool rendering algorithms or scene constructions?

Shalinor fucked around with this message at 20:20 on Aug 13, 2012

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

Shalinor posted:

Got any video of this? I am a huge sucker for deferred rendering demos.

FRAPS is recording the wrong framebuffer. (WTF fraps?)

I stuck a demo up on s3, if anyone wants to try it out:
http://s3.amazonaws.com/Madball/Cubelit.zip

You have to unzip it or it won't be able to find it's textures.

It's honestly pretty embarrassing for any kind of public demo (see the shadow mapping for example). I was just using it to figure out what kids these days were doing these days with these fancy 'shader' things. :corsair:

Put in 16 (or whatever) for "test lights per chunk" to see the moving lights.

WADS+RF to flyaround, Escape to lock/unlock the cursor
[ and ] to cycle through the various framebuffers used to composite the final image
hold T and G to quickly cycle day/night
Clicking on cubes sometimes works, depending on if you're "in" the chunk or not
F2 toggles my horrifyingly bad depth of field
e:
space creates a new light, so you can spam it to leave a fun trail of lights behind you

Unormal fucked around with this message at 20:39 on Aug 13, 2012

TJChap2840
Sep 24, 2009
This whole C++ discussion is crazy because I just startled trying to get a better understanding of C++ this past week.

My primary language is C# and I thought all the cool kids dabbled in C++ for game development.

Is it safe to say I should just stick with what I know and continue learning more advanced programming topics with it?

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Unormal posted:

C# performance is really close to C++.
After the mess of dealing with MPEG.NET, I can't really agree with this any more. Array access overhead in particular is abysmal. The ceiling in terms of what you can do is pretty high, but if you have major data processing operations leaning on C# code, then you really do stand to gain a lot of performance by moving it to C++ code or finding a way to throw it at the GPU.

Shalinor posted:

... and, unrelated, but does it strike anyone else that it's been a kind of boring couple of years for rendering tech? It seems like the things I was excited about 5 years ago are, more or less, the tech I'm excited about today. The only big exception would be applications of sparse matrices / massive cellular automata systems, as popularized by Minecraft.

Maybe I've just missed the papers, though? Anyone got any favorite recent articles on cool rendering algorithms or scene constructions?
Voxel cone tracing seems to have struck gold and is undoubtedly going to become the new gold standard for GI computations. CryEngine3 and UE4 are both moving to it.

The tech is largely vegetating for two reasons: First, the performance ceiling is still dictated by 6-year-old console hardware. Second, the technology is starting to outpace the point where it's cost-effective to develop content for it.

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

TJChap2840 posted:

This whole C++ discussion is crazy because I just startled trying to get a better understanding of C++ this past week.

My primary language is C# and I thought all the cool kids dabbled in C++ for game development.

Is it safe to say I should just stick with what I know and continue learning more advanced programming topics with it?

I'd say that if you're good at interop you can learn and do just about anything you want in C#. (Excepting patterns for making games in C++)

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe

OneEightHundred posted:

After the mess of dealing with MPEG.NET, I can't really agree with this any more. Array access overhead in particular is abysmal. The ceiling in terms of what you can do is pretty high, but if you have major data processing operations leaning on C# code, then you really do stand to gain a lot of performance by moving it to C++ code or finding a way to throw it at the GPU.

Yeah I agree, if you're doing a ton of bare-metal data processing (audio/video processing, for example), moving that out into C++ makes complete sense.

e:

quote:

Voxel cone tracing seems to have struck gold and is undoubtedly going to become the new gold standard for GI computations. CryEngine3 and UE4 are both moving to it.

Wow that's really drat nice.

Unormal fucked around with this message at 21:08 on Aug 13, 2012

General_Failure
Apr 17, 2005
Well there you go. I knew that voxel tech would start to gain momentum again.

Paniolo, I wasn't trying to make any specific examples. C++ an really be considered a superset of C. It adds a whole lot of extra functionality and complexity. So while someone can write something horrible in C, there is more to create an obfuscated mess with in C++ and it has the flexibility to allow it. For example pointer abuse can make a C program hard to read, but can make C++ impossible to follow if the OO model is abused or broken to suit the needs of someone trying to take a shortcut or that doesn't get the finer nuances of scope, accessors or whatever else.

You seem to be defending what you consider an attack on C++ which I never did. Just settle down there.

Your Computer
Oct 3, 2008




Grimey Drawer

Wozbo posted:

I've never seen C# as a game programming language before. For some reason I always viewed it as a "business language" ala VB.net etc. Are there any real drawbacks to game coding in C#?

I'm doing game programming in it now, and it's the language I've been most successful with so far!
I have a background in Java, so C# was very easy to pick up (in addition to being very easy to use in general), and Monodevelop is the neatest IDE I've used so far!
I tried reading the book "C# Game Programming for Serious Game Creation" which uses the Tao framework and Windows Forms, but I really disliked Forms and found out the book's a bit outdated and so I jumped over to OpenTK instead.
OpenTK has been great so far, it's very easy and straightforward to use for window-handling and input, and I like it's way of handling OpenGL (even though it's less "correct", using gl.function() instead of GL.glFunction()).

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Your Computer posted:

(even though it's less "correct", using gl.function() instead of GL.glFunction()).
Ironically this is probably more correct when you consider that the actual OpenGL specifications do not include "gl" or "GL_" prefixes anywhere.

Unormal
Nov 16, 2004

Mod sass? This evening?! But the cakes aren't ready! THE CAKES!
Fun Shoe
Figured out a way to capture it, here's a little demo showing lots of lights, atmospheric scattering, and stuff. All horrible, visually, from a connoisseur's standpoint; but all in C#. The video recording software made it not run at 400 fps, don't blame C# :)

https://www.youtube.com/watch?v=Ev-lK1lvxmA

e: horrible at spelling.

Unormal fucked around with this message at 02:39 on Aug 14, 2012

Wozbo
Jul 5, 2010
I have a very vague idea now of a project I wanna do on a mobile platform. I'm targetting the vita because I know c# like the back of my hand because its one of my core work languages and I feel comfy enough navigating and debugging unlike c++ even though its another of my core languages. Not to mention I have all the tools set up already and there's a base to build off of.

So here's my dastardly (read: lovely) idea. I've recently been on a space game bender. EVE Online, X3, Freelancer, Descent (God I loving love descent, especially the second one) and so on. But I've never had a version I could just take with me, not counting the DS homebrew of descent.

The thing I wanted to do that was different-ish is have the whole game take place on a 2d grid with 3d drop in when events happen. Like, when you're exploring the galaxies its all 2d, you see planets and suns and asteroids, and there's some basic pathing stuff that goes on. Then whenever something happens, like pirates attack or you pass by a trade convoy, you can drop into a 3d representation of like some arbitrary radius where the stuff is happening. Then you go into six degrees of freedom mode and do your space cowboy thing. Of course for the non hostile encounters I'd guess you would have an option to drop in or maybe I'd just tie the whole grid -> free roam to a toggle key.

What I kinda want to do is make the 2 1/2 d portion your megatrader/ ai planner/ 100x speed gogogo/ ship fitting part and keep the free roaming and shooting part strictly to the drop in part. I was thinking the whole drop in part could be easier to make up on the fly if I know I don't have to generate the whole universe to make the pie.

I guess my two questions are this: Has anything similar ever been done and does this even sound like a decent enough idea to start fleshing out? God I feel a little embarassed talking about my idea, I've just started thinking it through.

Huragok
Sep 14, 2011

Wozbo posted:

I guess my two questions are this: Has anything similar ever been done and does this even sound like a decent enough idea to start fleshing out? God I feel a little embarassed talking about my idea, I've just started thinking it through.

I've been on a spacesim kick too and from my early prototyping it's crazy complicated. I'm building an EVE-like 4X but the central premise is that humanity never developed FTL travel, so we're stuck here in the solar system with fusion ships. Except around earth which is a policed part of space, it's anything goes PvP/PvE.

My goal is to build a good backend and provide a way for anyone to design a frontend for the game. It's just a side project, but it's really taxing my skills and I love it.

PiCroft
Jun 11, 2010

I'm sorry, did I break all your shit? I didn't know it was yours

I had an idea for a game that I've been kicking around for a while but never started in any meaningful way: A space sim (seems I'm not alone there :D) with emphasis on survival. You would be trapped in a region of space (hyperspace accident, alien kidnap, space phenomena I don't know, it doesn't really matter) with enemies occasionally spawning in and the aim is to survive by any means necessary.

My aim is to focus on complex mechanics rather than visuals, so I was batting around the idea of using either Unity or a text/ascii-based renderer so I can focus my attention on making the game mechanics rather than graphical chicanery.

I was wondering if Unity is a particular barrier to complexity in games? Most games I've seen in it tend to be either simple demos or games that are simple in and of themselves so I wans't sure if it would be suitable.

Azazel
Jun 6, 2001
I bitch slap for a living - you want some?

PiCroft posted:

I was wondering if Unity is a particular barrier to complexity in games? Most games I've seen in it tend to be either simple demos or games that are simple in and of themselves so I wans't sure if it would be suitable.

I would say not at all.

The only barrier, at least from a programmer point of view, is wrapping your head around how to fully utilize their editor and save yourself a lot of time. Once you slowly get comfortable with the workflow and letting it handle more things natively vs. writing custom code to drive it all, you can knock out almost anything in no time flat.

roomforthetuna
Mar 22, 2005

I don't need to know anything about virii! My CUSTOM PROGRAM keeps me protected! It's not like they'll try to come in through the Internet or something!

Azazel posted:

The only barrier, at least from a programmer point of view, is wrapping your head around how to fully utilize their editor and save yourself a lot of time. Once you slowly get comfortable with the workflow and letting it handle more things natively vs. writing custom code to drive it all, you can knock out almost anything in no time flat.
And if there is something it doesn't do, custom code to drive it can work pretty well. I have a function I wrote that slices an object/mesh into two object/meshes along a given plane, for example (filling in the empty side with a texture of your choice). It can cause a bit of a slow frame if you use it to smash something into 16+ pieces, but I think that's more because of the new object creation than the mesh manipulation.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

PiCroft posted:

I was wondering if Unity is a particular barrier to complexity in games? Most games I've seen in it tend to be either simple demos or games that are simple in and of themselves so I wans't sure if it would be suitable.
It's hard to really quantify, but generally, other engines tend to fare a bit better with really complex environments, high hardware budgets, and large team sizes. Like as just one arbitrary example, Unity can't distribute out its lightmap jobs, which a tiny company with just its developer PCs probably not care about, but a team developing a multi-million dollar title that can afford a processing farm might.

Its capability ceiling is very high, so I'm not sure "barrier" is the right word, it's just not really as optimal for it. Most of its features are geared toward fast iteration with small team sizes.

OneEightHundred fucked around with this message at 19:45 on Aug 14, 2012

BizarroBrian
Jan 7, 2004

Dear Mr. President, There are too many states nowadays. Please eliminate three. P.S. I am not a crack-pot.
Speaking of Unity, can anyone recommend a good book or tutorial site for starting game development with Unity? I have no previous game programming experience, but a fair amount of scripting and web dev

JGTheSpy
Jul 31, 2002
Excuse me, but if I could have a moment of your time, I'd like to explain why you're not actually enjoying that game that you're enjoying. You see, I am in fact an expert. At games. I know, it's impressive.

BizarroBrian posted:

Speaking of Unity, can anyone recommend a good book or tutorial site for starting game development with Unity? I have no previous game programming experience, but a fair amount of scripting and web dev

http://walkerboystudio.com/html/unity_training___free__.html

I really liked the first two tutorials here to get started. The later ones sound really cool but they do way too much of the work for you. The first two have you building some basic games from scratch. The Introduction to Unity stuff felt a little pointless because you cover a lot of that stuff in the game tutorials so I'd just jump right to Point and Click. You can always go back to the intro stuff later if you have questions.

edit: The section in Tool Development on sprite sheets is pretty cool too. I've been using the script I made there for my sprite-based game and it works pretty well for now although I think I'm might splurge on a real 2D kit if I find myself with some extra money.

JGTheSpy fucked around with this message at 21:04 on Aug 14, 2012

BizarroBrian
Jan 7, 2004

Dear Mr. President, There are too many states nowadays. Please eliminate three. P.S. I am not a crack-pot.

JGTheSpy posted:

http://walkerboystudio.com/html/unity_training___free__.html

I really liked the first two tutorials here to get started. The later ones sound really cool but they do way too much of the work for you. The first two have you building some basic games from scratch. The Introduction to Unity stuff felt a little pointless because you cover a lot of that stuff in the game tutorials so I'd just jump right to Point and Click. You can always go back to the intro stuff later if you have questions.

edit: The section in Tool Development on sprite sheets is pretty cool too. I've been using the script I made there for my sprite-based game and it works pretty well for now although I think I'm might splurge on a real 2D kit if I find myself with some extra money.

Sweet, this is exactly what I was looking for! Thanks!

General_Failure
Apr 17, 2005
Awaiting the Linux version of the unity dev stuff before I start playing with it.

Posting because I want to ask a question about SDL. While it can be useful, some of the way that it works really shits me. One of the compromises I've been making is to make the screen buffer global. I really don't like doing that but can't see a better way for small projects to get drawing code out into its own functions without passing the same pointer repeatedly.

Sure I could go OO on it and shove what I want into a class, pass the pointer once, perhaps in a constructor and leave it at that, but is that really the best way?

This is just for small programs by the way. Essentially for testing an idea.

Cat Plus Plus
Apr 8, 2011

:frogc00l:

General_Failure posted:

Posting because I want to ask a question about SDL. While it can be useful, some of the way that it works really shits me. One of the compromises I've been making is to make the screen buffer global. I really don't like doing that but can't see a better way for small projects to get drawing code out into its own functions without passing the same pointer repeatedly.

Sure I could go OO on it and shove what I want into a class, pass the pointer once, perhaps in a constructor and leave it at that, but is that really the best way?

This is not really related to SDL at all (SFML is better, by the way). For small, throw-away programs it won't matter much, so you can just use a global and not worry about it.

But for large projects with long-term maintenance plans, making dependencies part of the interface (whether by making functions take them as explicit arguments or with well-designed OO model) is a very good idea. Technical debt bites hard.

rarbatrol
Apr 17, 2011

Hurt//maim//kill.
I see a lot of talk about UDK and Unity, but what are people's experiences with Torque?

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Torque 2D or Torque 3D? They're entirely different beasts.

Well, for both, GarageGames seems to have stopped development on it. They've also changed business models several times, and most of the people who worked on the Tribes engine and went to GarageGames now work at other places.

rarbatrol
Apr 17, 2011

Hurt//maim//kill.

Suspicious Dish posted:

Torque 2D or Torque 3D? They're entirely different beasts.

Well, for both, GarageGames seems to have stopped development on it. They've also changed business models several times, and most of the people who worked on the Tribes engine and went to GarageGames now work at other places.

Torque 3D. I know the company was purchased and relocated last year, and is in kind of a strange place, but the engine is still for sale.

xgalaxy
Jan 27, 2004
i write code

Suspicious Dish posted:

Torque 2D or Torque 3D? They're entirely different beasts.

Well, for both, GarageGames seems to have stopped development on it. They've also changed business models several times, and most of the people who worked on the Tribes engine and went to GarageGames now work at other places.

I worked at GarageGames for a better part of a decade so I feel I'm uniquely qualified to answer any questions about Torque or GarageGames.

I wouldn't use Torque these days. I don't think I could even recommend it back when I was working at GarageGames either.

Don't get me wrong. Torque wasn't necessarily a bad engine. it is just an entirely different beast to what Unity and UDK provide. Torque is not user friendly, and it isn't really ashamed of that fact either. It was an engine born from a number of professionally produced AAA games made by Dynamix and Sierra Online in the early 90's to early 00's, from Earthsiege to Starsiege and Tribes, and even a Trophy Bass game or two.

GarageGames spent years adding to it, ripping parts out, bringing parts up to date, and so on. Part of the problem was GarageGames grew too fast and Torque development often lacked direction, had poor quality assurance and poor developer discipline. Another part of it was that GarageGames was bought out, and the people that took over or oversaw certain aspects of the company were loving clueless.

Certain parts of Torque are amazing. For instance, the networking systems are still, in my opinion, the best in the industry. It has been co-opted by a number of professional studios by now, including Bungie for Halo for example.

Other parts suffer from developers making changes when they didn't fully understand what they were doing and how it effected other parts of the code base. And later version of Torque often had newer systems that were over engineered and under performing.

Everyone either left GarageGames or were eventually laid off by the parent company. Some people managed to get the GarageGames brand back, and license to the engine. These people are the GarageGames that stands today. But no one who had any major role in the development of Torque works there now.

The sad thing about all of this is the parent company had to write GarageGames off at a loss, and couldn't take profits from any of its products anymore if they wanted to get the tax incentives of recording that loss. So products like Marble Blast Ultra for Xbox Live Arcade were taken off the XBLA store and are gone forever.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Oh hey! If you worked on Marble Blast Gold at all, you are awesome. I still play through that game every so often.

So, a question about the management side of it: was it the new management that turned GarageGames from a game development studio to "Torque Development and Contracting", and then turned it into "Online Game Shop InstantAction"? That always seemed like a giant disaster.

Also, if you know, what was "Monster Games"?

rarbatrol
Apr 17, 2011

Hurt//maim//kill.

xgalaxy posted:

I worked at GarageGames for a better part of a decade so I feel I'm uniquely qualified to answer any questions about Torque or GarageGames.

I wouldn't use Torque these days. I don't think I could even recommend it back when I was working at GarageGames either.

Don't get me wrong. Torque wasn't necessarily a bad engine. it is just an entirely different beast to what Unity and UDK provide. Torque is not user friendly, and it isn't really ashamed of that fact either. It was an engine born from a number of professionally produced AAA games made by Dynamix and Sierra Online in the early 90's to early 00's, from Earthsiege to Starsiege and Tribes, and even a Trophy Bass game or two.

GarageGames spent years adding to it, ripping parts out, bringing parts up to date, and so on. Part of the problem was GarageGames grew too fast and Torque development often lacked direction, had poor quality assurance and poor developer discipline. Another part of it was that GarageGames was bought out, and the people that took over or oversaw certain aspects of the company were loving clueless.

Certain parts of Torque are amazing. For instance, the networking systems are still, in my opinion, the best in the industry. It has been co-opted by a number of professional studios by now, including Bungie for Halo for example.

Other parts suffer from developers making changes when they didn't fully understand what they were doing and how it effected other parts of the code base. And later version of Torque often had newer systems that were over engineered and under performing.

Everyone either left GarageGames or were eventually laid off by the parent company. Some people managed to get the GarageGames brand back, and license to the engine. These people are the GarageGames that stands today. But no one who had any major role in the development of Torque works there now.

The sad thing about all of this is the parent company had to write GarageGames off at a loss, and couldn't take profits from any of its products anymore if they wanted to get the tax incentives of recording that loss. So products like Marble Blast Ultra for Xbox Live Arcade were taken off the XBLA store and are gone forever.

Ah, it's as I thought. I've made a lot of stuff for the starsiege/tribes games, so my desire to use it is primarily nostalgic. I know how it goes, though... it's a shame. Guess I'll look elsewhere.

xgalaxy
Jan 27, 2004
i write code

Suspicious Dish posted:

Oh hey! If you worked on Marble Blast Gold at all, you are awesome. I still play through that game every so often.

So, a question about the management side of it: was it the new management that turned GarageGames from a game development studio to "Torque Development and Contracting", and then turned it into "Online Game Shop InstantAction"? That always seemed like a giant disaster.

Also, if you know, what was "Monster Games"?

Well GarageGames was started as primarily a game engine technology provider first. That was the primary goal, at least at first. Eventually games such as Marble Blast and all it's varients and sequels were made in house, as were a number of other games throughout the years.

Torque2D was made somewhere in the middle of all of that and it did really well.

At some point shortly after this we were approached by Microsoft about developing a game engine for this new technology platform they were working on using C# that was to eventually become the first version of XNA. It was around this point where we started to heavily outsource development of various parts of Torque.

Shortly after this period we were bought and the whole InstantAction thing started which I would rather forget about entirely.

General_Failure
Apr 17, 2005

PiotrLegnica posted:

This is not really related to SDL at all (SFML is better, by the way). For small, throw-away programs it won't matter much, so you can just use a global and not worry about it.

But for large projects with long-term maintenance plans, making dependencies part of the interface (whether by making functions take them as explicit arguments or with well-designed OO model) is a very good idea. Technical debt bites hard.

Appreciate the advice. SDL would be a bitch for larger projects anyway.

Been a bit distracted lately and lacking in inspiration. But I did some cleaning up today and cleared off the old computer desk which is thoroughly useless for a tower. Picked a C=64, a 1541 and plopped it on there with a 1084DS and a couple of the best joysticks I owned (which are awesome by the way. A TAC-2 and a STAR-CURSOR) and started finding inspiration watching my kids enjoying the hell out of it, and having a play myself too.
Responsive controls, self explanatory gameplay and fast action can go a long way.
With all the cores and GHz etc. I'm as yet to see a PC running a modern OS that can respond as quickly as an 8 bit computer or console. Yes I know, multitasking, granularity, priority etc. but it still stands that one of the things that I miss from things programmed bare metal is the lack of latency.
All that aside, I can see my roots playing with the 8 bitters. It's good. Definitely an aid to the writer's block of sorts I'm having.

Lucid Dream
Feb 4, 2003

That boy ain't right.
Does anyone have any clue how to make 2d perlin or simplex noise tileable in such a way that it doesn't lead to noticeable artifacting? I'm trying to use 2d noise to do terraria-esque world generation, but I want the map to be able to loop horizontally. I found a way of making it loop by sampling 2 points and blending them together but it makes the noise all mushy looking in the middle, which really screws up ore placement. I'm using c# if it makes any difference.

Mug
Apr 26, 2005
Here's a new video of where I'm at at the moment.
https://www.youtube.com/watch?v=DpoQrbb7neI

Lots of little animation details added throughout.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Lucid Dream posted:

Does anyone have any clue how to make 2d perlin or simplex noise tileable in such a way that it doesn't lead to noticeable artifacting? I'm trying to use 2d noise to do terraria-esque world generation, but I want the map to be able to loop horizontally. I found a way of making it loop by sampling 2 points and blending them together but it makes the noise all mushy looking in the middle, which really screws up ore placement. I'm using c# if it makes any difference.

The standard answer is to use 4D simplex noise:

http://www.gamedev.net/blog/33/entry-2138456-seamless-noise/

chglcu
May 17, 2007

I'm so bored with the USA.

Lucid Dream posted:

Does anyone have any clue how to make 2d perlin or simplex noise tileable in such a way that it doesn't lead to noticeable artifacting? I'm trying to use 2d noise to do terraria-esque world generation, but I want the map to be able to loop horizontally. I found a way of making it loop by sampling 2 points and blending them together but it makes the noise all mushy looking in the middle, which really screws up ore placement. I'm using c# if it makes any difference.

There's this, but I've never actually tried it. Seems like it should work though.

General_Failure
Apr 17, 2005

Mug posted:

Here's a new video of where I'm at at the moment.
https://www.youtube.com/watch?v=DpoQrbb7neI

Lots of little animation details added throughout.

I look forward to seeing further videos. Love the classic style by the way. Reminds me of a AAA title from around '93-'95.

Mug
Apr 26, 2005

General_Failure posted:

I look forward to seeing further videos. Love the classic style by the way. Reminds me of a AAA title from around '93-'95.

Haha, that's an awesome complement, thanks.

It's come a long way from this screenshot I took on dev-day 10:

Mug
Apr 26, 2005
Can someone give me some reading material regarding voxels? I just want to be able to do things like the vehicles in Tiberian Sun, basically.

I understand how to store Voxel objects in a file (i guess a pixel just needs an X Y and Z axis and a colour) but I don't really get how to render them based on a transformation matrix.

General_Failure
Apr 17, 2005

Mug posted:

Can someone give me some reading material regarding voxels? I just want to be able to do things like the vehicles in Tiberian Sun, basically.

I understand how to store Voxel objects in a file (i guess a pixel just needs an X Y and Z axis and a colour) but I don't really get how to render them based on a transformation matrix.

As horrible as this sounds, Wikipedia is a good starting point. Some of the articles on the basic concepts are pretty good. But from there you have to branch out looking for terms mentioned. I'll mention at this point if you don't know you can compile a book from wiki pages and it really formats quite nicely. I did that for the key articles I wanted to use for reference.

Incidentally, voxels don't have coordinates as such. They are VOlumetric piXELS. One of the most common storage methods is an octree. Which is essentially a tree structure where each parent node has 8 child nodes. These all radiate outward into quadrants (that doesn't sound like the right word. Please correct me?) and all the child iterations of that first node work to subdivide those quadrants in to more of the same, for as many iterations as you want to generate.

So they aren't like MineCraft with its definition of "voxels" as such. It's a completely different beast.

If I can find the Wiki PDF I made, and someone can tell me an easy way to share it I'll put it up for you if you want it.

UraniumAnchor
May 21, 2006

Not a walrus.

General_Failure posted:

These all radiate outward into quadrants (that doesn't sound like the right word. Please correct me?)

I'm going to take a wild stab and say "octants".

Adbot
ADBOT LOVES YOU

General_Failure
Apr 17, 2005

UraniumAnchor posted:

I'm going to take a wild stab and say "octants".

That's what I thought, but it doesn't sound right. I guess it could be. I'm at home being hassled so my concentration isn't 100% right now I'll admit.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply