Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (M_D, AndrewAMD), 1,222 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 3 of 6 1 2 3 4 5 6
Re: Unity is a dic* [Re: ratchet] #383092
09/15/11 20:11
09/15/11 20:11
Joined: Apr 2008
Posts: 2,488
ratchet Offline
Expert
ratchet  Offline
Expert

Joined: Apr 2008
Posts: 2,488
I could say Unity is trash, but well it's really non sense even for joking, they are somewhat professinnal behind the scene so ... !

IF i would have to make Mobile games, i won't choose Unity , but Shiva 3D that is really less expensive than pro version of Unity Iphone,and can publish to all mobile patform with indie version !
And it has real possibilities , just by seeing some great games (like some last 3D RPG) !

So you see , not one other is trash, it depends on your goals , points of view and money sometimes also !

Last edited by ratchet; 09/15/11 20:17.
Re: Unity is a dic* [Re: ratchet] #383101
09/15/11 21:20
09/15/11 21:20
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
L
Liamissimo Offline OP
Serious User
Liamissimo  Offline OP
Serious User
L

Joined: Jul 2009
Posts: 1,198
Berlin, Germany
Ratchet...This is a ranting forum...really.

Let me rant.


"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen."
-JCL, 2011
Re: Unity is a dic* [Re: Liamissimo] #383111
09/15/11 22:27
09/15/11 22:27
Joined: Apr 2007
Posts: 3,751
Canada
WretchedSid Offline
Expert
WretchedSid  Offline
Expert

Joined: Apr 2007
Posts: 3,751
Canada
Liam... This is a ranting forum...really.

Let him rant about your rant! If you don't want responses, don't post in a public forum.


Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com
Re: Unity is a dic* [Re: WretchedSid] #383125
09/16/11 06:27
09/16/11 06:27
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
L
Liamissimo Offline OP
Serious User
Liamissimo  Offline OP
Serious User
L

Joined: Jul 2009
Posts: 1,198
Berlin, Germany
But truisms aren't ranting laugh


Or are they? Really not quite sure.


"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen."
-JCL, 2011
Re: Unity is a dic* [Re: JibbSmart] #383185
09/16/11 21:53
09/16/11 21:53
Joined: Oct 2006
Posts: 1,245
A
AlbertoT Offline
Serious User
AlbertoT  Offline
Serious User
A

