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.

DarkBASIC Professional Discussion / Advantages/Disadvantages of Leaving DBPro?

Author
Message
Derek Darkly
12
Years of Service
User Offline
Joined: 22nd Sep 2011
Location: Whats Our Vector, Victor?
Posted: 6th Feb 2018 23:32 Edited at: 7th Feb 2018 16:02
I am thinking of jumping over to AppGameKit sometime this year. However, I wanted to get your opinions on the various pros and cons of switching over.
My goal is to make mostly simple games as a one-man team, and eventually market something. But I also want to be able to make games on the scale of Skyrim or Breath of the Wild eventually also.

I am way too lazy to use both DBP and AppGameKit and remember all the distinctions between the two, so I must decide...
The obvious advantage is multi-platform, but if the cons of switching are worse, or if people think DBP has no realistic future, then these are also points to consider. The only thing I know about AppGameKit comparatively is that the syntax is very similar.

Anyone want to weigh in on this one?

Send your parents to noisy sprite demo hell... enter the D-Zone
Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 7th Feb 2018 04:57 Edited at: 7th Feb 2018 04:59
I'm in a similar situation myself.

I have very little interest in mobile, and cross platform is only a minor bonus in my mind. My main focus is still Windows PC.

I've had agk for a few years, but haven't given it much serious attention until recently.

AGK has come along way in past year or so:

added plugin support, including a Steam plugin,

Built in JSON stringify/parse of arrays and UDTs (better arrays in general really, arrays in types, insert/remove/search/sort/length methods)

VR plugin (rift/vive :: I'd still like to see something targeted at daydream as well)

Janbo's shader pack is becoming comparible to AdvLighting (missing some things, adds some others), and opengl will likely have better forward looking support than dx9 with modern OS 's, though I'm much less familiar with glsl in general.

GaborD is also showing some really impressive PBR results.

Built in physics

Fast compiles

But it does some things in strange ways (from a dbpro standpoint)

You've only got 3 data types: string, float, integer (though it seems you can use int as a dword also)

Tweens, timing, 3d animation, window handling, screen resolution, and text are all a bit unintuitive or seem over complicated compared to similar in dbpro.

Many of the help docs have no code examples, but there are a good number of example projects available.

I haven't pushed its performance, it seems decent
but it is ultimately an interpreted language, so it's still a big question/concern hanging up in the air for me.

One of my concerns ous that it seems to have very few larger projects. Rush to Adventure comes to mind but that's about it.

Has anyone pushed it to the point where the compiler might start encountering limits and failures? Cumquat and Chris Tate have encountered line and function count limits in dbpro, I've recently encountered similar with a UDT that grew too large and/or too deeply nested (character module), and another where apparently too many UDT variables were declared in a single scope. (world module) I've had to refactor some things, and have begun to condense Boolean and byte UDT members into a fewer number of integers. This increases processing overhead and reduces readability, but simplifies the UDT structure presented to the compiler. I will likely end up moving constants and 'static' variables into my preprocessor to convert to 'hard coded' source before it goes to the compiler to further reduce the compiler load.

I just haven't seen any projects of a scale that would be likely to push agk to discover these types of limits yet. I have a decent feel for where dbpro 's limits are, I don't like the idea of moving to something whose limits are unknown.

I have been working on porting my framework over off and on, it's hard to get a good comparission until that is mostly up and I can run them more equivalently. The core and lower level utility modules have been converted, I'm getting ready to convert the UI module before long, but really I'm not in any rush, and my project takes priority.

I don't know, ultimately it hasn't quite proven itself to me as being fully capable of replacing dbpro for my main project yet, but it seems fine for maybe starting something smaller at some point.

It's easy enough to convert code from dbpro to agk in most cases, so i will likely keep with dbpro primarily, keep the framework synced over to agk at regular intervals, and keep my eye on how the language and performance progresses on agk's side as well as how problematic the compiler limits become on dbpro's side.
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.
Zep
21
Years of Service
User Offline
Joined: 31st Aug 2002
Location: From PA, USA. Currently reside in Hanoi, Vietnam
Posted: 7th Feb 2018 05:08
About AppGameKit, what is the Tier 1, Tier 2 business? What's the difference? Are they separate products?

Ortu
DBPro Master
16
Years of Service
User Offline
Joined: 21st Nov 2007
Location: Austin, TX
Posted: 7th Feb 2018 05:13 Edited at: 7th Feb 2018 05:15
Tier 1 = BASIC = dbpro
Tier 2 = c++ libraries = dgdk

They are one product and packaged together, tier 1 uses the tier 2 libraries internally
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.
Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 7th Feb 2018 12:34
Other than DBP having a long list of user made plugins and over a decade of code snippets, I'd see no reason not to use AGK. While I still pop in from time to time to assist with DBP when I can, I've left it behind in favor of AppGameKit for all my own stuff. And really, just about anything made in DBP can be pretty easily ported into AGK.

AGK also has better support for data structures. Returning a UDT from functions and using arrays inside UDTs are a tremendous help to me.
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
Zep
21
Years of Service
User Offline
Joined: 31st Aug 2002
Location: From PA, USA. Currently reside in Hanoi, Vietnam
Posted: 7th Feb 2018 13:44
I read AppGameKit is interpreted, like DarkBasic Classic. Any performance issues you notice?

Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 8th Feb 2018 18:55
I haven't done much 3D in AppGameKit, if at all, but speed seems pretty good to me. I could try some speed comparisons.
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
Derek Darkly
12
Years of Service
User Offline
Joined: 22nd Sep 2011
Location: Whats Our Vector, Victor?
Posted: 12th Feb 2018 11:03

Thanks for the responses so far! It may be October or even Christmas before I even start taking this leap of faith, but reviews are favorable - looks like people are generally OK with AGK.

I think programmers are naturally curious people who eat lots of snacks while they code. This is why I value their opinions. Because of the snacks.
Send your parents to noisy sprite demo hell... enter the D-Zone
Zep
21
Years of Service
User Offline
Joined: 31st Aug 2002
Location: From PA, USA. Currently reside in Hanoi, Vietnam
Posted: 12th Feb 2018 13:18
Replace "snacks" with "beer"...and uh...maybe that's me

I code about 8 hours a day...2 of those hours are actually coding...the other 6 hours are beers and thinking about coding

Not very productive...but it suits me.

I'm old (56)
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 12th Feb 2018 22:08
I would switch to Unity or Unreal if I had to switch.

Login to post a reply

Server time is: 2024-04-18 06:33:03
Your offset time is: 2024-04-18 06:33:03