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.

AppGameKit Chat / [STICKY] AppGameKit Vs DarkBasic - Feedback Wanted!

Author
Message
Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 28th Jan 2018 02:14
Auto texturing needs optimization though, in dbpro if you load 10 objects that all reference the same texture, each one will load a new copy of the texture using up a lot of extra memory and increasing load times. Because of this I never export materials/textures with my objects and always texture manually so that I only have to load a single copy of the texture.
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
janbo
9
Years of Service
User Offline
Joined: 10th Nov 2008
Location: Germany
Posted: 29th Jan 2018 03:05 Edited at: 29th Jan 2018 03:06
Darkbasic pro was able to pass cubemaps to shaders
Qugurun
3
Years of Service
User Offline
Joined: 8th Dec 2014
Location: Tyumen, Russia
Posted: 31st Jan 2018 15:36
Please, add webview.
https://www.instagram.com/qugurun/
Ortu
DBPro Master
10
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 2nd Feb 2018 04:14
Another Matrix1:

GUID$()

generates a unique ID string, (the md5/sha hash functions are not equivalent and run the risk of duplicates)
http://games.joshkirklin.com/sulium

A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.
Scraggle
VIP Member
14
Years of Service
User Offline
Joined: 10th Jul 2003
Location: Yorkshire
Posted: 2nd Feb 2018 12:30
Alien Menace
AGK Developer
13
Years of Service
User Offline
Joined: 11th Jan 2005
Location: Earth (just visiting)
Posted: 3rd Feb 2018 23:57
ForEach Command
EZRotate Commands
3D Sound Commands
Vertex Commands




I love my Altair 8800 Replica.

http://altairclone.com/
hoyoyo80
2
Years of Service
User Offline
Joined: 11th May 2016
Location:
Posted: 4th Feb 2018 01:16
3d sprite with animation control (this is OT)
Santman
6
Years of Service
User Offline
Joined: 15th Sep 2011
Location: Inverness
Posted: 7th Feb 2018 18:35
I would say I miss the ability to make programs invisible exe. I would love to see deek/doke peek/poke commands come back......though these were not dbpro and an extension. Though actually the dlls might work with a little altering? I use agk almoost exclusivel on pc and the ability to run two exes and have cimmunicwtion between them would be reqlly useful, even if it was just a shared memblock (getmemblocklocationstart or something?) - could you pass the memblock location of one app to another and have both write to that location? This would allow things like pathmapping to be done outside the main app to avoid slow down.

Or you could add some pathmapping?

That would also allow one app to load media into a memblock, then the main one that does the screen update to just make an image from it giving a pseudo background loading.

Big asks I know.
Green7
12
Years of Service
User Offline
Joined: 23rd Nov 2005
Location: Switzerland
Posted: 8th Feb 2018 11:12
Quote: "Load multitextured 3D objects! Please! Please! It would be nice to load a .x even and not have to texture it myself""


+1
hoyoyo80
2
Years of Service
User Offline
Joined: 11th May 2016
Location:
Posted: 13th Feb 2018 03:07
Or a 3d Visual Editor where we can load model,assign textures via GUI,save the "LoadLevel" in AppGameKit
Mobiius
Valued Member
15
Years of Service
User Offline
Joined: 27th Feb 2003
Location: The Cold North
Posted: 13th Feb 2018 09:07
Quote: "Or a 3d Visual Editor where we can load model,assign textures via GUI,save the "LoadLevel" in AppGameKit "

Sooo, you want GameGuru and GGLoader then?
SFSW
15
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 13th Feb 2018 23:13 Edited at: 12th Mar 2018 21:52
Here is my list of needed capabilities (I plan on updating this as I encounter further limitations or missing options):

