Gamestudio Links
Zorro Links
Newest Posts
Data from CSV not parsed correctly
by EternallyCurious. 04/18/24 10:45
StartWeek not working as it should
by Zheka. 04/18/24 10:11
folder management functions
by VoroneTZ. 04/17/24 06:52
lookback setting performance issue
by 7th_zorro. 04/16/24 03:08
zorro 64bit command line support
by 7th_zorro. 04/15/24 09:36
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:48
Zorro FIX plugin - Experimental
by flink. 04/14/24 07:46
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (SBGuy), 652 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
EternallyCurious, howardR, 11honza11, ccorrea, sakolin
19047 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 5 of 6 1 2 3 4 5 6
Re: Unity is a dic* [Re: JibbSmart] #383362
09/19/11 17:05
09/19/11 17:05
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Well I guess you could say that every class is a component (in a way), but not every component is a class.

Re: Unity is a dic* [Re: JibbSmart] #383385
09/19/11 20:51
09/19/11 20:51
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Machinery_Frank Offline
Senior Expert
Machinery_Frank  Offline
Senior Expert

Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Originally Posted By: JibbSmart
Yeah, potato similes are great and all, but my problem here is this: is component-based programming simply a different style of programming in current languages, or is it an alternative syntactic sugar to classes that relies on it being written in particular "component based" languages?


Actually it is both. But you don't need a special language for that. In Delphi as an example it is similar to a class but you need a few additional data. You need an icon to represent the component in the component palette as an example.

I bought many components. It can be a library of internet functions, it can be a complete word processor or just a zip compression component including reading and writing to files. These components have to work indepentently to fit to each project. So they are some kind of an independent package of a single class or even of a complete program containing many classes or no class at all, except the component wrapper class.

So a component is an external addition to extend the functionality of your software. Game developers often use very small components to even extend single classes while other developers try to use complex components to design a complete software architecture from it, sometimes even for drag and drop programming with the help of a visual editor.


Models, Textures and Games from Dexsoft
Re: Unity is a dic* [Re: Machinery_Frank] #383391
09/19/11 21:50
09/19/11 21:50
Joined: Apr 2008
Posts: 2,488
ratchet Offline
Expert
ratchet  Offline
Expert

Joined: Apr 2008
Posts: 2,488
in fact in Unity you can go full programming using C# also.
There are at least two plugin products made by programmers for Unity allowing to make a game using visual components (somewhat like the old Virtools).
It's sepcailly destined to pure 3D artits i think, and there are people asking and buying them ... So ...

In Unity i've seen a comment forpm a 3D artists having very little programming skills, but enought to do some basic things.
He said, if it wasn't Unity pre made templates (third person cameras, collisions controller etc ...) he would never had done so fast it's game to sell it on Apple Store.

In fact Unity is very versatile, allowing 3D artist to produce something fast , and programmers to go deep !
Just my point of view laugh

But i find their mobile licensing too much expensive for the pro version :
Android or Iphone each Pro license asks a lot fo money.
Compared to that Shiva 3D offers Iphone and Android support for one license cost only !

Re: Unity is a dic* [Re: ratchet] #383400
09/20/11 01:58
09/20/11 01:58
Joined: Oct 2005
Posts: 4,771
Bay City, MI
lostclimate Offline
Expert
lostclimate  Offline
Expert

Joined: Oct 2005
Posts: 4,771
Bay City, MI
yeah, i wish i could get my hands on an android unity license... im using papaya mobile right now, but its not super full featured.. smirk so for that industry they pretty much rock aside from price.

Re: Unity is a dic* [Re: lostclimate] #383404
09/20/11 06:29
09/20/11 06:29
Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
Machinery_Frank Offline
Senior Expert
Machinery_Frank  Offline
Senior Expert

Joined: Nov 2004
Posts: 7,121
Potsdam, Brandenburg, Germany
To explain a bit better the original meaning of compoments in the software industry we also should look back to what Microsoft did with this approach:

"Component Object Model (COM) is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages. The term COM is often used in the Microsoft software development industry as an umbrella term that encompasses the OLE, OLE Automation, ActiveX, COM+ and DCOM technologies."

Just like I already wrote above, it is an external addition to your software and can be written in any language. So I could use an ActiveX in my Delphi program written in C++. I just need a little wrapper around it to define the interface.

You will find similar approaches when you look at component based programming like here:
http://en.wikipedia.org/wiki/Component-based_software_engineering
Web services and service oriented architecture (SOA) are built that way.

