Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / Sports Fiction ®

Author
Message
Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 18th Jun 2014 18:55 Edited at: 18th Jun 2014 19:11
Wow, has it already been almost two months since my last post; now that went by well fast. Time flies when you are having fun, but it is now time for new change.

I will from this point onward post daily progress logs so that I can keep you on track with the Binary Modular project.


Sports Fiction - 18/06/14 - 12:00 - Progess log establishment


The completion of the DarkBASIC runtime engines is fast approaching, so it will be helpful progressively introduce the features of the game and the benefits of the engine prior to when it is revealed so that you can more easily take in all the vast information coming your way.

For those who just want to look at what I do everyday, your wish is my command.


Sports Fiction - 18/06/14 - 12:00 - 3D UI


My 3D user interface concept is taking longer than expected, however it is almost complete. Today I have been linking all of the UI controls to events and triggers so that the player or developer can define their own user interface and publish it for others to make use of.

The user interface is astonishingly big, it includes Microsoft's windows controls, Diggsey's TopGUI controls, my drawing functions, sprites, cameras, shaders, 3D objects and X-Properties which are smart attributes that make things work, and link events from computer to computer of the network. Most of the past 18 months has been invested in user interface because the big picture reveals the need for modern convenience, customization and development of user defined UI. The 3D aspect of the user interface system is the final piece; and there will be plenty of screenshots and videos of the UI later on.

The 3D UI works by drawing 2D shapes and text onto 3D surfaces, using UV coordinates instead of screen coordinates. The mouse is able to interact with the GUI in the 3D viewport as they would with windows, all with drag and drop functionality. Looking forward to posting new screenshots as they come.






Sports Fiction - 18/06/14 - 14:00 - Pixel wind blowing


One of the engine shaders currently being developed is based on pixel distortion; it has been called Zero One Distort shader. This was developed to add one of the major components of the future grass engine. The first component was demonstrated last year which handles the medium sized blades of grass.

This one renders the really short grass, and grass in the distance. Its distortion functions morph and blow the grass around underlying rocks and soil. The wind also blows the grass along according to the attributes of the shader and will also be affected by nearby entities. The video for this is to be posted in the near future.



The distortion shader has other implementations soon to be demonstrated.




Zero One Backend Core - 18/06/14 - 15:45 - Logging system


Backend logging has been important for my DarkBASIC development because it is difficult to keep track of the state of the entities and variables without reporting. It is good to know that something worked they way it is expected to work, and the log provides the evidence. Any issues, performance drops or discrepancies are revealed in the log. In some situations, no user interface will be available; until the user interface can provide performance feedback; the log takes care of it.

Although the backend core is largely responsible for collating useful information about your game session or development session, all 4 cores have their own specialized logging system. In some applications, only one or two of them will run. With large client applications such as Sports Fiction, all four may often be running and can be debugged separately.

MOD creators and sports event organizers may also use the log to report any information that may reveal cheats, hacks and other violations.

As stated before each of the four ZeroOne runtimes have their own log. One of these logs resides in RAM and is automatically presented to the user of the ZeroOne client as is shown here in the X-Producer's frontend core window.



The other three logs are file based and are for the cores handling the viewports, world and backend processes. These are stored behind the scenes in HTML format. Any problems with the software on your machine can be tracked down first from here.








Zero One World Core - 18/06/14 - 16:00 - Physics update


PhysX is being implemented in the world core of the engine, this first physics engine is being implemented using Dark Dynamix. For the past year, 30 elements have been constructed to be used as the main building blocks of all physical activity in the simulation; from balls, aircraft to the falling character and collision blocks in the screenshot below.



Not all of the physics elements are being used in Sports Fiction or the X-Producer; some elements are for the game MODs I am currently working on, and for the game MODs you may soon be working on.


X-Producer - 18/06/14 - 16:15 - SDK update


The X-Producer is the SDK for Sports Fiction modding, a 3D world creator, an IDE for DarkBASIC (and possibly LUA & AppGameKit Basic). It is an editor based on abstraction. You create out of previous creations, and you can create tools which generate such creations for you. A creation can mean anything, for this reason term X is used to represent anything you can think of creating in the production tool.



X-Producer - 18/06/14 - 16:15 - Material editor update


One of the 26 editor modules in the X-Producer includes the material editor. So far this module has been given the most attention. I needed to work on my textures and shaders pretty early on. It currently listens to changes to the shaders and updates the scene for you, so that you do not need to reload shaders and apply them again to each of the objects in the scenes one by one.

This and the other 25 modules will be introduced progressively over the course of the next few months. As promised, with progress logs on a daily basis.



TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 19th Jun 2014 13:27
I'm amazed you're still writing this in DBP.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 19th Jun 2014 19:16
DarkBASIC babie!

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 19th Jun 2014 22:19 Edited at: 19th Jun 2014 22:20

Sports Fiction - 19/06/14 - 15:00 - Light mapping


Lightmaps are one of the key components of the future rendering pipeline for Sports Fiction and the engine itself. Light mapping is an effective resource friendly technique used to generate static shadows and highlights on surfaces in an environment. The form and intensity of such shadows and highlights are determined by the location of the lights in the scene and their qualities. Your level design work flow includes assigning flat textures to objects to give them their material and determine what colour and tone they have. The light mapping system takes these flat textures and blends them with a static image containing the darkness and brightness of each point on the objects.

In this dummy scene, the walls, floors and ceiling are flat textures which would appear as the same colour if it were not for light mapping textures and the light map shader. There are additional aspects of game lighting that I will be working on as the programs are developed.



This light map render uses a fairly simple shader to blend the original textures with the light map. It multiplies the pixel colors of the textures with the pixel colors of the lightmaps. So if a dark red box has a bright white light next to it, each little red dot is brightened by the light. If there were no lights nearby, the red bits would get multiplied by zero, resulting in black; as is shown in the dark parts of the dummy scene. Simple, not ideal for every situation, but a fair start and something to derive from when more complex requirements come along.






X Producer - Film Editor - 19/06/14 - 17:00 - Progess log establishment


The X-Producer module I was working on today deals with animating the elements in the engine. You can use it to create cut scenes, banners and user interface effects. The class of element this module constructs is the X-Animation; and the module is called the Film Editor. These animations can move and transform any variable; which means anything visual like a user control or sprite, or non-visual such as a counter or measurement. Anything that can be represented by a number or text can be animated; such as the brightness of the sun or the position of a train along a track.

