1 registered members (AndrewAMD),
1,089
guests, and 2
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Time to quit 3DGS
[Re: Superku]
#469256
11/09/17 19:51
11/09/17 19:51
|
Joined: Dec 2008
Posts: 1,660 North America
Redeemer
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,660
North America
|
Well to be completely honest, for as much as I praise Unreal4, I've built my own engine once again for my next game -- and one of the main reasons I did was because I do so much procedural stuff in it. Over the three months it took to do my engine modification to U4, a large part was just spent dissecting their render pipeline. But in its defense, I often found that the engine was built the way it is for good reasons. The unreal editor is vast, even from a user standpoint, and its code is tightly interwoven with the engine core. Despite this, I usually found that the code is as straightforward as it can afford to be, given all the interfaces it needs to provide for services like physics, networking, rendering, editing, etc. So perhaps this is my lack of experience talking, but it's hard for me to imagine anyone making something as comprehensive as U4 without compromising the simplicity of their code somewhat. On the flip side, I finished working at Monolith recently, and their code appeared to have a much flatter, simplistic structure overall -- but this simplicity actually made the code less readable in my opinion, more prone to bugs, and definitely less functional overall (particularly evident through the engine tools). So there are much worse things out there than UE4 imo.
|
|
|
Re: Time to quit 3DGS
[Re: Redeemer]
#469337
11/11/17 13:46
11/11/17 13:46
|
Joined: Nov 2008
Posts: 946
the_clown
User
|
User
Joined: Nov 2008
Posts: 946
|
Well to be completely honest, for as much as I praise Unreal4, I've built my own engine once again for my next game -- and one of the main reasons I did was because I do so much procedural stuff in it. Over the three months it took to do my engine modification to U4, a large part was just spent dissecting their render pipeline. But in its defense, I often found that the engine was built the way it is for good reasons. The unreal editor is vast, even from a user standpoint, and its code is tightly interwoven with the engine core. Despite this, I usually found that the code is as straightforward as it can afford to be, given all the interfaces it needs to provide for services like physics, networking, rendering, editing, etc. So perhaps this is my lack of experience talking, but it's hard for me to imagine anyone making something as comprehensive as U4 without compromising the simplicity of their code somewhat. On the flip side, I finished working at Monolith recently, and their code appeared to have a much flatter, simplistic structure overall -- but this simplicity actually made the code less readable in my opinion, more prone to bugs, and definitely less functional overall (particularly evident through the engine tools). So there are much worse things out there than UE4 imo. Can you elaborate on how simpler structure made the code less readable and prone to bugs because I'm having troubles imagining that.
|
|
|
Re: Time to quit 3DGS
[Re: the_clown]
#469382
11/14/17 04:04
11/14/17 04:04
|
Joined: Dec 2008
Posts: 1,660 North America
Redeemer
Serious User
|
Serious User
Joined: Dec 2008
Posts: 1,660
North America
|
The whole point of having highly structured code is to improve readability. Maybe I wasn't clear, but my point was that I found Epic's code more structured than Monolith's, which is generally a good thing. I did not find it any more complicated than it needed to be.
I say Monolith's code was less structured because the various modules (ie files, projects, and classes) were divided up somewhat haphazardly, it was not clear or consistent what modules owned what systems, there was a real dearth of useful comments and documentation, and plenty of overgrown functions/files/classes changing state from within and without in lots of non-obvious ways. In a word: spaghetti code.
Unreal was not perfect in any way, I came across some notable examples of the exact same problems there as well (plus some fresh ones I would call "macro magic"), but on the whole I just found their code easier to parse because it was more self-consistent, logically segmented, and coherent overall. But I guess that is what I'd expect from a company dedicated to the task of building the best game engine in the world, and having the budget to do it roughly 10x over again, versus a company tasked with pooping out a AAA game in three years or going bust.
Last edited by Redeemer; 11/14/17 04:06.
|
|
|
Re: Time to quit 3DGS
[Re: FBL]
#469442
11/16/17 08:23
11/16/17 08:23
|
Joined: Mar 2011
Posts: 3,150 Budapest
sivan
Expert
|
Expert
Joined: Mar 2011
Posts: 3,150
Budapest
|
Try to join a team! I was in the same shoe, moreover it gives you a lot of new experience and fun, beside some extra load and responsibility. I'm sure there are many unity teams looking for members, similarly to Unreal.
I joined a team just for future royalty, and it seems to be now a good decision, I have learnt a lot about multiplayer, version control, team work, and got useful hints from more experienced programmers. For a paid job I would need more time, and deeper C++ knowledge... maybe next time I can get a good AI related position as remote work.
|
|
|
Re: Time to quit 3DGS
[Re: RealSerious3D]
#469484
11/17/17 20:01
11/17/17 20:01
|
Joined: Sep 2005
Posts: 352 Germany
preacherX
Senior Member
|
Senior Member
Joined: Sep 2005
Posts: 352
Germany
|
///////////////////////////////////////////////////////// Now I've got an idea: Maybe we should start a Kickstarter campaign to bring A9 to life with multiplatform support ??????? ///////////////////////////////////////////////////////// What do you think? The question becomes ... why? Why bother? With the likes of Unreal (for free, basically) and Unity, why try to resurrect GameStudio? The only reason I could think of to resurrect GameStudio is if a new version did something really significant ... really revolutionary (something a lot more than multiplatform support). Because, otherwise, we already have it elsewhere. Because it is so easy to program and you can program much faster! For example, I just spoke with someone who is studying Game Design with Unity and asked him how I can create a sprite in Unity with code: The code would be something like this: Vector3 rndPos = new Vector3(10.0f,10.0f,10.0f); GameObject Go = new GameObject(); Go.transform.position = rndPos; Go.transform.localScale *= 10.0f; Go.transform.rotation = Quaternion.Euler(0, 0, 10.0f); SpriteRenderer renderer = Go.AddComponent<SpriteRenderer>(); Sprite tmp = Resources.Load<Sprite>("Stein"); renderer.sprite = tmp; In lite_C I would just use this: ENTITY* Go=ent_create("Stein.png",vector(1,1,1),StoneBehaviour); Go.roll=10;vec_fill(Go.scale_x,1); Or does someone know if there is an easier way to do this in Unity?
|
|
|
Re: Time to quit 3DGS
[Re: preacherX]
#469485
11/17/17 20:09
11/17/17 20:09
|
Joined: Aug 2009
Posts: 1,438 Spain
painkiller
Serious User
|
Serious User
Joined: Aug 2009
Posts: 1,438
Spain
|
///////////////////////////////////////////////////////// Now I've got an idea: Maybe we should start a Kickstarter campaign to bring A9 to life with multiplatform support ??????? ///////////////////////////////////////////////////////// What do you think? The question becomes ... why? Why bother? With the likes of Unreal (for free, basically) and Unity, why try to resurrect GameStudio? The only reason I could think of to resurrect GameStudio is if a new version did something really significant ... really revolutionary (something a lot more than multiplatform support). Because, otherwise, we already have it elsewhere. Because it is so easy to program and you can program much faster! For example, I just spoke with someone who is studying Game Design with Unity and asked him how I can create a sprite in Unity with code: The code would be something like this: Vector3 rndPos = new Vector3(10.0f,10.0f,10.0f); GameObject Go = new GameObject(); Go.transform.position = rndPos; Go.transform.localScale *= 10.0f; Go.transform.rotation = Quaternion.Euler(0, 0, 10.0f); SpriteRenderer renderer = Go.AddComponent<SpriteRenderer>(); Sprite tmp = Resources.Load<Sprite>("Stein"); renderer.sprite = tmp; In lite_C I would just use this: ENTITY* Go=ent_create("Stein.png",vector(1,1,1),StoneBehaviour); Go.roll=10;vec_fill(Go.scale_x,1); Or does someone know if there is an easier way to do this in Unity? Unity works better using prefabs. In the editor you create your sprite gameobject with all the settings, components or scripts you want, then you make it a prefab (dragging it to your project files). After this you can instantiate it via script with a single line of code.
Last edited by painkiller; 11/17/17 20:09.
3D Gamestudio A8 Pro AMD FX 8350 4.00 Ghz 16GB RAM Gigabyte GeForce GTX 960 4GB
|
|
|
Re: Time to quit 3DGS
[Re: painkiller]
#469492
11/18/17 12:20
11/18/17 12:20
|
Joined: Apr 2007
Posts: 3,751 Canada
WretchedSid
Expert
|
Expert
Joined: Apr 2007
Posts: 3,751
Canada
|
It seems like a lot of people judge Gamestudio based on the fact that they know it and because Unity/Unreal et al do it differently, it's inherently bad. Smells a bit like sunk cost fallacy.
The sprite creation example seems a bit contrived for example. Yes, lines of code wise, Unity is longer. Yes, it does have more boilerplate. BUT, in general, how many times are you writing this code? In reality, you'll have a certain type of sprite that you want and you'll have a factory method to create it that does all of the boilerplate set up code for you. Basically exactly what ent_create is, except you create it yourself.
Gamestudio is limiting! To stick with the example, what if you don't like the default behaviour of ent_create? Now you start writing your own boilerplate around Gamestudio and can easily balloon your one liner to a 50 liner. Even worse, there are limits in Gamestudio that you can hit fairly easily and then you are at the end of the road. You can't hack around certain internals and that can be extremely limiting. The more tools the engine gives you, the more complex the code might seem but the more freedom you have and less limits. Sure, Unity _does_ have its own sets of limits, but they are quite a bit harder to reach than Gamestudios.
Now, don't get me wrong, I still don't like Unity personally. But that's not to say that it's not a perfectly capable engine. Instead of trying to do an apples to oranges comparison, why not give Unity or Unreal a real chance?
This thread reads to me like a guy who has only ever put screws in by hand and is given a powerdrill for the first time in his life. Dude goes "Yeah, you see, I prefer to rotate it myself and I also never need to charge my screwdriver. Why would I need such a thing, it's way to complicated?". My dude, you missed the whole point of the powerdrill.
Shitlord by trade and passion. Graphics programmer at Laminar Research. I write blog posts at feresignum.com
|
|
|
Re: Time to quit 3DGS
[Re: WretchedSid]
#469507
11/18/17 16:13
11/18/17 16:13
|
Joined: Jul 2001
Posts: 4,801 netherlands
Realspawn
OP
Expert
|
OP
Expert
Joined: Jul 2001
Posts: 4,801
netherlands
|
@painkiller. Thats what i ment I am studying unity now in my spare time and it amazes me how many lines are needed to do something that in 3dgs is 3 or 4 lines of script I know 3DGS fades out so i have to learn but man it's giving me a headache
|
|
|
|