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
Rottbott
Jul 27, 2006
DMC

Shalinor posted:

It can cause some really horrendous stutters if your framerate hovers in the neighborhood of 60fps, where your FPS will drop to 30FPS one frame, then shoot back up the next. That's what I was referencing. targetFramerate can cause the same gross update cycle skips and the same variable hitches in framerate.
That's what I meant by 'can't quite manage 60Hz'. You strive to make your game hit 60Hz reliably and never drop frames, because tearing is vile. Many games which can't do 60Hz cap at 30Hz deliberately, so the frame-rate is at least consistent while retaining vsync. Others (especially modern ones) automatically drop the vsync only for frames which took longer than expected, so you get temporary tearing instead of dropped frames, without suffering it constantly. I took that approach on the Wii where everything's so blurry anyway you hardly notice it.

And yes, getting variable refresh rates will be great, especially for VR displays.

Adbot
ADBOT LOVES YOU

czg
Dec 17, 2005
hi
Anyone got any experience with Bullet?
I tried just naively making a btBvhTriangleMeshShape from my world geometry, and was absolutely thrilled when I could launch btSphereShapes out across it and have them bounce around. But then I tried replacing the sphere shape with a box shape, and now they just shudder a bit and fall through the world.
I'm scaling the world, so everything is within a 10~20 range.
I'm guessing there isn't any magic bullet to make it work better, but any hints of values I might tweak would be appreciated.
(To be honest I've only used Bullet for three days yet, so I'm not exactly familiar with it.)

Some C# code, setting up the world:
code:
public PhysicsWorld()
{
    BroadphaseAlgorithm = new DbvtBroadphase();
    CollisionConfiguration = new DefaultCollisionConfiguration();
    CollisionDispatcher = new CollisionDispatcher(CollisionConfiguration);
    ConstraintSolver = new SequentialImpulseConstraintSolver();

    DynamicsWorld = new DiscreteDynamicsWorld(CollisionDispatcher,BroadphaseAlgorithm,ConstraintSolver,CollisionConfiguration);            
}
Stepping the world:
code:
public void Tick(double deltaTimeMS)
{
    DynamicsWorld.StepSimulation((float)(deltaTimeMS / 1000),10);
}
Setting up my mesh shape:
code:
int[] Indexes;
Vector3[] Vertexes;

//(Getting data here...)
TriangleMesh = new TriangleIndexVertexArray(Indexes, Vertexes);

TriangleShape = new BvhTriangleMeshShape(TriangleMesh, true);
ScaledTriangleShape = new ScaledBvhTriangleMeshShape(TriangleShape, new Vector3(PhysicsWorld.Scale));
                
MotionState = new DefaultMotionState();

RigidBodyCI = new RigidBodyConstructionInfo(0, MotionState, ScaledTriangleShape, Vector3.Zero);
RigidBody = new RigidBody(RigidBodyCI);

PhysicsWorld.AddRigidBody(RigidBody);

Boz0r
Sep 7, 2006
The Rocketship in action.
I want to try fiddling a bit with game development. Can anyone recommend me an engine for remaking Blood?

I'm not very good at the creative aspects, so it would be cool if I could use sprites, or if the engine had a lot of free assets, until I could get some proper models. Also, particle effects for fire and a boatload of gore.

Flownerous
Apr 16, 2012

czg posted:

Anyone got any experience with Bullet?

How big are the cubes? Check the Bullet specs for the units it's comfortable with. If your whole world is 10-20 units it's possible the cubes are too small.

duck monster
Dec 15, 2004

Boz0r posted:

I want to try fiddling a bit with game development. Can anyone recommend me an engine for remaking Blood?

I'm not very good at the creative aspects, so it would be cool if I could use sprites, or if the engine had a lot of free assets, until I could get some proper models. Also, particle effects for fire and a boatload of gore.

Unity's apparently becoming quite decent for 2D stuff. I'm a big fan of the Cocos2d-x (C/Javascript) and Moai options (Lua) for cross platform dev, both of which are open source.

