About Store Forum Documentation Contact



Post Reply 
Code Editor - Esenthel Script - Virtual Environment
Author Message
Esenthel Offline
Administrator

Post: #1
Code Editor - Esenthel Script - Virtual Environment
this is the reply to Driklyn's question about scripting ( http://www.esenthel.com/community/showth...3#pid30803 )

recently I've ordered the Asus Transformer Prime (android tablet with attachable keyboard) - I should receive it tomorrow.
[Image: Transformer_Prime_610x526.jpg]

And my main motivation in developing true scripting / c++ compiler is to allow programming ON the android system.
Basically I want to make the whole "Editor" tool for Android and put it on Android market, which will include fully functional Code Editor (compiling c++ codes and running them)

tool on the android market will be available in 2 versions:
"Esenthel Engine Editor Lite" - free, has full functionality (but save of files/resources is disabled)
"Esenthel Engine Editor" - paid (around 3-10$), but can save files

such C++ compiled code will not be compiled into machine code, but into "virtual code" (so it just means it will be slightly slower than Visual Studio or Android NDK)

compiled c++ codes will be converted into "esbin" (Esenthel Script Binary) file of the "virtual code" (it is something like visual studio .obj or .dll file)
1 compiled .esbin file can be ran on all platforms (win, mac, ios, android)

.esbin can be used as whole game code, or for example "script for world editor" to allow performing custom operations on objects for example
there are many other possibilities of using the virtual scripting as well:
ability to do programming on Windows Mac Android (without installing any external compilers - Visual Studio, Xcode)
01-17-2012 02:34 PM
Find all posts by this user Quote this message in a reply
rndbit Offline
Member

Post: #2
RE: Code Editor - Esenthel Script - Virtual Environment
I am skeptical (uh code editor again!). lets face it - coding something even on tabled like that (which wont be posessed by many) severely hits productivity because of lack of many tools and environment we are used to (PC, mac, whatever).
And then comes reinvention of the wheel: like someone said - integration is key aspect of software development. Noone codes their own version of zlib to be able to compress files. There are plenty of scripting languages that could have been integrated with engine pretty well.
On the other hand you probably did not find scripting language that meets all your requirements, and well.. Implementing such thing is feat of engineering anyway.
From what i have seen - i must say i liked parts and aspects of code editor syntax. If this scripting thing turns out to be very cool (which im sure it can, regardless of my disbelief in it) maybe it could spawn another scripting language eh? smile
01-17-2012 05:01 PM
Find all posts by this user Quote this message in a reply
impi Offline
Member

Post: #3
RE: Code Editor - Esenthel Script - Virtual Environment
I have no doubt you will do it, and pretty fast too.

But this is one reason we are wary about this engine. We would prefer to see more effort put in to the engine itself and not spend so much time on porting it (and later maintaining all those ports) to everything. While its nice to have cross-platform support, its only useful once there is a complete engine.
01-27-2012 10:25 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Demostenes Offline
Banned

Post: #4
RE: Code Editor - Esenthel Script - Virtual Environment
(01-27-2012 10:25 PM)impi Wrote:  I have no doubt you will do it, and pretty fast too.

But this is one reason we are wary about this engine. We would prefer to see more effort put in to the engine itself and not spend so much time on porting it (and later maintaining all those ports) to everything. While its nice to have cross-platform support, its only useful once there is a complete engine.

Exactly, we have same concern. For example decision to go wide is grave of Unity3D. Speed of developement and releases/fixes is slower and slower, there is more and more bugs and instabilities, they were not able to fix oclussion culling after 20 months, asset server does not work, terrain engine is obsolete, there is no significant improvement for last 18 months, actually they are almost not able to realease anything new without bugs and crashes. But they are adding more and more platforms....They have 50 developers (more than 100 people in whole company).

So from my point of view in case of one-man show like EE makes far more sense to focuse on main platforms (PC) and do it well (go deep). It can be done and it will be competition advantage. Trying to compete on mobile field with Unity is lost battle. If you want to go mobile, Unity3D is best platform now and probably it will stay.