When exporting for use in AppGameKit, DarkBASIC, .NET, Unity or another tool, you can export the points along the path to position your entities along it. These points will contain the timespan and angle required to transform your entities.

The animation task for today was the kind which deals with moving something from one place to another with a special requirement. The object must move from point a to point b along a set path. When your animations use a path as a guide, the assigned objects will move along the path from the start of the animation to the end. Ranging from 0.0 to 1.0, this floating point progress value will place the object from the start to the finish. It is this value that is animated by the X-Animation. A value of 0.5 places the object in the middle of the path because 0.5 is half way between 0.0 and 1.0.

Typically, you would use a set timespan to determine when an object must move, and when it should arrive at the end of its path, and whether it should reverse or repeat again.

Thanks to the work of Dejan, another programmer working on the project; I have the necessary functions to animate 2D or 3D objects along a path. As has been demonstrated in the film module below.



Today I focused on the location of the triangle shape, but did not adjust its angle to make it face the correct direction. That is a trivial task that will come later.



thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 20th Jun 2014 04:01
Nice job, keep up the good work! Have you developed your own system for lightmapping or are you using something similar to Dark Lights?


Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 20th Jun 2014 19:17
I am using Dark Lights. I do not think it will be necessary to build my own. We will see how it goes; the engine is modular so we can swap lighting systems around.

TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 20th Jun 2014 22:05
How long are the compile times of this monster?

God I remember how frustrating it used to be to compile large projects with DBP. It re-compiles everything, which kind of sucks. 30'000 lines of code took like 45 seconds.

Also, is there a place I can sign up for alpha/beta testing?

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 20th Jun 2014 22:28 Edited at: 20th Jun 2014 22:44
It is split into seperate parts. Lots of SDK executables of say 100 to 2000 lines. Then 3 big executables with roughly 35,000 lines each. The rest is in .NET which must be roughly 70,000 lines. .NET projects take quite long to compile aswell; the .NET sub-application takes about as long as DarkBASIC, even though its interpreted!

If I need to fix a problem somewhere, I do not need to compile 90,000 lines, just 30,000. Furthermore I have 2 computers to compile them at the same time (I have not bothered to figure out how to compile more than one on the same computer, this seems like a tough task)

All in all, compile times will kill your project time unless you use smart data-files, scripts or similar interpreted high level instructions.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 20th Jun 2014 22:31

Sports Fiction - 20/06/14 - 19:00 - Anisotropic filtering


With England's world cup football performance aside, In 3D computer generated graphics, mipmaps are optimized collections of images that represent a texture loaded into the simulation. These collections of images are subsequently scaled down from the original size to all the way down to a really small resolution. As you may have already guessed, the smallest version of the texture is used to render scenery so far away, the user is unable to detect that a smaller, more memory economic version of the material is being rendered. This is assumed to go unnoticed because entities which are far away is much smaller in view space compared to close by entities. But many situations, this is not true.

Mipmap filters have a number of modes which you can set in HLSL shaders, Dark BASIC and similar command-sets. Todays progress post is based on the anisotropic filtering mode. Anisotropic filtering is used to enhance the image quality on optimized textures regardless of the camera angle. It is an important filtering mode which I have implented and provided you with tweaking controls to help prevent the following mip mapping problem shown in the following two screenshots.





Due to the angle of the camera and the scale of the textures far away; you will see a blurry outcome.



With the mode switch on, you start to get better results. Compare the difference with the following images







Anisotropic filtering is also available in DarkBASIC, you can find a number of plug-ins to activate the mode available in the forum search engine. One of these is the plugin created by Kaedroho

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 20th Jun 2014 22:37
Quote: "Also, is there a place I can sign up for alpha/beta testing?"


Not quite yet. There is a lot I have to work on before I can focus on organizing test builds and user accounts. Everything takes long, but things will speed up a bit better now that I have help from a few programmers and more tools than I had when I started.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 22nd Jun 2014 00:08 Edited at: 22nd Jun 2014 00:11

X-Producer - 21/06/14 - 18:00 - Texture browsing


Some of the programming today was dedicated to improving the modal texture asset browser which is to be the more streamlined version of the official asset browser module. The modal browser can be accessed throughout all of the X-Producer's image related editors. As you advance from folder to folder, it remembers your favourite locations. You can also build up a bookmark of important locations. One of the next tasks is to provide the option to general thumbnails for 3D objects on your computer behind the scenes, allowing you to see how meshes look before loading them into your world. This modal window is available for other categories of assets such as scripts and sounds.





X-Producer - 21/06/14 - 20:00 - X-Properties for Shaders


Two frequently used terms in the X-Producer glossary are X-Elements and X-Properties. The abstraction orientated editor lets you determine the purpose of its tools, which is why the X prefix used to represent what you intend to produce. All of the content in the engine is managed by certain X-Element classes, and all of these contain X-Properties which are attributes with two initial purposes; to describe your content and respond to their changes. X-Properties can also have an undo history, can have an animation timeline, can be shared across a network and can contain child properties. In a nutshell, these attributes attempt to interpret what you want and make it happen.

Todays work involved programming event handlers which communicate with the shaders in the ZeroOne engine. In the following video a number of controls have been provided to allow you to adjust the tonality of your visuals on the fly. These visuals are assigned one of the ZeroOne shaders, but the same procedure can work with one of your own.





It is better to have control over the look and feel of the environment as you walk through it, rather than having to restart or recompile a project to do the same. The controls used to manipulate the pixels on the wooden signboard are X-Properties which happen to be assigned shader constant bindings.



fancy music
15
Years of Service
User Offline
Joined: 27th Sep 2009
Location: in the alpha demo
Posted: 22nd Jun 2014 14:22 Edited at: 22nd Jun 2014 14:23
the lightmapping and film editor both look incredible
Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 22nd Jun 2014 21:43
Thanks. I think there will be a certain module in the tool-set for everyone; I am glad you like the film editor idea because I really want to get that particular module done quite soon so I can use it to create videos.

Light-mapping really is the first step towards making a good looking 3D game.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 22nd Jun 2014 22:13


X-Producer - Theme Editor - 22/06/14 - 19:00 - Themes



Quote: "Copycats and protecting against them
Posted by strong99 (twitter: @strong99)
June 16th, 2014 12:39 am

It hurts to see that most lovely game ideas and even complete games get ripped, copied and being sold. It makes it impossible for those who had the idea to improve it beyond “good”. So what would be the good kind of “protection” against this?