Joined: Oct 2006
Posts: 1,245
[
Quote:
Actually that's encapsulation -- a design decision that any object should only be manipulable using its own methods. It's relatively "safe", but sometimes a fella just wants to use good old-fashioned addition on a component he understands.



you refer to :
Camera.main.transform.Translate(move*Time.deltaTime);

Maybe I misunderstood what you said
Do you mean that the above code is a typical example of an object being manipulated by its own methods ?
If so, nope
It is the direct opposite

In the above code the object is "transform" which is an object of the class "Transform"
the class Transform contains the method Translate()
Unity instance the object "transform" in the background for you

"Camera" is a redundant term you could even omit it

This an example of component based programming

Many 3dgs users find Unity easy to use due to the fact that also 3dgs is an essential "components based " engine

an "Action" is actually a sort of component

The engines you are speaking of are for example Truevision or Leadwerks or Esenthel

Personaly I dont like the ( Unity and 3dgs ) programming style but they have a great advantage over the other ones

They are natural "multitasking" engines , in other words you dont have to code your own threads
This is very important in game programming since the programm must continuosly switch among differnt routines
This is not the case for example of a word processor

In conclusion all modern engines are OO
The main diffrence is between :
Components and non components based engines

The former are (maybe) more efficient the latter more intuitive



Last edited by AlbertoT; 09/16/11 22:00.
Re: Unity is a dic* [Re: AlbertoT] #383189
09/17/11 00:02
09/17/11 00:02
Joined: Mar 2006
Posts: 3,538
WA, Australia
J
JibbSmart Offline
Expert
JibbSmart  Offline
Expert
J

Joined: Mar 2006
Posts: 3,538
WA, Australia
Originally Posted By: AlbertoT
Quote:
Actually that's encapsulation -- a design decision that any object should only be manipulable using its own methods. It's relatively "safe", but sometimes a fella just wants to use good old-fashioned addition on a component he understands.

you refer to :
Camera.main.transform.Translate(move*Time.deltaTime);

Maybe I misunderstood what you said
Do you mean that the above code is a typical example of an object being manipulated by its own methods ?
If so, nope
It is the direct opposite

In the above code the object is "transform" which is an object of the class "Transform"
the class Transform contains the method Translate()
Unity instance the object "transform" in the background for you

"Camera" is a redundant term you could even omit it

This an example of component based programming
Originally Posted By: Unity Documentation
Every object in a scene has a Transform. It's used to store and manipulate the position, rotation and scale of the object. Every Transform can have a parent, which allows you to apply position, rotation and scale hierarchically. This is the hierarchy seen in the Hierarchy pane.
I am not experienced with Unity, but manipulating an object through its methods and not direct manipulation of its elements is encapsulation. The complaint is that instead of changing the camera's properties directly, the programmer must call a function to do it. That's encapsulation.

In this case the camera has a "transform", which is being manipulated through its own method "Translate" rather than directly changing/assigning values.

Jibb


Formerly known as JulzMighty.
I made KarBOOM!
Re: Unity is a dic* [Re: JibbSmart] #383216
09/17/11 12:51
09/17/11 12:51
Joined: Oct 2006
Posts: 1,245
A
AlbertoT Offline
Serious User
AlbertoT  Offline
Serious User
A

Joined: Oct 2006
Posts: 1,245
Its own methods, of whom ? of the Camera ,do you mean ?
That's the key difference

In a component based engine ,objects do not have their own methods
There are generic methods which are contained in generic "functional" classes such as Transform
The programmer must create a component ( a script) using these classes/methods
Then he must attach the components to the object ( entity)
As you can see there is not that difference between the 3dgs actions and the Unity components

A traditional game engine , for example Truevision, comes with "concrete" classes for example the class Camera containing all the methods which you would expect from a Camera
The programmer must instance an object , ex

Camera cam = new Camera();

Then he can use the methods of the class Camera

cam.Translate();

In my opinion the latter approach is much more intuitive even though the former is more trendy , having also many advantages

Last edited by AlbertoT; 09/17/11 12:53.
Re: Unity is a dic* [Re: AlbertoT] #383236
09/17/11 17:34
09/17/11 17:34
Joined: Mar 2006
Posts: 3,538
WA, Australia
J
JibbSmart Offline
Expert
JibbSmart  Offline
Expert
J

Joined: Mar 2006
Posts: 3,538
WA, Australia
Every object in Unity has an instance of the class Transform called "transform", which has methods by which it is manipulated -- this isn't just a convenience, but because we can't access the components within the transform because of encapsulation. This object is manipulated using its own methods and its own methods only -- that is encapsulation. Technically, encapsulation is broken to a degree since we don't call one of the camera's methods to do it, but it still is a level of encapsulation.

Encapsulation and component based programming are not mutually exclusive.

Let me quote the Unity documentation again:
Originally Posted By: Unity Documentation
Every object in a scene has a Transform. It's used to store and manipulate the position, rotation and scale of the object.
The camera has a transform, and we access that component directly rather than through one of the camera's methods (breaking encapsulation to a degree), but we don't manipulate the transform itself except through its own methods (for non-native Enlgish speakers, "it" here refers to the transform, as made clear by "the transform itself"), because presumably its own components (such as world co-ordinates) are private, thus maintaining encapsulation and forcing us to manipulate it through its own methods.

Part of the original complaint was component based (Camera.main.transform...), and part of it was related to encapsulation (transform.Translate(...)).

Jibb


Formerly known as JulzMighty.
I made KarBOOM!
Re: Unity is a dic* [Re: JibbSmart] #383238
09/17/11 17:49
09/17/11 17:49
Joined: May 2002
Posts: 7,441
ventilator Offline
Senior Expert
ventilator  Offline
Senior Expert

Joined: May 2002
Posts: 7,441
if you don't like to write this camera.main.transform.translate... stuff you can easily add properties that wrap the method calls and which make scripting look more like in lite-c.

Re: Unity is a dic* [Re: JibbSmart] #383240
09/17/11 17:55
09/17/11 17:55
Joined: Oct 2006
Posts: 1,245
A
AlbertoT Offline
Serious User
AlbertoT  Offline
Serious User
A

Joined: Oct 2006
Posts: 1,245
Lets make an other example
Suppose you have a human Character , let's call it John
In Unity,If you want to move and to animate it, you must create a script ( component)
where you write

transform.Move()
animation.Play();

then you attach the script to john

transform and animation are instances of the classes Transform and Animation which contain the method Move and Play respectively

A traditional engine supplies, for eaxmple a class Entity
you instance the object john

Entity john = new Entity();
and than you call

john.Move()
john.Play()

Move() and Play() are methods of the class Entity

I suppose that the different approach is evident

Last edited by AlbertoT; 09/17/11 18:12.
Page 3 of 6 1 2 3 4 5 6

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1