On the other side EE is very strong for RPGs and MMOs (support for huge terrains...). It makes it unique and IMHO it should continue this way, to became standard platform for this kind of games. Once performance problems solved (hw instancing, various oclussions and tweaks), it can be kickass engine for this games. Lots of people from Unity3D community is now realizing, that Unity3D is not good for MMOs and seamless RPGs, so this is HUGE chance for EE (unity has 100x bigger community).
Now there is only Trinigy in this field (very expensive in compare to EE and it is not engine for indies) and because they decided to support Android and iOS, they will go slowly to hell too.
(This post was last modified: 01-28-2012 06:23 PM by Demostenes.)
01-28-2012 05:52 PM
Find all posts by this user Quote this message in a reply
rndbit Offline
Member

Post: #5
RE: Code Editor - Esenthel Script - Virtual Environment
i dont see why porting engine to other platforms could be an issue. its not like engine is rewritten in java in order to support android. still same codebase is used for all platforms (except for small portion of code specific to each platform). i fail to see logic in saying that ports to other platforms are bad, unless position is such that "engine developer must be slaving for me and do things the way i want" grin
01-28-2012 08:27 PM
Find all posts by this user Quote this message in a reply
Demostenes Offline
Banned

Post: #6
RE: Code Editor - Esenthel Script - Virtual Environment
(01-28-2012 08:27 PM)rndbit Wrote:  i dont see why porting engine to other platforms could be an issue. its not like engine is rewritten in java in order to support android. still same codebase is used for all platforms (except for small portion of code specific to each platform). i fail to see logic in saying that ports to other platforms are bad, unless position is such that "engine developer must be slaving for me and do things the way i want" grin

Code is not exactly same for each platform. Each platform has its exceptions and possibilities. Tricks and performance boosts you can use on PC you cant use on mobile, you cant use same shaders, etc. And at some point mobile support starts to limit growth on platforms like PC (and vice versa). Study little bit problems of Unity3D, some really important features are not implemented only because it wouldnt work on mobile (usually optimizations based on modern HW capabilities). Ask anybody, who is doing multiplatform engine, it is pain in the ass. I personally know people from gaming companies, who are working on engines and opinion is same, each platform means more problems and limitations. Each new platform makes developement far harder (costs more resources). Read carefully what I have written in previous post, this multiplatform madness is dragging Unity down. They are not able to have decent developement with 50 developers. And thats 50x more than EE has.
And porting is not one time operation, engine must continuously evolve. And it is very big difference, if you evolve for one platform, or for 4. Especially when there are dependencies and doing something on one platform will cause you troubles on second. Esenthel is one person, his time is finite. And going wide instead of deep is killer. Each technology I know went to hell, once decided to go wide and support everything, no matter of budget. Quality went very fast down.
(This post was last modified: 01-28-2012 08:52 PM by Demostenes.)
01-28-2012 08:39 PM
Find all posts by this user Quote this message in a reply
rndbit Offline
Member

Post: #7
RE: Code Editor - Esenthel Script - Virtual Environment
all i am saying that say matrix() and other functions alike are identical for all platforms. they are just functions that do stuff. platform specific code is platform specific code, its different, but its not the major part of the product. sure there are introduced limitations, and c++ is very kind to allow us doing
#ifdef WIN32
// do windows shit
#elif defined(ANDROID)
// do android shit
#elif MACOX
// do mac shit
#endif

And regarding not implementing of some features because they wont work on mobile platforms - too bad developers are short-sighted.
01-29-2012 09:19 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #8
RE: Code Editor - Esenthel Script - Virtual Environment
Code:
int a;
const int b;
void Main()
{
   a+=2;
   a+=b;
}
this code now compiles and executes completely in EE script virtual environment (no visual studio involved)
yay! smile
02-06-2012 11:12 PM
Find all posts by this user Quote this message in a reply
Chris Offline
Member