It’s never impossible to copy or even recreate if they want to. (re-engineering get’s easier by the day). The thing is, you shouldn’t rely on the product you create. You should rely on your ideas. Rely on the experience you design instead of the product itself. Keep developing, keep ahead of your competition and copycats. Everything gets copied from books, movies, games up to houses. Did you know they remodelled Paris and Venice in the USA and even bigger in China? It’s a small sized mini-Paris city. Things get already copied before they’re a day old. Don’t rely on your product, rely on your innovative ideas. Create your space, your slice of the world where people can sign up and enjoy your ideas (a brand so to say) instead of a single product at a time. That’s what Ludum Dare could be, beyond the compo, it’s own brand where people come to enjoy the fresh ideas of the community."




An outstanding quote from a very interesting yet brief comment posted on a Lundum dare website I stumbled upon was posted to illustrate today's program design task. It got me thinking about something I had written in my design notes based on the concept of creative signatures in your games. It is not difficult to play a video game and not see a number of features or styles taken from other games; but you sometimes find that these features are so closely associated with a company, a brand or an individual that seeing the idea in action within another product can draw attention to your own; but only if you claim right by using a consistent theme.

How the X-Producer can assist with branding, using a consistent theme and creating your design signatures in level design, stories and program design is something I have been contemplating from the beginning. The concept of themes is quite a high level topic for discussion at this phase in development; but it will be helpful for you to know from early on that the theme module is a significant part of the toolset designed to allow you to change the look, feel and behaviour of your game content categorically. The characteristics of an element in your world, and its position within it can determine what themes are applied to it. These themes can also be shared between your friends, colleagues or clients.

One of the uses of themes has already been presented to you in the first batch of screenshots; can you guess what used themes for? I will answer this question in tomorrow's update.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 23rd Jun 2014 23:58 Edited at: 24th Jun 2014 00:03


X-Producer - Theme Editor - 23/06/14 - 21:00 - Themes


Todays task was to familiarize myself with the theme editor's design and establish some new classes for applying themes to 2D and 3D content. As discussed in the previous progress log, the theme system will package a series of visual and logical attributes and apply them to content which you qualify. One of the first uses of themes was decoration the user interface, which is the answer to the question posted in the last post. By using themes, one is able to change the look and feel of something, but keep its underlying functionality and purpose.

This weeks focus will be to establish the basic features of the theme system, continue work on the film editor and introduce some other stuff. Tomorrows task will be to start creating the foundations of the theme system so that I can decorate the following elements:

2D platforms and ladders Yes those boxes will become platforms and ladders


Sports fiction maze, this basic maze was more difficult to solve inside of it than it is from this angle


Sports fiction spacecraft, it will be interesting to see how this racecraft will look with some of its components altered by themes.


Without any decoration, everything is grey and boring; but this exactly what is required to start off with; a canvas to paint on. The next step is to introduce texturing into the theme class. We also want themes to add or remove geometry or graphics where desired, something that will probably happen a little later in the week.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 25th Jun 2014 01:22 Edited at: 25th Jun 2014 01:23


X-Producer - Theme Editor - 24/06/14 - 23:00 - Platform Theme List


So far the platform theme classes have been created and I have added a platform theme selection list.

Currently the list is unable to scale down the graphics, and there are a number of distortions which need correcting soon.

I am looking forward to showing you the benefits of having this list and how it works. But first there are a number of low level programming tasks which need further attention.



Ortu
DBPro Master
17
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 25th Jun 2014 06:59
I like the smaller, more frequent update format. easier to digest and stay interested.

nice work as always

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 25th Jun 2014 18:49
Good to hear.

There is a lot of information to take in; particularly engine tools and procedures; providing the information bit by bit will make it easier to take in as you mentioned.

I also enjoy following other peoples work when they keep me up to date on a daily basis, it makes me feel wanted as member of their audience and reminds me to keep posted.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Jun 2014 00:01


X-Producer - Theme Editor - 25/06/14 - 18:00 - Platform Theme Wizard - First Version


Today I had to take my focus away from SF for a bit. It often helps to think with a fresh mind, so to say. Although my main aim is to build a 3D game, some techniques and features need to start from 2D. The idea of working in 2D sounded like fun for me because I have had a soft spot for 2D games since the days of Donkey Kong, Bubble Bobble, Bomberman, Super Mario Bros and Sonic the Hedgehog. I have spent more than a few occasions attempting to construct my very own 2D platform game using various development tools here and there; but I am now approaching my first attempt at creating a 2D platform game using DarkBASIC via the X-Producers interface; a game I will introduce at a later date.

There a number of reasons why need to build a variety of smaller games in addition to the two main products:

To demonstrate how to build games using the X-Producer, and how to build content for games
To develop and demonstrate ZeroOne's ability of handling a variety of game genres
To provide example game projects
To develop and demonstrate the X-Producer's export facilities for DarkBASIC and AGK
To see what it will be like for game developers with other interests while learning their needs
To generate ideas for Sports Fiction sports architecture; a concept to be discussed later in development

Now thinking back on the idea of theme orientated level design; I needed somewhere to define 2D level content at its bare minimum, before introducing events and triggers, before converting graphic documents into sprites, before applying physics and creating artificial intelligence. I felt that a great place to start is in a document based layout. X-Layouts are an X-Producer class which will be introduced in future; but for now all you need to know is that these are interactive and mostly non-destructive documents which can contain most of the elements in the engine. In this scenario I only need the X-Theme class, some boxes, some vector art and images. These layouts are interactive because they can perform actions; and they are mostly non-destructive because changes to them are not indefinite and their structure is relative to the given context; which today is a dummy platform level.

Now, how will a platform developer design his level; directly in the level editor? Well, yes; but, what if the developer had limited spare time; how could the person produce lots of great game levels without spending too much time on art, if anytime? Well, this is where themes come in; by encapsulating all the important attributes and artistic content into packages, the designer can draw up a quick level, and unpackage its art and drag and drop the art where it needs to go.

Artists, artists, artists; assuming these inspiring individuals want to have a go helping the level designer create his or her levels; how can these two groups of individuals collaborate in this situation? I will need to bring together a collection of ideas of how to get these two imaginary individuals working closely together on their projects, but to start off, the first idea was to allow them to exchange themes. And to create a platform game theme, I have created a window for this specific task. This window is the Platform Theme Wizard, and its first version is now complete.