In game engines like Vision 3d or Unity it has a lot of advantages as well. So you can add components via their visual editors to any game object. That way you can add functionality like physics, triggers or just a blob shadow via simple drag and drop. So it is again an external addition for an object. The additional functionality is not built in these objects or classes. So these classes are smaller. Not every game object class has to come with complete physics built in.
But the syntax to adress the attached components needs a few more words as when you just adress a built in class. This is what beginners especially in this forum complain about most of the time.


Models, Textures and Games from Dexsoft
Re: Unity is a dic* [Re: JibbSmart] #383436
09/20/11 14:26
09/20/11 14:26
Joined: Oct 2006
Posts: 1,245
A
AlbertoT Offline
Serious User
AlbertoT  Offline
Serious User
A

Joined: Oct 2006
Posts: 1,245
Originally Posted By: JibbSmart


But I think I still don't understand Unity, or perhaps I don't understand you properly. Perhaps I just don't understand components.



For a professional explanation of components , see the article
My naive game related explanation is the following

Generally speaking, the key difference between a traditional and a components based engine is ,the following :

a) Traditional engine

It supplies a set of "concrete" classes focused on "entities" such as : Camera, Light, Character , Mesh etc
Each class includes methods which are class related

You write

cam.SetRotation() and stone.SetRotation()

whereas cam is an object of Camera and stone is an object of Mesh
The former method is a pitch / jaw/ roll rotation while the latter may be a rotation about x,y,z axis

b) Component engine

It supplies a set of "Abstracted" classes focused on "functionalities " such as : Transform, Animation, Collision
You must write a script (s)( component(s) ) which you attach to the entities in the scene
The methods must be as generic as possible since you dont know in advance what kind of entity they will be attached to

About Unity
A pure component based engine is a nightmare , try for example Torque X ( not to be confused with Torque3d)
Unity is an hybrid to make the engine more user friendly

Camera is a very common entity so it is handled separately

Every entity in the scene has a position, a shape etc thus the class Transform has been added by default

You dont have neither to instance the classes nor to link the component / methods to the entities
Unity makes the job for you

Re: Unity is a dic* [Re: AlbertoT] #383439
09/20/11 14:34
09/20/11 14: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
Yes, thanks guys. I believe I understand since Enduriel's very concise response and the excellent article he referred to.

AlbertoT, I see what you mean now -- how even though the components do have methods, they are stateless and manipulate data stored in the Camera itself.

I can see usefulness in components, and can see myself adopting a similar paradigm in future (obviously when using languages other than Lite-C), but probably wouldn't go so far as to use the "generic data bucket" implementation, and instead let each component/sub-object store its own relevant data.

Jibb


Formerly known as JulzMighty.
I made KarBOOM!
Re: Unity is a dic* [Re: JibbSmart] #383485
09/20/11 22:51
09/20/11 22:51
Joined: Jul 2001
Posts: 6,904
H
HeelX Offline
Senior Expert
HeelX  Offline
Senior Expert
H

Joined: Jul 2001
Posts: 6,904
I feel akward. I just installed Unity. I even registered at their forums. Thanks guys, thanks smile

Re: Unity is a dic* [Re: HeelX] #383494
09/21/11 01:50
09/21/11 01:50
Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
Captain_Kiyaku Offline

Dichotomic
Captain_Kiyaku  Offline

Dichotomic

Joined: Apr 2002
Posts: 4,801
Richmond B.C., Canada
Originally Posted By: HeelX
I feel akward. I just installed Unity. I even registered at their forums. Thanks guys, thanks smile


<3


My Blog

"Tag und Nacht schrei ich mich heiser,
Wind weht alle Worte fort,
Tag und Nacht schrei ich mein Krähenwort!"

Subway To Sally - Krähenkönig
Re: Unity is a dic* [Re: HeelX] #383498
09/21/11 07:47
09/21/11 07:47
Joined: Oct 2006
Posts: 1,245
A
AlbertoT Offline
Serious User
AlbertoT  Offline
Serious User
A

Joined: Oct 2006
Posts: 1,245
Originally Posted By: HeelX
I feel akward. I just installed Unity. I even registered at their forums. Thanks guys, thanks smile


If for awkward you mean "confused" or "worried" or "disppointed" well I am partially with you
I have alwayes been amazed to read that Unity is supposed to be a user friendly engine, for artists
WHATTTTTTTT.........?
First of all component based engines are, in general , less intuitive than traditional ones , moreover Unity,in the attempt to smooth the intricacies of components, made it even more confused
It seems a paradox, but the point is that it is hard to grasp exactly what happen...behind the curtain
Sometime you must simply follow the instruction
I have never been confortable with this , since the old school days

Page 5 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