Post: #9
RE: Code Editor - Esenthel Script - Virtual Environment
congrats on the hard bit smile
02-06-2012 11:31 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #10
RE: Code Editor - Esenthel Script - Virtual Environment
Thanks! now the progress will go smooth
02-06-2012 11:43 PM
Find all posts by this user Quote this message in a reply
Abril Offline
Member

Post: #11
RE: Code Editor - Esenthel Script - Virtual Environment
Hi, I was wondering why the choice of C++ as scripting language.

If one has to code in C++, then I think the majority would agree that the best possible environment is Visual Studio (or insert your favourite IDE here).
Therefore what would be the advantage of not having visual studio installed (which is described as one of the advantages of the EE scripting system)?

I do see the advantages of using a scripting language for multiplaform compatibility, however, would be a good choice to use an existing one which is already mature and used in other products, there are plenty of them freely available out there. All of them are exposing scripting binding allowing connection from EE engine code to scripting code.

There are also very good IDEs for Android, for instance Eclipse, which could be integrated into EE.

That would allow to get a very high quality IDE and scripting, and save several months of work which could go into improving the Tools, Engine and Documentation.

I know that Scripting is the current higher priority feature you are working on and that the roadmap is not defined by the feedback from the users, but this is my honest opinion as a new EE user. My 2 cents...
(This post was last modified: 02-08-2012 04:33 PM by Abril.)
02-08-2012 04:19 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #12
RE: Code Editor - Esenthel Script - Virtual Environment
Hi,

The choice of C++ is because together with C# in my opinion are the best languages, EE is written in C++ and I have bigger experience with it, so it fits the engine more, plus you don't need to learn any new language in order to use the EE scripting I am developing. Designing new language by myself would take too much time, so I'm not doing it.

VS is available only on Windows, and not any other platform.
Currently there is no IDE on Android - do not confuse Eclipse, as it does not work ON android, it works only on Windows/Mac and when used to build android app's is very tedious in installation+usage, if you've tried using it for building sample android app using Android NDK with EE then you know what I'm talking about (Code Editor is IDE that will work on all platforms).

Other scripting languages are not good in my opinion, if you look at Driklyn's recent efforts in LUA you can see how much problematic that system/library is, in setup (preparing bindings, needs writing tool to setup all EE bindings, plus not all of them work), usage (writing codes without any auto-complete, syntax which is in my opinion not good, different symbols ':' '.' for members/statics, no default parameters when calling functions, no auto-casting), limited capabilities (no templates, virtuals, problems accessing built-in EE stuff), no debugging, etc.

There are many many many other advantages to builtin c++ compiler, which are listed in this thread and the roadmap, most importantly:

Imagine you can download EE Editor (no need for downloading any other programs like VS), compile your codes into .esbin file, and it just works on -all- engine supported platforms - it's beautiful.
Plus you can use it to write Editor plugins, etc.
02-08-2012 04:49 PM
Find all posts by this user Quote this message in a reply
Esenthel Offline
Administrator

Post: #13
RE: Code Editor - Esenthel Script - Virtual Environment
Progress:
following codes compile and run fine, you will even be notified if app will trigger an exception (debugging will be available)


Attached File(s) Image(s)
   
02-11-2012 11:30 PM
Find all posts by this user Quote this message in a reply
Harry Offline
Member

Post: #14
RE: Code Editor - Esenthel Script - Virtual Environment
I'm really amazed smile Currently I'm interested in how compilers work, how codes from HLL looks in assembler, how assembler instructions looks in .exe files and what are you doing is for me really impressive smile Because as I understand you are making your own compiler from scratch which works on virtual machine like Java?
02-12-2012 12:57 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Sadahar Offline
Member

Post: #15
RE: Code Editor - Esenthel Script - Virtual Environment
The most important thing I see:
You can finnally code (and compile) within android (not -for- android) in a decent language smile

One question about the lincense:
- Android license is paid... but you can get the free code editor for android... do you still need the paid license?
02-12-2012 03:06 PM
Find all posts by this user Quote this message in a reply
Post Reply