To demonstrate its functionality, I have created a basic platform layout with boxes. I have created some simple level graphics, and have purchased some images. The artist could spend a great deal of time perfecting their textures; but I only have a couple of hours, so dozen or so elements will be enough to test the logic of the wizard.

So, how will the design turn his boxes into 2D scenes? How will the designer resize or make changes without destructing the art? How may levels can I design using so few elements?


We will now demonstrate the first method in the following video.



Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 26th Jun 2014 23:45 Edited at: 27th Jun 2014 17:35


X-Producer - Film Editor - 25/06/14 - 21:00 - Align angle to path function


After completing the first phase of the platform theme wizard shown yesterday, today I had a brief development session so I took the opportunity to quickly add the option for you to align your path animation elements to the assigned path in the Film Editor; causing the element to face the direction of motion. You may also offset this angle so that a certain point of your element aligns in perpendicular fashion towards the current phase in animation. In this test session, I had to offset my triangle's angle by 90 degrees because its graphic faces upward instead of right. So far in X-Layouts, which are what we use to design most ZeroOne related content, all X-Layout visuals face towards the right at 0 degrees.

It took me 3 hours to get this preview to work, 3 times as long than I had assumed. Sometimes the things you expect to take long, get done in a few minutes; other times like today, it turns out the other way round. I got caught up with a number of idiosyncrasies and working out the angles from point to point along the path, given the fact that there are only a few points to work with; the curves along the path need to be calculated as the object moves using Dejan's work and some .NET maths functions.

The sprite export will use more graphics hardware acceleration, where as the preview is heavily CPU processed. The sprite based product of your X-Animation will most likely use linear interpolated angles whilst moving along a series of baked animation frames; a task far easier to program using DarkBASIC's vector commands. The commands I have in mind include:

Rotate Sprite and the Advanced Sprites equivalent
Linear Interpolate Vector2 which is a 3D Math command that can gradually animate one vector to another; there are a number of interesting ways to implement this command which I will highlight in your export settings.



Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 28th Jun 2014 00:20 Edited at: 28th Jun 2014 00:20

27/06/14 - 22:00 - Short Update


Today was a short day for project work; I had to do a long job before coming home; then I had to discuss some new programming tasks and 3D modelling tasks for my helpers. Dejan, the guy who helped me put together the path animation is now working on something called the TransformBox; a component used to allow the user to transform layouts and 3D content in the X-Producer. So far so good, he has a little bit more to finish off before I do what I have to do to get it functioning in the editor. The component will be used in most of the modules, so it is a crucial task based on a component which will be widely used in future.

I will soon be working on various science fiction vehicles and spacecraft for developing the racing sports; the new 3D modeller will be focusing on, you guessed it! While I focus on getting the 3D to react and function in the game, while applying my shaders. I have been working on a number of soccer stadiums, skeet shooting arenas and some other cool venues for sports-fictioning; will be good to see all of this in action when the appointed time arises.

Today was a discussion and planning day; perhaps over the weekend I will get back to my own development tasks and will have more to show. Peace!

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 29th Jun 2014 00:40 Edited at: 29th Jun 2014 00:42


X-Producer - 28/06/14 - 22:00 - Code Editor


I have decided to get back to work on the code editor tomorrow. I want to write the DarkBASIC and HLSL in the X-Producer's IDE as soon as possible; although I have other prioritise, this module is important for my personal use as well as a tool for you to use for your programming. The following features were created for the code editor 6 months ago:

* Load DarkBASIC Professional projects
* Create a workspace with multiple DarkBASIC professional projects open at once
* Define custom programming languages for syntax highlighting
* Import all of the standard and plugin commands using the DBP keywords initialization file.
* Syntax highlight comments

The following features will be worked on tomorrow and over the course of next week

* Import HLSL functions and semantics
* Create basic intellisense (auto complete) for the imported commands
* Run the DBPro compiler with the active DBPro project in the solution
* Create snippet insertion shortcut system so that you can add useful snippets without having to search for them
* Generate code for loading X-Producer creations.

It will be an interesting task



Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 29th Jun 2014 22:48 Edited at: 29th Jun 2014 22:54


X-Producer - 29/06/14 - 17:00 - Code Editor Panels


Today and on occasions throughout July, we will go through the main panels of the code editor.

By default, the code module can be accessed through a number of tabs and panels in the UI. You can access the code editor via its module tab.



in the material editor's shader programming tab where it is used for working on shaders as you observe the content in the viewport preview.



in the node editor when set to code view mode where it will be used to edit your world logic with XML (once I complete the XML syntax highlighter).



and in other places in the X-Producer where code, scripts, text or XML needs to be viewed or worked on.

Code Document Toolbar



The first panel we will briefly introduce is the document toolbar. Primarily suited for programming, you will find a button for advancing back to the lasted edited line in the last edited document, and vice-versa with the next button. The third button along will advance to the previous function, and vice-versa with the next function button. In languages with sub routines, like DarkBASIC, it will advance through sub-routines too. I do not yet know if anyone will be interested in pair of buttons exclusively for sub routines, but we will see as we go along perhaps a number of people will request it.

The toolbar, like most toolbars in the X-Producer, is customizable. Layout customization is a topic for another day, but rest assured you may remove buttons you do not want, and add new buttons you need for your work-flow.

After the buttons I have added so far, we have two drop down menus which will list the functions and the members respectively. Functions will include methods, voids, functions and sub routines; however the word function is used to represent your callable code. Members includes structures, user defined types, XML elements, fields and variables depending where the text cursor is inside of the current code document and what type of code document it is.

Next week, we will continue going through the rest of the sections of the code editor.


Sports Fiction - 29/06/14 - 19:00 - Performance monitoring


I have just completed a significant part of the engine's performance tools called clocks. Clocks are low level class instances which time how long important aspects of the gaming experience take. Knowing how long your system takes to perform your actions and update the screen is crucial for pinpointing bottlenecks which can slow down the gameplay and spoil the fun if not dealt with. But how can you deal with bottlenecks that cannot be seen? You will have a hard time doing so without timing the performance of the game so that you can visualize specific aspects of game performance.

There are two clock systems which I have created; one for the 2D user interface, and the other for the 3D user interface and the game itself. Each aspect of the game will run on separate CPUs (central processing units) if you have a multi-core computer. You can go as far as picking the CPU you want each engine process to run; but the operating system will do this for you automatically. This arrangement also exists in the X-Producer for monitoring its performance or the performance of your MODs.

