|
Post by kennn on Aug 15, 2020 15:53:15 GMT -6
Therefore, RCBasic users can make extremely useful dll files for all the users in the community. For example, dll file of Irrlicht Engine, dll file of Bullet Physics, dll file of Newton Game Dynamics, etc. This feature can attract experienced developers or professional developers to use RCBasic! Sure! Thank you very much.!!!!!!!!!!!!!!!!
|
|
|
Post by johnno56 on Aug 15, 2020 16:52:10 GMT -6
For the majority of users, external DLL's, would be a great idea. I cannot speak for our Mac users, but for those of us that use Linux, that idea may not work. I know, Mac and Linux users, are a small section of the community... but still... if DLL's are involved, I personally, will avoid it like the plague... (but that's me... lol)
The "libraries" could be written in RC and "included". This will prevent "isolating" Mac and Linux users but will involve extra work on behalf of the game developer. Depending on the type of library, "including" may not be practical. A library for collision detection is completely "doable". A library for Raycasting or Box2D or, as you mentioned, physics engines, would involve a LOT of coding. In those cases, a DLL, would be a great option.
In my opinion: DLL's are a great idea but has the potential of excluding 'non-windows' users. Writing libraries to "include" has the potential of adding more work. But, both options, have the end result of making the game player's experience a better one. So... The options are basically two-fold... 1. Produce "both" DLL's (for windows users) AND the same "include" library in RC (for non-windows users) or 2. Probably leave RC "as it is".
External libraries are a great idea...
As a side point: Naalaa has a "Lib" directory of libraries in both "text" and "compiled" format which are "included" in the game listing. The "High Score" table in Astrorocks was based on Naalaa's High Score library. The High Score Library is just a collection of subroutines and functions. Because Naalaa is written for different OS's, the libraries, need to be in a format that those OS's can read... In this case... Plain text...
Anyway... that's my opinion (for what it's worth... lol) N00b would be the best person to reply... N00b! No pressure, right?
|
|
|
Post by kennn on Aug 16, 2020 7:41:02 GMT -6
In my opinion: DLL's are a great idea but has the potential of excluding 'non-windows' users. Writing libraries to "include" has the potential of adding more work. But, both options, have the end result of making the game player's experience a better one. So... The options are basically two-fold... 1. Produce "both" DLL's (for windows users) AND the same "include" library in RC (for non-windows users) or 2. Probably leave RC "as it is". Hello.... After I investigate, I discover that nearly all popular BASIC dialects can load dll files. For example: QB64: www.qb64.org/wiki/DECLARE_DYNAMIC_LIBRARYAppGameKit Basic: m.facebook.com/AppGameKit/posts/1391931054199680FreeBasic: www.freebasic.net/forum/viewtopic.php?t=25578All the above BASIC dialects are cross-platform dialects.
|
|
|
Post by n00b on Aug 16, 2020 7:58:54 GMT -6
For the majority of users, external DLL's, would be a great idea. I cannot speak for our Mac users, but for those of us that use Linux, that idea may not work. I know, Mac and Linux users, are a small section of the community... but still... if DLL's are involved, I personally, will avoid it like the plague... (but that's me... lol) johnno56 You are a majority of users currently. And you are right, DLLs only work on Windows. All of these dialects compile to machine code. RCBasic is a intermediate bytecode compiler. Technically its still possible for a bytecode compiler to implement this but I try not to implement anything unless it will run on every supported platform. And like I mentioned above, its very specific to just Windows. I might try to integrate Box2D if I can integrate its objects into RC's state machine structure but to be honest it probably isn't happening for a while. But RCBasic's core is really just a few C++ files that you could include in any C++ project as a scripting language if you want. I might make a tutorial on how to do that at some point.
|
|
|
Post by johnno56 on Aug 16, 2020 15:51:01 GMT -6
Understood. DLL's 'could' work, but for incompatibility issues, highly unlikely... We are still left with two options. 1. Manual "included" libraries or 2. Leave RC 'as is'. In my opinion, moving forward - although only a little bit - is better than not moving forward at all... On the other hand... If left 'as is' then we are going to have to be more creative "with the tools by which we were given"...
|
|
|
Post by kennn on Aug 17, 2020 2:42:49 GMT -6
...................................... Thanks for explaining. But RCBasic's core is really just a few C++ files that you could include in any C++ project as a scripting language if you want. I might make a tutorial on how to do that at some point. Actually, don't need. It is because I don't have C++ knowledge.
|
|