Force-0.3.9 #6
Unanswered
KennyProgrammer
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Finally it's time again for another prerelease of Force. It was probably the longest and most difficult pre-release of all that came before. Since
Force has changed and grown cordially lately, in the capabilities and amount of code, I decided after the release of 0.3.5 to work on its optimization and fix various kinds of errors and unfinished fitches, which have already accumulated a lot.
Therefore, from the user side, he does not contains any there coordinated visual changes (although there are some), but rather focuses more on flexibility and stability.
This pre-release is divided into 3 categories of changes:
Also with this pre-release, the first version of the launcher, Force Nave, was supposed to be released. But since I didn't have time to finish it completely in the prescribed time, it will be released in the next upcoming releases.
So let's get started.
Core
Application System
Rewrite the Force Application system, now creating and handling application with Force is a lot easier that was before. Add more information about Application that sorted nices now in specifications, specific for user, build, and other various kinda of scenarios.
Also now Force can reload Application on the fly. That feature is allows dynamically switch between windowed and fullscreen mode, and switch the rendering API, that implemented in Editor already.
And Application now can create and load users, that defines the information about current application session, but still sometimes buggy yet.
And finally, the entire main application cycle has been completely redesigned and has several states, that allows redraw some content during current frame for several visual effects.
Element System
Elements that holds Editor and Runtime stuff, also have few new additions. One of them is that some events with loading, opening projects, or compiling scripts now happens after main frame ended and some of it use different threads.
Scripting System
Most important changes
The most of big updates for the scripting system, is that all the script C# core library that used for writing scripts now stores in different module file - ForceCSCore.dll that links with user ForceCS.dll where all user scripts are stored for each project. And so now all the source code for scripting are hidden, but all details about each class and method user can find in pre-documented files in the project itself or in the Force Scripting API documentation.
Scripts instantiates now only in runtime. Before it was like when attach script it already instantiate it in Edit Mode.
Improve Build Script Engine, now its builds on different thread and you can still working in Editor without waiting.
Rework the rebuild scripts in runtime, add new options in to Preferences -> Editor -> Rebuild Scripts In Play Mode.
Fix a freaking hold bunch of memory leaks with Mono Runtime. So now Editor should not grows in memory when user uses script in their project in runtime.
Now Force detect status of build script project from MSBuild, and print correspond messages.
C# Scene Manager
Adds scene manager API to C# scripts with new Scene, SceneManager classes. That allows to user create different scenes in runtime, load, unload it, switch between different target playing scenes, playing scenes and so on.
Extended C# Physics
Adds AABB, PhysicsShape2D, PhysicsShape2DType, Physics2DSettings, Transform2D, and expand Collider2D and Rigidbody2D classes. In general now user can more control on physics from scripts.
Editor
New Dialog System
Maybe the most big visual update of this pre-release is new Dialog System. By this i mean that im completely rework on all dialogs in the Force. For example: Creation, Opening projects & scenes, Settings (that now called Preferences), Preset selection dialog window and so on. Now creating projects, scripts, prefabs, scenes is a lot easily and what is more, it is stability and not crashes as it was before.
New Create Project Dialog
New Create Script, Prefab, Scene Dialog
Also now Force has kinda of startup screen or Project Configuration on startup, that allows to you create, open or open recent opened project right there.
Project Configuration Dialog
Editor UI
The editor's UI has also undergone some changes. Now all UI are displayed correctly with all components in the inspector and so on.
Status bar also have few changes. Now it actually shows that scene or project was changed, saved, or for example that scripts are building right now.
Asset Manager & New Assets Browser
Asset Manager itself and Project Browser (now called Assets Browser) was fixed and slightly redesigned. Was added new section of Asset Manager is relationship between relative and full paths, reason it because i already build application to final executable and because path was fullpath it breaks game when its game folder moves to another directory.
Most important fixes that i've made its with moving assets to another directory was incorrect, sometimes lead to crash, fixed copying, pasting,
deleting, and creating assets because of the same reason.
Physics
A lot improvements comes to Physics Engine. Fixed incorrect controlling physics variable, creating and destroying bodies in play and simulation modes, and also incorrect displaying colliders.
Runtime
Implement the full runtime, that allows build and play the game outside the Editor in the executable application. But now that feature available only for me and feature developers.
Rendering
Fixed some bugs with graphics and rendering, with rendering camera, resizing window and game viewport. Also add raw implementation of 3D render engine, but not included in the Editor for now.
Other Changes
Other changes is not necessary. A lot changes happens in editor UI since last official release. And of course a lot of bugs is fixed, see Force-Log.md or Force-Bugs.md.
Bug-Fixes:
0.3.9:
This discussion was created from the release Force-0.3.9.
Beta Was this translation helpful? Give feedback.
All reactions