Throughout next week we will introduce various performance clocks, their purposes and their graphs.





Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 1st Jul 2014 01:42


X-Producer - 30/06/14 - 22:00 - Code Editor Panels Part 2


Programming Workspace
Today's code editor panel is enclosed in the project tab control. This tab control situated on the right hand side by default is global to all modules, it does not disappear when you tab into another module.



The solution tab contains two collections. The first collection accessed through a listbox contains the programming projects. The second collection arranged by a hierarchical list called the tree view lists the files belonging to the selected project in the first collection. So far folders for code files is a feature yet to be completed, in the end your programming project will retain the folder structure relative to the main project file, or with linked paths for files outside of the root folder.


Programming Language Bar
When a code document has been opened and the program has not automatically determined the correct programming language, you may select the correct language in the language combobox below the document. At this point only DarkBASIC is available so this list is yet to take effect.



Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 2nd Jul 2014 01:11 Edited at: 3rd Jul 2014 01:16


X-Producer - 30/06/14 - 22:00 - Language Definitions


Today's brief session was spent working on the programming language definition class. As you may already know the goal is to create provide abstract classifications in the editor so that you may quickly define what it is you need the X-Producer to define; in this case you define your own custom programming language, or use one of the languages supplied.

A language definition has been composed with code syntax , syntax highlight themes, character casing format and a collection of code categories ranging from comments to keywords.

Just a few hours, but it is a start.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 3rd Jul 2014 01:13 Edited at: 3rd Jul 2014 01:16


X-Producer - Graphic Editor - 02/07/14 - 17:00 - X-Producer gives birth to its 3D text elements


Recently Dejan completed the new transform control for moving and rotating visual elements; so now seemed like a good time to work on some visual features. Today the X-Producer has been provided with 3D text functions. Here the 3D text has been used in the Graphic Editor. The graphic editor is the place to create X-Graphic elements.

So far it seems the 3D text will require a re-render for each modification you make to it inside the graphics module; this is because the X-Graphic element is not 3D by nature, what you see is a pixel render of 3D content. To animate 3D text in a 2D element, the animation frames need to be baked to image files; that is to supply the animation frames as a sequence of images.

The X-Graphic file format can contain vector graphics, text and bitmaps. You will know what an X-Graphic is capable of if you are already familiar with PDF and SWF file formats; these can contain scalable vector graphics and in the case of Flash SWF files, animation is supported. The exception here is that X-Graphics are single paged; we have the alternative X-Layout file format for your multi-paged needs available in the X-Producer.

X-Graphics will support basic animation; this is so animated 2D elements such as sprites can be created in this module, and is by nature a feature of most ZeroOne elements, they each have animation timelines; meaning their attributes have a timespan. Most of the more sophisticated animation techniques and controls live in the film editor; but some simple animation tools will be available in this graphic module.



Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 4th Jul 2014 01:21 Edited at: 4th Jul 2014 01:22

Zero One - 03/07/14 - 20:00 - DarkBASIC Plugins


Today we needed to prepare DarkBASIC plugin development. We need plugins so that we can place the DarkBASIC processes more closer to host application. This will speed up gaming interactions in Sports Fiction, and will make the engine easier to update leading smarter software.

The other reason we need plugins is to provide them for you. We use the plural plugins because they will be separate; all fit for specific purposes.

The first plugin will provide a foundation of commands which will add useful data management, user interface and windows commands such as for windows interface.

The second plugin is for hosting the Zero One engine in your DarkBASIC window. Other windows development tools and programming languages such as .NET may host the engine using an alternative DLL.

Hopefully the development of the plugins will be a success for the project.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 4th Jul 2014 23:14 Edited at: 4th Jul 2014 23:16

XData - 04/07/14 - 21:00 - 3D User Interface Data


I have completed the next phase in Sports Fiction's 3D user interface, which is to serialize and de-serialize its layouts; that is to store the layouts on file and restore their state in memory for processing. The files are XML based and will use the XData XML format.

XData is the name given to XML files which can define the engines elements and their X-Properties. The X-Properties are engine attributes which make interesting changes to the virtual environment when their values change. The XData used to define properties has a format which either defines the numbers and text; or looks for the numbers and text already loaded into the simulation.

Now that the 3D user interface has something to define it; I can commence with testing the 3D interface in action by writing the XML.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 6th Jul 2014 01:55 Edited at: 6th Jul 2014 02:20

Rendering - 05/07/14 - 23:00 - Render Pipeline


Most of the day was spent reinstalling software on new hardware and preparing to use a new PC as the main tool for development; sharing the compilation processes between up to 3 PCs.

The short spell available for development was spent working on the rendering pipeline which is based on a composition of layers blended together to produce the desired result. We supply the camera with a shader which lets you control how the camera captures the scene. We will discuss this pipeline quite soon because it is almost ready.





DL187
20
Years of Service
User Offline
Joined: 14th Nov 2004
Location:
Posted: 6th Jul 2014 05:27
This project looks great. I really like all of the shader work. The editor looks fantastic, I definitely see a lot of hard work put into this. I am surprised with lack of activity around here. I don't come around often but it seems like a ghost town compared to a few years back. Anyways I can't wait to see how this turns out. I will be watching from a distance
Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 7th Jul 2014 00:51
Thanks DL187, I am looking forward to when I can get more creative with the shaders; but that time will have to wait.

It is more quiet in the WIP forum than it was a few years ago; some of the project threads got locked which is the reason why a few may have gone off. I think it is more lively in the AppGameKit WIP now, be sure to check out the cool stuff people are making for the mobile market.

I look forward to seeing how you game turns out.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 7th Jul 2014 01:06 Edited at: 7th Jul 2014 01:07

Binary Modular - 06/07/14 - 23:00 - Project outline


This evening I felt it would be good to talk briefly about the Binary Modular project, and were everything I introduced falls in. From time to time my progress logs will be used to discuss the family of products and their purposes. Often new readers will jump straight to the latest progress log without first reading the earlier introductions; so this should be a timely reminder.

There are two parts of the software family; the central products, and the MODs (or game modifications). On this occasion we will look at the current structure of the software



First the engine, Zero One, is being used to combine Direct X, XML, DarkBASIC, .NET and PhysX for use in the next product; which is the X Producer, the official editor for the engine. The X-Producer is being used to create the gaming content for the third central product, Sports Fiction; a futuristic role playing sports game where players can compete in sports or create interesting sports.