- Double integers and other larger value sizes. Even 32-bit apps support this and AppGameKit also has 64-bit runtime interpreters, so it should support larger data types. They can be restricted or truncated as needed for narrow OpenGL requirements, but for fundamental math operations, larger value types are essential. DBPro handles these just fine (and it's 32-bit only), AppGameKit should also.

- Password protected ZIP access (as with DBPro's file block commands via the enhancement pack). Just a basic asset protection mechanism. Should be internal and not dependent on outside plugins for global access and cross-platform support.

- Ability to extract individual files from a ZIP, rather than all in bulk. I'm actually surprised this doesn't appear to be in AppGameKit since it is such a basic ZIP operation, so perhaps there is a way? If it's truly not available at all, then something equivalent to DBPro's 'Extract File From Block ID,File$,Path$' would be needed. And for such an option, being able to open and close a ZIP file to access individual files would also be needed.

- Optional specular and emissive layers added to current internal diffuse and normal mapping shader (or perhaps something a little more toward PBR and less of a Lambertian approach). Updating to Vulkan would likely help with more current graphics options/effects overall.

- Support for F9-F12, separate left/right CONTROL/ALT/SHIFT keys, and dedicated Numpad keys. There appears to be no or limited support for these keys (at least with the 'GetRawKey' command set). Only duplicate scancodes are returned or no scancodes are returned. Control keys both only return '17', Alt keys both only return '18', and both Shift keys only return '16'. Each key should be detected with a dedicated return as with DBPro and any other Windows based system. I have put together a list of both AppGameKit and DBPro's scancodes below showing the lack of independent key signals for certain keys and also the lack of any key signal for other keys (marked with a '?' under the AppGameKit column):



- SetImageMinFilter() to support anisotropic filtering to avoid the poor narrow angle image quality currently required with the linear filtering. A simple added value of 'SetImageMinFilter(img#,2,anisolevel)' would be all that's needed.

- Inverse transparency option (black is solid to white as transparent, ie DBPro's 'Ghost Object On ObjID,1' command) in addition to the current additive option.

- Complete control device support. The current XInput type system is far too limited. There is currently no support for anything beyond one joystick type and only one device of that type. In addition to too few device types, too few axis channels, too few buttons, and too few secondary control functions are supported on a device that is picked up. This is required to support HOTAS, control panels, rudders, yokes, steering wheels, etc. Multiple controllers and controller types need to be supported internally without the use of external plugins (which are often not available on different OS's/platforms). So a complete universal control system is needed. Support for at least up to 10 devices, 10 axis channels per device, 40 buttons per device, and at least one (preferably as many as the device has though) POV/HAT per device is needed if Windows is to be a supported OS.

- 'Add/Rotate/Offset/Scale Limb' commands (and associated position/offset retrieval commands). Binding objects to objects may not be able to support various things that true limbs as substructures within objects can. **** Edit: I'm currently exploring alternatives using offset object indexes as part of the DBPro-to-AGK code converter I'm working on. Limbs may not be critical, but would be very helpful in the process of migrating DBPro projects and/or duplicating true limb behavior as in DBPro.

- 'Make Mesh From Object' and related mesh commands for use to build other objects and (possibly) limbs from a global mesh.

- 'Fade Object ObjID,%' to fade an object's visibility to black (disappearing black-transparent objects slowly, fading solid objects to black).

- 'Set object normals'.

- 'Convert object fvf'.

- 'Set Object Mask' (couldn't find an equivalent) to mask specific objects from specific cameras.

- 'Wrapvalue' command.

- 'MakeCamera' to support DBPro's 'Make Camera' command so multiple cameras can be used with different parameters. Otherwise, one camera has to be used for everything, which requires remaking it for different FOV/etc values for different applications, destroying performance and making certain effects/techniques impractical/impossible during runtime.

- 'CopyFile' (same as DBPro's Copy File command).

- 'GetFolderExists' equivalent to DBPro's 'path exist'.
> Along with the command above, far better file and folder management is needed. If we are forced to be sandboxed in to the \User folder tree on Windows, we should at least be able to navigate around folders and files for the current user and other users. Unfortunately, limiting the read/write operations to the \AGKApps folder under only -one- specific user folder tree means we can't cleanly provide global settings for all users on a computer for any game we make with AppGameKit (since we also can't write to a root folder or any other location outside of the AGKApps folder for only -one- user). For even basic Windows support, we'd need to be able to read and write to/from other folders (and/or their users) in the user folder tree or have some kind of access to folders outside of the sandbox location. Many Windows games these days also allow the player to specify a save folder for their settings and save games, but this isn't even an option with AGK. 'SetRawWritePath' appears to not be able to set a folder to such locations. Such functionality should be internal to AppGameKit for complete cross-platform support (not requiring separate plugins for every platform, external runtime dependencies, and different bit limits), certainly with reasonable limitations for certain platforms that require restrictions (ie iOS).

These are basic options/functions that I've encountered as either limitations or entirely unavailable with AppGameKit that I feel should be supported internally. Minimizing the use of plugins would be important to provide full cross-platform support and to avoid unnecessary runtime dependencies that previous plugins tended to have.
edler
User Offline
Joined: 11th Jan 2018
Location:
Posted: 3rd Mar 2018 09:26
more sound commands and MIDI commands to make midi, sound and music apps.
Zep
15
Years of Service
User Offline
Joined: 31st Aug 2002
Location: From PA, USA. Currently reside in Hanoi, Vietnam
Posted: 4th Mar 2018 10:50
Load DBO, your own format. (That conflicts with the "AGK Store" I guess)
Blendman
4
Years of Service
User Offline
Joined: 17th Feb 2014
Location: Arkeos
Posted: 5th Mar 2018 10:17 Edited at: 18th Mar 2018 17:15
Hi

Dark basic seems to have a lightmapper (like FPSC too) to create the lightmap of our level :

Command :


Or :
Add light map light
http://dbprohelp.wikia.com/wiki/ADD_LIGHT_MAP_LIGHT

source :
http://dbprohelp.wikia.com/wiki/CREATE_LIGHT_MAPS

The possibility to set specular and specularmap to an object, and the power of specular
Set object specular
Set object specular power

Append object : use the animation from an object on another object (share animation between two objects)
http://dbprohelp.wikia.com/wiki/APPEND_OBJECT
AGK2 tier1 - http://www.dracaena-studio.com
Phaelax
DBPro Master
15
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 18th Mar 2018 01:53 Edited at: 18th Mar 2018 02:01
Quote: "I miss the granddaddy of all 2D commands.. the DOT x,y, Color Value and the Point x,y. I'm not sure if AppGameKit would need the Lock Pixel command but I'll mention it anyways. Also, I'd make a slight modification to the DOT command, Make it DOT x,y,RGBA so that we also gain control of the alpha. Cheers!"


I would only find this useful if we get backbuffer access. Otherwise, it'd be too slow for practical use.


Quote: "
- Ability to extract individual files from a ZIP, rather than all in bulk"


This would technically be possible with native agk code. I actually started a ZIP reader in DBP (check code snippets). I never quite managed to master the compression algorithm so my example did little more than offer a list of contained files.

One thing I would like (DBP didn't have this either), would be the ability to an image mask. The alpha channel would determine what is seen from the sprite, because a simple black&white image would kill anti-aliasing and we like smooth images! The image would match the sprite's local coordinates. There's probably a way to do this with shaders though.

SetSpriteScissorImage(spriteId, imageId)
Tiled TMX Importer V.2
XML Parser V.2
Base64 Encoder/Decoder
Purple Token - Free online hi-score database
Legend of Zelda

"I like offending people, because I think people who get offended should be offended." - Linus Torvalds
SFSW
15
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 30th Apr 2018 03:01
Since my post is now old enough that I can no longer edit it ( https://forum.thegamecreators.com/thread/221378?page=2#msg2618579 ), I wanted to post a revision to the 'control device support' issue I mentioned earlier.

After a lot of additional testing, it appears AppGameKit has no joystick support at all (on Windows at least). An Xbox controller or other 'gamepad' can be detected and handled with GetRawJoystick commands, but actual -joysticks- have no support at all with these commands, including no detection, no axis support, no HAT/POV support, and no button support. The 'joystick' control system seems to be unable to handle devices outside of 'gamepads'.

So I'd like to add to my original request to provide support for 'joysticks' with the 'GetRawJoystick' command set (of course, including multiple joystick/throttle/wheel/etc devices). If necessary, a separate 'GetRawGamepad' command set could be added for the severely limited XInput style gamepad only device system currently in place if it needs to be separated from joystick operations (combined would be preferred though with the system being able to enumerate and handle each device's unique axis count, button count, and HAT/POV count). Ultimately, the joystick commands should actually support joysticks and not just thumb-twiddling gamepads. Especially if Windows/Linux is going to be supported.
Stab in the Dark software
Valued Member
15
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 30th Apr 2018 21:49
SFSW

I would suggest with your experience that you move to Tier 2 and add that additional functionality yourself.
As I can not foresee them adding it any time soon. If they were it would be done by now.
The coffee is lovely dark and deep,and I have code to write before I sleep.
SFSW
15
Years of Service
User Offline
Joined: 9th Oct 2002
Location:
Posted: 1st May 2018 21:59
Nah, this is just for direct comparison with DBPro as requested to help provide examples of missing or limited functionality between the two. It also coincides with the simplicity and syntax benefits/structure of Tier 1 in comparison with DBPro. Otherwise, the benefits of what AGK2 T1 offers would be significantly lost (at least compared to other competing products/engines/frameworks that also do more of a Tier 2 type approach plus have far more complete features sets in the areas I've listed in this thread). I've left out a number of things that are better suited to developer-side solutions. Much of what I've listed here are really just 'basic' operations and functions that any game development system targeting Windows and/or Linux should incorporate (full keyboard support, multiple game device types, copying files, managing ZIP files individually, checking for existing folders, multiple cameras, double precision, etc). And to simply provide examples of what is lacking between DBPro and AppGameKit as the thread solicited.

So I won't quite yet give up on hoping such things will be added to AppGameKit eventually
CodeName
1
Years of Service
User Offline
Joined: 30th Dec 2016
Location:
Posted: 11th May 2018 05:06
a as boolean

x as bit
z as nibble
y as byte

SetMemblockBit()
SetMemblockNibble()

GetMemblockBit()
GetMemblockNibble()
CodeName
1
Years of Service
User Offline
Joined: 30th Dec 2016
Location:
Posted: 12th May 2018 02:23
b as char

SetMemblockChar()

GetMemblockChar()
EdzUp
15
Years of Service
User Offline
Joined: 8th Sep 2002
Location: Citadel Cyberspace
Posted: 8th Jun 2018 14:24
@Codename: definitely need those
-EdzUp
Bengismo
User Offline
Joined: 20th Nov 2017
Location: Yorkshire, England
Posted: 8th Jun 2018 14:40
Codename wrote: "
SetMemblockChar()
GetMemblockChar()
"


These are functionally exactly the same as:
SetMemblockByte()
GetMemblockByte()

Not sure they are really needed??

You could even just use

#constant SetMemblockChar SetMemblockByte
#constant GetMemblockChar GetMemblockByte

and then you have those functions already

Also.... you already have
SetMemblockString()

so can just SetMemblockString( memID, offset, "a" )


I'm all for extra functionality but not for replicating whats already there. A char type could be useful at least but working with strings is easy as it is.

Login to post a reply

Server time is: 2018-06-22 23:45:22
Your offset time is: 2018-06-22 23:45:22