Chunderstorm
May 9, 2010


legs crossed like a buddhist
smokin' buddha
angry tuna
Hey everyone, I'm having a weird camera... issue? in Unity.

So I've got this rail shooter movement demo that works pretty well. I like how the movement feels and all.

My issue is that it's currently using an orthographic camera, so as things move closer to the camera, they don't get any bigger. But if I change to perspective camera, the shots don't appear to go to the correct spot. On top of that, if the ship isn't directly in the center, then the targeting reticle doesn't appear to center in front of the ship.

Is there any way to use a perspective camera and correct for the camera's view? I've already tried giving it a really small field of view, but it doesn't 100% fix the issue.

As for how I'm doing the movement, the ship has a rigidbody, gets a Vector2 of the player's input, creates a velocity and applies it to the rigidbody. The reticle moves based on the ship's velocity and has a clamp on it to prevent it from going out too far.

Thanks for any help. :)

salad tong
Dec 4, 2000

Boz0r posted:

I want to try fiddling a bit with game development. Can anyone recommend me an engine for remaking Blood?

I'm not very good at the creative aspects, so it would be cool if I could use sprites, or if the engine had a lot of free assets, until I could get some proper models. Also, particle effects for fire and a boatload of gore.

I'd go with Unity if I were you, assuming that you mean the 2.5d FPS Blood and not some other game with the same name. I'd think it'd be pretty easy to just make enemies/objects by making a GameObject with a quad as its mesh, then applying the desired sprite as its texture/material. I'm fairly certain Unity supports billboarding, so you'd be able to get that 2.5d fps feel pretty easily. It'd also be pretty trivial, I think, to fake a lot of the tricks that BUILD engine games did to give the illusion of a truly 3D space. Unity's also got a pretty good particle engine, and for things like gore you could also look into using its physics engine so that you can have it bouncing all over the place. Unity now has two physics engines, though, so make sure you're using the 3D one and not the 2D one. (No idea whether you can make particles in Unity that interact with the physics engine, though, so you might have to make actual GameObjects for those.)

As for free assets, there's a lot of stuff on the Unity Asset Store, although I'm not sure how much of it is free. I think the first major hurdle you'd encounter with it is dealing with enemy pathfinding, since Unity doesn't have any pathfinding stuff built-in, to my knowledge, whereas I'd think that in a traditional FPS engine you'd have some general form of pathfinding available to you.

Alternatively, you could always consider working in the BUILD engine itself, since more work has been done on it to make it more "modern" since its source code was released, but I've also heard that it's kind of a pain to work in by today's standards.

Edit:

Chunderstorm posted:

Hey everyone, I'm having a weird camera... issue? in Unity.

So I've got this rail shooter movement demo that works pretty well. I like how the movement feels and all.

My issue is that it's currently using an orthographic camera, so as things move closer to the camera, they don't get any bigger. But if I change to perspective camera, the shots don't appear to go to the correct spot. On top of that, if the ship isn't directly in the center, then the targeting reticle doesn't appear to center in front of the ship.

Is there any way to use a perspective camera and correct for the camera's view? I've already tried giving it a really small field of view, but it doesn't 100% fix the issue.

It sounds like you're treating the reticle as an object in the game world, rather than a part of the UI on the screen. You might want to try basing its position on where it is on the screen by converting the ship's position from world coordinates to screen coordinates using Camera.WorldToScreenPoint, make whatever adjustments you want to that coordinate, then use Camera.ScreenToWorldPoint to convert it back to world coordinates and apply it to the reticle.

http://docs.unity3d.com/Documentation/ScriptReference/Camera.ScreenToWorldPoint.html
http://docs.unity3d.com/Documentation/ScriptReference/Camera.WorldToScreenPoint.html

You could also consider doing something that's a bit more of a hack (and which I'm not 100% certain would work), by adjusting the scale of incoming objects' transform components, based on their Z coordinate/depth. (I'm assuming that in your game, Y is the vertical component and Z is the depth component.) I think it would work, but I'm not sure how that would affect collisions when the player tries to shoot them.