When we introduce the MODs you will see that they will derive from one of the 3 central products. Some of these MODs will be released as open source so that people can learn how such MODs have been created.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 8th Jul 2014 00:55


Unfortunately I am experiencing hardware and connection problems this evening. I am quite suprised I managed to get as far as posting this message.

Today I received the first test build of one of the ZeroOne plugins for DarkBASIC; however I am unable to test it due to the hardware situation. I spent the initial hour working on the character meshes which need many weeks of work, but that task could not be undertaken. Hopefully your day was better than mine and tommorrow will be a better day for all.

Now posting this message before I get disconnected again.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 9th Jul 2014 00:45 Edited at: 9th Jul 2014 00:50


DarkBASIC Plugins - 08/07/14 - 20:00 - Foundation Plugin Test


One of the DarkBASIC command libraries being developed is the foundation of the plugin suite. Today Dejan supplied a test build of the plugin which we will soon expand with a list of crucial engine functions. This plugin does not require the presence of the Zero One engine, it will be more of an enhancement for DarkBASIC and will make loading X-Producer content easier. The second plugin is what will host the actual engine.

- 08/07/14 - 22:00 - Viewport renderers


I have now added the viewport renderer class to the engine, which collects a number of specifications for capture scenes, applying camera shaders and adjusting tones and brightness.

As discussed last week, our render pipeline will supply layers of drawing operations blended with each other in render stack order. Below, a basic effect was applied to make the scene look green; the image at the bottom of this post shows the scene captured with lots of red. Each of the scenes feature construction textures with no aesthetic requirement.







One of the next rendering tasks is to apply individual screen effects on certain objects in focus; then to make the real screen effects to be used in the products.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 10th Jul 2014 00:55 Edited at: 11th Jul 2014 01:10



Node Module - 09/07/14 - 20:00 - Node Programming


Today I worked on building the database of node libraries. Nodes are XML encapsulated elements in the ZeroOne engine which exist to perform actions. Actions in the simulation take place when certain events occur, so each node requires a certain event to take place before performing their given instructions.

The node editor is one of the first modules created in the X-Producer, but much of its functionality had to be put on hold until a promising node action system could be established. Today this establishment has been made; there are now 1000s of node actions available in the engine. The next step is to complete the node editing user interface and start creating event based nodal networks which will control how sports behave in Sports Fiction, and how materials react with each other using the X-Producer.

So far, the node libraries available include general purpose nodes, material nodes, physics nodes and artificial intelligence nodes.

We tend to define nodes using diagrams. The type of diagram or layout you use to define your events is a matter of choice between flow charts, tabular charts, Gantt charts, lists or tree-views. Those who are not familiar with programming will find such diagrams useful for creating the required programs. Those who are familiar with programming will find them useful for planning, and can also write the XML formatted text which defines the nodes.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 11th Jul 2014 01:09



Node Module - 10/07/14 - 21:00 - Node System Construction


Today we will take a look behind the scenes of the node system construction task. The screenshot below reveals the node construction tool I built for the purpose.



This month we look forward to two big pieces of the game development puzzle; the node database and the node editor. Both of these aspects are required for most of the advanced 3D tools and gaming features we need to build. Along with the code editor, the node editor will be the most crucial aspect of the X-Producer's game development capabilities.

In the next few weeks, with the node editor ready for action; I will be able to commence with the development of the sports, physics, game mechanics and game objectives for Sports Fiction. In addition to that, most of the X-Producer's high level editors such as the entity, particle, audio and world editors will receive their main functionality.

The node database is stored locally in XML, much like most of the X-Producer's content. All of the node functions in the database can perform their actions given specific conditions. To build these nodes, 1,000s of functions needed to be programmed in DarkBASIC and VB.NET. Once done, I was then able to collect the meta-data (the functionality of the functions) and store them in the database. With the information gathered, you are supplied help for determining the purpose and requirements of all of the functions and their parameters in their use in your creation.

Node events and actions can be established using XML, .NET (C#,VB), DarkBASIC Professional or the X-Producer's node editor. There may be support in the App Game Kit in future when a node library for that is made available.

For non-programmers, this node database supplies you with what you need to define your Sports Fiction MOD or ZeroOne game without writing any programming code. You can open the X-Producer, click buttons and fill in text fields, and the engine interprets your every command. The players may enjoy the game you created or the Sports Fiction challenge you constructed without knowing the fact that you are no computer programmer.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 12th Jul 2014 00:56 Edited at: 12th Jul 2014 01:00


Node Module - 11/07/14 - 20:00 - Node System Construction Update


The current daily phase in the personally anticipated node system goal tonight is based on categorization. The algorithmic elements of the simulation provides you with specific nodes for specific logical and expressive artistic needs. Some nodes will return a result of something which occurs your world; some will control the course of events in a live storyboard, some will occur given valid criteria and others will perform an action on a collection of elements.

Criteria and collections is a major topic of discussion because most of your virtual world elements will need some kind of criteria and be part of some kind of collection. There is are a number of specific X-Producer modules for this type of rule setting requirement; we will discuss the modules rather soon; but for now we will focus more on the node system's role in telling your game engine what to do, when to do it and how to do it.

Organizing the nodes into categories is important because there are too many of them to deal with as a single collection. Listing them all at once for your rapid selection would be far too overwhelming to anything but rapid; although optional. Instead, specific nodes will be available given the context surrounding your goals, and you may access the node you need via their categories. You may also configure the user interface to access your favourite nodes when ever you need to use them; and let us not fail to mention that you can define your own nodes personalized for your needs.

It will be interesting to see what categories will be included, something to look forward to; and something to aid your preparation.



Rendering pipeline - 11/07/14 - 22:00 - Threshold effect


Earlier in the week we had the rendering pipeline improved. It features an optional display mode which combines layers of effects to render the live scene during user interaction.

Tonight I had a go at creating a threshold effect option. The effect works by increasing the contrast of the image so dramatically, it causes all tones to be either extremely bright or dark.

These kind of effects occur in realtime and will prove handy when creating an interesting backdrop behind a user interface screen, or to create a transitional effect with a certain emotional pull towards a dramatic story driven climax.

High threshold effect off


High threshold effect on




.jpg[/img][/center]

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Jul 2014 01:52 Edited at: 13th Jul 2014 01:53


DBPro Foundation Plugin - 12/07/14 - 20:00 - Plugin development task

Wow, it was a really bust day outside of the project. After an 11 hour job today, I came home really tired but it was no excuse for not working on the Binary Modular project. There is much to do, but very little time to explain my work tonight.

This evening was spent preparing Dejan's task of linking various engine commands using the ZeroOne foundation plugin for DarkBASIC. The goal here is to provide closer X-Element interaction, smarter lists and multi-threaded operations. In a nutshell the first plugin has been designed to make DarkBASIC smarter; that is to be able to do more processing with less instructions, and shorter compile times.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 13th Jul 2014 02:20 Edited at: 13th Jul 2014 02:25
Just making sure I understand this, is X Producer a game development tool based on top of DBPro?

This is against TGC licencing as far as I know...

But anyway you are totally hire-able material Chris!

EDIT

Mind you, I love the new logo

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Jul 2014 03:09 Edited at: 13th Jul 2014 03:17
Interesting, I am not 100% sure what you mean to be honest. In what way would my products be based on top of DBPro? What does it mean to be based on top of DarkBASIC? Which licensing term you are refering to?

You are scaring me now.

If you thought that I was creating a replacement of somekind, or some sort of competitive product, then I do not think this would be the best place to boast about it; and I think that diagram I posted a few days ago explains exactly where everthing is steering, building Sports Fiction. And my lastest you just replied to indicates how; DarkBASIC plugins.

I created everything else in the editor for making general windows applications (yep my software can make .EXE's without DarkBASIC), documents, graphics design, sound and CAD; stuff unrelated to games development which I do not discuss much of in this thread. These personally constructed properties have little to do with my DarkBASIC plugins or TGC; but happen to be a large part of XProd. It is a bit like Microsft Office having little to do with the X Box or Kinect, even though they are made by the same organization; so to say.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 13th Jul 2014 03:17
The chart in this post is what got me worried...

Can you explain how DBPro fits into your tool?

If you are not reselling this tool and it is for internal purposes, I think you might be ok, best asking TGC about that before you go too far in all of it...

Either way This is taking interesting shape, though I am only skipping a lot as there is a LOOOOT to take in in your updates ^^

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Jul 2014 04:29
Quote: "I am only skipping a lot"


Oh OK, that explains it; you will eventually read up on the plan and structure of the project.

TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 13th Jul 2014 14:41
If he bought DBP he owns the right to do whatever he wants with the software he produces, including selling it. The only thing that would not be OK would be to distribute the DBP compiler with the software he creates.

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Jul 2014 15:05 Edited at: 13th Jul 2014 15:08
You can sell what you make with DBP, I think Mr.V is aware of that but it his question is not quite clear to me. After reading the thread he will have an understanding.

Apologies for being too bold but my guess is that in the end, the IDE software will be a TGC add on for DBP and AppGameKit, a bit like Visual Studio for C# and VB. But it is way too early for such assumptions.

I will officially make proposals to TGC with a fully working demo, after then we can see how it goes.

Rudolpho
18
Years of Service
User Offline
Joined: 28th Dec 2005
Location: Sweden
Posted: 13th Jul 2014 16:00 Edited at: 13th Jul 2014 16:02
If I understood it correctly I believe MrValentine meant that your work seems to be dependent upon DBPro (as in its compiler) and that you won't be allowed to bundle the compiler along with your program, thus making it unusable to anyone who doesn't already own DBPro. However as far as I've seen (I have to agree there is a lot of information to take in in this thread) Chris has never mentioned anything about planning to do this. Releasing a editor that requires DBPro shouldn't be unallowed in any way as long as the end user will have to get DBPro himself. Also, since there is a free version of DBP these days, I suppose that could cause some problems since (I believe) you're not allowed to make any profit out of what you make with it unless you buy a license. Thus an end user using XProducer with DBP Free wouldn't technically be allowed to sell whatever he makes with that setup, which might cause some confusion as to what is really allowed and with what requirements.

Still, judging from the presented graphs, it seems that using DBPro with XProducer is actually completely optional (or...?), in which case it can be seen as merely an add-on. I don't think Chris is in any danger of this being shut down anyway


@Chris Tate: I haven't dared to post in this thread yet due to my inability to keep up with your constant updates and discussions of various aspects of it, but now that I am anyway writing this I should say that it looks extremely involved and like you have come a long way with a seemingly solid plan. It will be really exciting to see how it turns out

On a side note, I notice the FPS displayed in most of your screen shots look rather low while the rendered scenes doesn't seem to be very complex. Is there any particular reason for this? Also, is the rendering viewport completely separated from the rest of the window interface?


Kepp up the good work!


"Why do programmers get Halloween and Christmas mixed up?"
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 13th Jul 2014 17:12 Edited at: 13th Jul 2014 20:32
Rudolphohit the post there I think...

Yeah what exactly will this be used for?

Quote: "
You can sell what you make with DBP, I think Mr.V is aware of that but it his question is not quite clear to me. After reading the thread he will have an understanding.

Apologies for being too bold but my guess is that in the end, the IDE software will be a TGC add on for DBP and AppGameKit, a bit like Visual Studio for C# and VB. But it is way too early for such assumptions.

I will officially make proposals to TGC with a fully working demo, after then we can see how it goes.
"


I am going to read this whole thread now 🎀 You can bet I will invest in this if it does what I think it does... Prepare for criticism 🍒


EDIT

Also, the name is so confusing... can you explain what it stands for?

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Jul 2014 22:37 Edited at: 13th Jul 2014 22:52
I think that it is best to view this thread as something to read in your spare time in your own pace. Although I work on the project daily and log what I have done; you do not need to rush and skim read to catch up with me, please take your time but do read this stuff if you plan to use the software;

the foreknowledge will aid your plans and will help you understand the discussions more easily.

@Mr.Valentine

You seem to be stuggling to grasp the information; most of your questions have been answered in various posts. Be patient, perhaps things will be more clearer with footage later in the year.

Quote: "Rudolphohit the post there I think...

Yeah what exactly will this be used for?

Quote: "
You can sell what you make with DBP, I think Mr.V is aware of that but it his question is not quite clear to me. After reading the thread he will have an understanding.

Apologies for being too bold but my guess is that in the end, the IDE software will be a TGC add on for DBP and AppGameKit, a bit like Visual Studio for C# and VB. But it is way too early for such assumptions.

I will officially make proposals to TGC with a fully working demo, after then we can see how it goes."


What do you mean by this being used for, (XProd? The plugin? DBP). Stop using vague words such as this and the. If you want to ask what X-Producer stands for; ask what does the X-Producer stand for; if you say "what does it stand for" it could mean the engine, the plugin or any of the products metioned.

And how does the question relate to the above quote you made? Or is the question not related to the quote you made ( My head is starting to hurt now ). I hope my answers to Rudolpho will suffice.


@Rudolpho

Quote: "On a side note, I notice the FPS displayed in most of your screen shots look rather low while the rendered scenes doesn't seem to be very complex."


I have placed a low priority on the framerate for practical reasons, to prevent premature optimization and to focus on infrastructure.

I am sleeping engine the loop
and locking the FPS at about 30 frames per second to give the UI thread and video capture program some room to breath. I have no time for shutting down my other programs every time I take a screenshot, but if I maxed out the FPS; DBPro would consume too much of my resources I need for my development software running in the background.

I have built a clock system for benchmarking the engine later on when we start dealing with gameplay and cut-scenes.

I just bought an additional PC, something a little faster, so I might boost the FPS a bit more.

I do not mind showing low FPS on the screenshots; I am confident such screenshots will be forgotten this time next year. These images are more about showing people what I am doing and how stuff works.

Just for any curiousity, the engine sleep process uses the Matrix1 Nice Sleep command; and this can be overriden in the configuration file for both products. Compared to the native sleep command, this Matrix1 alternative is CPU friendly.


Quote: "If I understood it correctly I believe MrValentine meant that your work seems to be dependent upon DBPro "


Now that is an interesting rephrase of the question; the answer is relative to the given product.

The answer to whether the X-Producer is dependant software, is YES and NO! It depends what you are using the X-Producer for.

YES because if you want to use it to manage and deploy your DarkBASIC projects, I am not stopping you. I am doing it to build Sports Fiction, you can do the same to build your products. You still need to buy your copy of DarkBASIC from TGC if you want to build DarkBASIC programs, or AppGameKit from TGC if you want to build AppGameKit programs; or some Java compiler if you want to build Java programs; or some C++ compiler if you want to build C++ programs; it is your choice.

To reiterate

Quote: "The abstraction orientated editor lets you determine the purpose of its tools, which is why the X prefix used to represent what you intend to produce."


Quote: "The X-Producer is the SDK for Sports Fiction modding, a 3D world creator, an IDE for DarkBASIC (and possibly LUA & AppGameKit Basic). It is an editor based on abstraction. You create out of previous creations, and you can create tools which generate such creations for you. A creation can mean anything, for this reason term X is used to represent anything you can think of creating in the production tool."


So you see, it is for producing X out of X; the letter X means something different for everyone. Even if you made your own programming language and compiler, you would define it in the X-Producer and link it up so you can deploy your programs.

This is why I have been doing this:

Quote: "Today's brief session was spent working on the programming language definition class. As you may already know the goal is to create provide abstract classifications in the editor so that you may quickly define what it is you need the X-Producer to define"


So DarkBASIC is one of many languages which could be defined to work in the code editor module, now about the diagram.


Quote: "Still, judging from the presented graphs, it seems that using DBPro with XProducer is actually completely optional (or...?), in which case it can be seen as merely an add-on."


The text below the graph explains it:

Quote: "First the engine, Zero One, is being used to combine Direct X, XML, DarkBASIC, .NET and PhysX for use in the next product; which is the X Producer, the official editor for the engine. The X-Producer is being used to create the gaming content for the third central product, Sports Fiction; a futuristic role playing sports game where players can compete in sports or create interesting sports."


So you see the explaination of the graph deals with what is being used and how. I do not think this paragraph was read or has been misunderstood.

The graph was drawn to show the structure of the software; it has nothing to do with how you deploy applications using the X-Producer; that is something Mr.V may have assumed, but I am sure the text I reposted clarifies things.

I have not even mentioned that DBPro is required to build my EXE files; the software is capable of compiling its own EXE files without DarkBASIC. However this is not my main focus.

Quote: "yep my software can make .EXE's without DarkBASIC"


I built it to work with any windows based tool, however I recommend you do use DarkBASIC with XProd; they will have a much closer relationship than with other tools.

Quote: "using DBPro with XProducer is actually completely optional"


Exactly, you will be able to deploy other EXEs, Sports Ficiton MODs, ZeroOne MODs and other content without owning DarkBASIC; each with their own prerequists and licenses. You will not get a DarkBASIC based EXE out of the X-Producer without owning DarkBASIC yourself.

The ZeroOne runtime engine (that is the thing which SF and X-Prod are made out of) is a .NET based engine which can link up with windows based libraries such as DarkBASIC. As a game engine it will not be good enough to compete in the AAA market for a number of years; so I am not interested in selling it as a serious product at this point in time.

In the future I will be linking it up with DirectX 12 (or the latest version) directly; which is why I have not established this version as a product; it will only be a system to carry the XProd and SF for the first few years which you may use for content creation, modding and deployment through other libraries such as DarkBASIC. It will not be on the same page as CryEngine or Frostbite 3 for years. I'd be lucky to get that far in my lifetime.

Quote: "is the rendering viewport completely separated from the rest of the window interface?"


This is where things get complicated; in some cases yes, and in some cases no. The rendering viewport in some screenshots is a seperate window, but sometimes the whole screenshot is the rendering viewport with windows inside of it. In some cases, there are no windows, just images and sprites. Some windows have been put on 3D planes; but most of the 3D UI stuff is coming up soon, once I finish some important tasks. If the rendering viewport crashes, the X-Producer and Sports Fiction will remain open, and will restart it. A bit like how Dark Shader and Map Scape works.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 13th Jul 2014 22:49
....................

I shall leave it there, but do keep the updates coming

Sorry if I diverted the thread slightly, but I did not want you getting shot in the foot if you were not aware of usage of DBPro and if you were unknowingly using it in that way...



Chris, next time I am in London, you owe me an aspirin [JK]

Chris Tate
DBPro Master
16
Years of Service
User Offline
Joined: 29th Aug 2008
Location: London, England
Posted: 13th Jul 2014 23:03 Edited at: 13th Jul 2014 23:07
lol I give up;

I vow not to reply to Mr.Valentines posts for a year now; I just can't get the point accross, I failed. I am going on strike from replying to any of Mr.Valentines questions.

I will post the next update tomorrow.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 13th Jul 2014 23:17
Quote: "I will post the next update tomorrow."


Looking forward to it!

In my world a year is 365 seconds!

/Back on topic

Login to post a reply

Server time is: 2024-11-23 07:57:49
Your offset time is: 2024-11-23 07:57:49