salad tong fucked around with this message at 20:36 on Feb 20, 2014

Chunderstorm
May 9, 2010


legs crossed like a buddhist
smokin' buddha
angry tuna

salad tong posted:

It sounds like you're treating the reticle as an object in the game world, rather than a part of the UI on the screen. You might want to try basing its position on where it is on the screen by converting the ship's position from world coordinates to screen coordinates using Camera.WorldToScreenPoint, make whatever adjustments you want to that coordinate, then use Camera.ScreenToWorldPoint to convert it back to world coordinates and apply it to the reticle.

http://docs.unity3d.com/Documentation/ScriptReference/Camera.ScreenToWorldPoint.html
http://docs.unity3d.com/Documentation/ScriptReference/Camera.WorldToScreenPoint.html

You could also consider doing something that's a bit more of a hack (and which I'm not 100% certain would work), by adjusting the scale of incoming objects' transform components, based on their Z coordinate/depth. (I'm assuming that in your game, Y is the vertical component and Z is the depth component.) I think it would work, but I'm not sure how that would affect collisions when the player tries to shoot them.

Yeah, the reticle is currently a gameObject in front of the ship, then the visual aspect of it is just a floating sprite with the same X and Y as the gameObject.

I'm not sure how scaling will work (for the reasons you described) but I'll go ahead and give the World/Screen-to-Screen/World stuff. Thanks!

czg
Dec 17, 2005
hi

Flownerous posted:

How big are the cubes? Check the Bullet specs for the units it's comfortable with. If your whole world is 10-20 units it's possible the cubes are too small.
I read on the Bullet wiki that Bullet treated 1 unit = 1 meter, and that it was most comfortable with objects on a ~1 meter scale, so I scaled my world down by 1/64 since I'm working with 64 units = 1 meter and most objects are around that size.
Turns out that was a really bad idea, because now I tried removing the scaling, and that pretty much solves everything.

Here's a link to an 8MB gif of some wireframe balls and boxes bouncing around, yay!

Don Mega
Nov 26, 2005
General question on game development is what should you do with loading asset errors and another similar issues? If the spritesheet for a character is missing for some reason should I just display a basic rectangle? Should I print "Character skin missing" to the screen and close the game?

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!

Don Mega posted:

General question on game development is what should you do with loading asset errors and another similar issues? If the spritesheet for a character is missing for some reason should I just display a basic rectangle? Should I print "Character skin missing" to the screen and close the game?
Personal preference: render missing textures as wireframes (so in the case of a sprite, probably a rectangle with a line across it - though if you're in full 2D mode, sure, just a rectangle), and print to some sort of console output some sort of helpful message about what's missing ("character skin 'name/filename' missing")

This way it's good when you're testing your own stuff because you can choose to test it before you make the graphics, and it's nice if you accidentally put out one corrupted file in a release or something to have the game still work and just have one patch of badly rendered stuff but also inform the user that there's a bad file so it's not supposed to look like that. Better than "gently caress you, you can't play my game until I fix it, crash!" Especially if it's some off-screen texture or unimportant texture - I had a game from Steam with a corrupted download that damaged just one image and I was pretty happy with it for just wireframing that one bullshit thing, so I didn't have to stop and patch.

But I don't think it's really very important to do it any particular way, it's such a rare, niche thing that ideally shouldn't come up at all.

Paniolo
Oct 9, 2007

Heads will roll.
Placeholder textures that say "missing texture" over a bright pink background work really well. When you ship you can use an all black placeholder.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!

Paniolo posted:

Placeholder textures that say "missing texture" over a bright pink background work really well. When you ship you can use an all black placeholder.
I agree with using an obnoxious placeholder, but I think placeholders are something that ideally shouldn't ship at all.

The answer depends a bit on if you're talking about development or after release though. For development, I think that a good practice is to design things in a way that it's easy to tell what all of the direct dependencies of an asset are, and from that, you can easily tell what dependencies are broken and what's linking to banned (i.e. deprecated or placeholder) or broken assets. 100% of those should be cleaned up before releasing.

After release, it depends what kind of asset it is. IMO, if you can fall back to a different, valid asset (i.e. for a character skin, use the default skin instead), do that. If you can't, remove the affected object from the world. If the game would be unplayable with that object removed (i.e. the world geometry/collision), then exit to the main menu.

Jewel
May 2, 2009

Garry's Mod uses the pink and black checker for textures or a big ERROR model for models and I find that to be pretty much perfect. Lets you know if your environment map is hosed up or similar too since pink and black checker reflections are easy to spot.

Edit: ^^^ And you can totally ship it if you have the ability to import models or similar, no problem! Or if someone deletes a model. No reason not to imo. Shouldn't be any without tampering of the game but otherwise fair game.

Paniolo
Oct 9, 2007

Heads will roll.
You want some kind of placeholder in a shipped game because discs get scratched and making the entire game not work because you failed to load a texture sucks.

The game I'm working on now has a neat custom shader that looks like a hologram. It's obviously placeholder but at least you can see the geometry of the object. There are placeholder models for some things as well. There are of course tons of resources which are critical and cause the game to completely fail (although sometimes you can store those redundantly), but at least a broken texture or cosmetic model variation won't stop the universe.

Paniolo fucked around with this message at 08:39 on Feb 23, 2014

Orzo
Sep 3, 2004

IT! IT is confusing! Say your goddamn pronouns!
I just realized you and OneEightHundred have avatars with an odd similarity.

OneEightHundred
Feb 28, 2008

Soon, we will be unstoppable!
If something goes wrong because of an IO failure, it's probably best to report the error to the user so they can repair their install. Beyond that, anything goes, because chances are users are just going to wonder why the game is glitching out on them if you just silently continue play.

Garry's Mod and similar have a few things about them that are kind of different: First, they're for games that permit a lot of user modding, so they include a lot of tolerances and capabilities that are developer-oriented. Second, last I checked, Source doesn't really have any sort of dependency analysis, so there usually isn't a way to find out if resource links are screwed without starting the game.

The main objection I have to it is discipline. If you have deprecated/TBI placeholders and proper dependency analysis, then asset load failures should never happen unless something is seriously wrong. Softening the blow of data/code errors is a double-edged sword because it can hide problems and allows them to accumulate out of apathy.

OneEightHundred fucked around with this message at 11:01 on Feb 23, 2014

SSH IT ZOMBIE
Apr 19, 2003
No more blinkies! Yay!
College Slice
I'm converting my old Torque2D project to unity.
https://www.youtube.com/watch?v=qYpXquXDJI4
Made insane progress yesterday. I love using C# instead of TorqueScript.

To anyone who's trying to do 2D in Unity, don't use the 2D physics engine. It's broken as hell. For the love of all that is good and holy DO NOT USE IT.
http://feedback.unity3d.com/suggestions/a-physics2d-dot-ignorecollision-function-is-vital-for-proper-one-way-platformers-in-unity2d (Ok, there's another way to do it. You could put all the platforms on a new layer and totally ignore collisions between the player and that layer...there's limitations with that though)
http://forum.unity3d.com/threads/213191-Physics2D-Overlap-Circle-not-working-with-Edge-Collider-2D (basically if you want to test collisions you're limited to just ray casting, whatever, not the end of the world)
There's another bug, that really forced me off the 2D Physics engine. Basically if you have an animated sprite it will re-trigger collisions. If you're in a boxcollider marked as a trigger, it will repeatedly spam OnTriggerEnter2D. I...can't really work around that. At first I switched to just using 3d box colliders, as triggers, than mounted a cube behind the player that could trigger the 3d trigger...but that's retarded.

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

SSH IT ZOMBIE posted:

I'm converting my old Torque2D project to unity.
https://www.youtube.com/watch?v=qYpXquXDJI4
Made insane progress yesterday. I love using C# instead of TorqueScript.

To anyone who's trying to do 2D in Unity, don't use the 2D physics engine. It's broken as hell. For the love of all that is good and holy DO NOT USE IT.
http://feedback.unity3d.com/suggestions/a-physics2d-dot-ignorecollision-function-is-vital-for-proper-one-way-platformers-in-unity2d (Ok, there's another way to do it. You could put all the platforms on a new layer and totally ignore collisions between the player and that layer...there's limitations with that though)
http://forum.unity3d.com/threads/213191-Physics2D-Overlap-Circle-not-working-with-Edge-Collider-2D (basically if you want to test collisions you're limited to just ray casting, whatever, not the end of the world)
There's another bug, that really forced me off the 2D Physics engine. Basically if you have an animated sprite it will re-trigger collisions. If you're in a boxcollider marked as a trigger, it will repeatedly spam OnTriggerEnter2D. I...can't really work around that. At first I switched to just using 3d box colliders, as triggers, than mounted a cube behind the player that could trigger the 3d trigger...but that's retarded.
Have you tried 2D Toolkit for Unity? It's a sane 2D system that uses the 3D physics/engine of Unity. It doesn't have any of those problems.

(no idea how expensive it is these days, but pretty sure there was a demo version)

OtspIII
Sep 22, 2002

SSH IT ZOMBIE posted:

To anyone who's trying to do 2D in Unity, don't use the 2D physics engine. It's broken as hell. For the love of all that is good and holy DO NOT USE IT.

I thought Unity used Box2D, something I've heard pretty much nothing but good things about. Those constraints do look fairly dire, though.

SSH IT ZOMBIE
Apr 19, 2003
No more blinkies! Yay!
College Slice

OtspIII posted:

I thought Unity used Box2D, something I've heard pretty much nothing but good things about. Those constraints do look fairly dire, though.

Yes. Box2D owns. I've used that before with libgdx. They use Box2D behind their own abstraction layer, and their layer is what's messed up.
The issues are serious enough to where the trigger one won't be fixed in 4.3.

SSH IT ZOMBIE
Apr 19, 2003
No more blinkies! Yay!
College Slice

Shalinor posted:

Have you tried 2D Toolkit for Unity? It's a sane 2D system that uses the 3D physics/engine of Unity. It doesn't have any of those problems.

(no idea how expensive it is these days, but pretty sure there was a demo version)

Actually, yes. That's what I'm using, it's really good. In terms of the amount of time saved, it beats using something like Tiled and writing your own loader, or worse writing your own editor too. It's got a ton of nice features. I haven't heavily explored what Unity3d can do with it's built in 2d workflows. Like, having a callback function on animations when they hit a certain frame is very useful. 2D Toolkit is pretty well documented and you get the source components.

It CAN use the 2d or 3d physics subsystem of unity. If you tell it to use the 2d subsystem, the problems arise. Fortunately it is really easy to switch between the two for your map.

I just had to redo my custom player controller and a few of the other objects I had created.

SSH IT ZOMBIE fucked around with this message at 18:59 on Feb 23, 2014

Paniolo
Oct 9, 2007

Heads will roll.

OneEightHundred posted:

The main objection I have to it is discipline. If you have deprecated/TBI placeholders and proper dependency analysis, then asset load failures should never happen unless something is seriously wrong. Softening the blow of data/code errors is a double-edged sword because it can hide problems and allows them to accumulate out of apathy.

Discs get scratched. Honestly if a placeholder texture isn't getting fixed out of apathy your studio has huuuuuge production problems!

xgalaxy
Jan 27, 2004
i write code
I've never seen a disc scratch result in a missing texture, or a broken game, not in this day and age with how good that technology has gotten with the laser reading. The only time I could see this happening in a real world scenario is if the disc was gouged the gently caress out if it, in which case the game just won't install period. Besides most everything installs to drive or is fully digitally now.

There is zero reason to ship to release any placeholder art "just in case" the game fails to load a resource. If the game is that hosed up, there will be other problems and a failed resource load is the least of your problems.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Hard disk corruption and IO errors happen a lot more in practice than you might think.

xgalaxy
Jan 27, 2004
i write code

Suspicious Dish posted:

Hard disk corruption and IO errors happen a lot more in practice than you might think.

Sure. I guess if you are that worried about it then hash your game content and provide a dialog telling the user that the game is broken and they need to repair it. If it is hard disk corruption, chances are more than a single asset was affected by it. I prefer in your face errors to silently ignoring problems - which is what placeholder art is doing (in a shipped title). Placeholder art is very useful in production however.

xgalaxy fucked around with this message at 20:07 on Feb 23, 2014

Paniolo
Oct 9, 2007

Heads will roll.
That's a correct answer from an engineering perspective, but on the other hand, it sucks for a player to not be able to play a game because there was an I/O error streaming a texture. And that stuff does happen in practice. But I feel like I've made that point a bunch of times already and this conversation isn't going anywhere; if you don't want to, don't, but lots of developers do.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Sure. I'd say log debugging info in an important place you can use for support, maybe pop up a dialog or put a message somewhere saying that an error happened while trying to play, and that you should contact support or use the automated reporting tool, but that you might be able to continue.

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!

Paniolo posted:

That's a correct answer from an engineering perspective
Which isn't to say it's the correct answer from an engineering standpoint. Some engineering prefers fault-tolerance to "correctness", it's not just for hacky game programmers.

xgalaxy
Jan 27, 2004
i write code

roomforthetuna posted:

Which isn't to say it's the correct answer from an engineering standpoint. Some engineering prefers fault-tolerance to "correctness", it's not just for hacky game programmers.

I don't get what is 'hacky' about showing a helpful error message to the user that their game files are broken and need to be repaired vs silently pretending there is no problem and having a game appear glitchy and buggy.

Jewel
May 2, 2009

Repaired from what? Ah yes my XBOX game disk is scratched and a texture is missing, let me just repair that from the files on the dis-

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY
Quiet failures only make sense when the client doesn't have to deal with the error or is happy with degraded performance. In the case of games, a missing texture is gonna mandate a reinstall.

Suspicious Dish
Sep 24, 2011

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

Jewel posted:

Repaired from what? Ah yes my XBOX game disk is scratched and a texture is missing, let me just repair that from the files on the dis-

haha look at the nerd still using optical media in tyool 2014. wait, hold on a minute, i gotta update webkit, brb

Shalinor
Jun 10, 2002

Can I buy you a rootbeer?

roomforthetuna posted:

Which isn't to say it's the correct answer from an engineering standpoint. Some engineering prefers fault-tolerance to "correctness", it's not just for hacky game programmers.
I think all programmers start with the idea of beautiful fault tolerant execution unwinding stacks of exceptions/etc... and then after a decade of writing all of the intermediate error messages (and dealing with message spews 20 lines long for a single error), they finally go "gently caress IT" and dump in a broken_texture.png instead.

Just give it time.

SSH IT ZOMBIE posted:

It CAN use the 2d or 3d physics subsystem of unity. If you tell it to use the 2d subsystem, the problems arise. Fortunately it is really easy to switch between the two for your map.
That is freaking awesome. Had no idea it was that flexible.

I really wish Unity would kinda like... stop writing their own solutions for stuff like this, and just - ship with 2D Toolkit pre-installed, maybe? Just normalize its interface to fit nicely into the Unity API, and call it done? This isn't the first time that their "official" solution has been orders of magnitude worse than what you can find on the marketplace, and I have a sneaking suspicion that their official UI overhaul vs NGUI is heading in a very similar direction.

Shalinor fucked around with this message at 00:23 on Feb 24, 2014

Obsurveyor
Jan 10, 2003

Shalinor posted:

I really wish Unity would kinda like... stop writing their own solutions for stuff like this, and just - ship with 2D Toolkit pre-installed, maybe? Just normalize its interface to fit nicely into the Unity API, and call it done? This isn't the first time that their "official" solution has been orders of magnitude worse than what you can find on the marketplace, and I have a sneaking suspicion that their official UI overhaul vs NGUI is heading in a very similar direction.

I imagine it's just the sheer size of the distribution and QA'ing it for a release that prevents them from being quick on all but the most critical issues.

They started breaking stuff out into Asset Store downloads and I really hope they continue doing that. Stop building this crap into the editor/distribution itself and start distributing it separately. If they did this, they could theoretically update stuff a lot faster, independent of the engine itself. Plenty of successful replacement plugins have shown that it's possible.

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!

Shalinor posted:

I think all programmers start with the idea of beautiful fault tolerant execution unwinding stacks of exceptions/etc... and then after a decade of writing all of the intermediate error messages (and dealing with message spews 20 lines long for a single error), they finally go "gently caress IT" and dump in a broken_texture.png instead.
I think I may have written confusingly - I meant that the broken_texture.png model is an example of fault-tolerance. If your thing stops, no matter how helpfully, in the event of a fault, then it's not fault-tolerant.

Perhaps saying "hacky game programmers" mixed my message. I didn't mean that as a derogatory thing at all, I was saying it as kind of what the "just crash and tell people to repair their install" people seem to think. Fact is, there are giant network-based systems designed to do the giant network system equivalent of broken_texture.png, because imperfect service is [arguably] better than no service.

roomforthetuna fucked around with this message at 01:21 on Feb 24, 2014

Unormal
Nov 16, 2004

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

Obsurveyor posted:

I imagine it's just the sheer size of the distribution and QA'ing it for a release that prevents them from being quick on all but the most critical issues.

They started breaking stuff out into Asset Store downloads and I really hope they continue doing that. Stop building this crap into the editor/distribution itself and start distributing it separately. If they did this, they could theoretically update stuff a lot faster, independent of the engine itself. Plenty of successful replacement plugins have shown that it's possible.

Man imagine if they made it a really killer "game engine platform" instead of a big monolithic game engine; just with a set of "default" plugins.

Calipark
Feb 1, 2008

That's cool.

Unormal posted:

Man imagine if they made it a really killer "game engine platform" instead of a big monolithic game engine; just with a set of "default" plugins.

They are a very small team being stretched thin, and that's their own fault really.

Between working on deployments to every platform on earth they keep adding in huge features. Unity's 2D tools are great but still act very strangely under certain circumstances.

The new GUI system is similarly hobbled, from what I've seen I'll stick with NGUI.

Unity is still hands down one of, if not the best engine for small teams.

Unormal
Nov 16, 2004

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

Jon93 posted:

They are a very small team being stretched thin, and that's their own fault really.

Between working on deployments to every platform on earth they keep adding in huge features. Unity's 2D tools are great but still act very strangely under certain circumstances.

The new GUI system is similarly hobbled, from what I've seen I'll stick with NGUI.

Unity is still hands down one of, if not the best engine for small teams.

They really need to divide that out into a platform team and a product team, and the product team can release and incrementally improve various pluggable engine features as (potentially paid) app-store plugins on top of the base editor, and decouple the platform from feature release cycle as much as they can.

Adbot
ADBOT LOVES YOU

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

Unormal posted:

They really need to divide that out into a platform team and a product team, and the product team can release and incrementally improve various pluggable engine features as (potentially paid) app-store plugins on top of the base editor, and decouple the platform from feature release cycle as much as they can.

I've been down that path in (non-game) software I've developed, and it hurts. For one thing, it means that you need to make sure the engine changes are compatible with multiple versions of the plugins, and you have to make sure they can all operate in the presence/absence of the others. The combinatorial matrix explodes pretty quickly, and then you wish you'd decided to chew glass instead. You also end up spending a ton more time on API futzing, because the different components can no longer talk directly to each other and make assumptions about how the other implementations behave.

There's a great agility benefit from being decoupled, for sure, but being able to release more frequent updates to individual pieces is small consolation if it gets a lot harder to build and maintain that set of pieces.

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