@Qube - AGK bit broken?

Started by Rick Nasher, January 02, 2019, 14:33:45

Previous topic - Next topic

Rick Nasher

As you commented:

Quote...Recently AGK has become a little broke in certain areas. I hope this is fixed as a priority in early 2019 as I do love a pure coding environment.

Got bit curious, but didn't want to pollute the thread: What issues are you referring to(I mean: anything specific you came across/had to deal with)?
I probably missed the reports as I haven't been on top of it for months due to health.
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

Qube

The latest 2018-12-12 version :

1.. Blurry text in editor.
2.. Very laggy on scrolling through source which makes it's virtually unusable.
3.. GetDeviceWidth() and GetDeviceHeight() now return retina resolution whereby before they didn't. This may seem correct but GetMaxDeviceWidth() and GetMaxDeviceHeight() only return none retina resolution and all drawing commands are still not retina resolution based.

That's just the new broken stuff :)

All this was fine in the previous version so it's just the very latest version that's a bit knackered on the Mac.

TGC have not responded yet but I assume they are only just returning from Christmas holidays.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Rick Nasher

Wow, that's quite a bit then. Didn't notice this. Only found today that the editor is acting funny holding on to list of some previous projects that were released from it already.

Thanks for the update, hope they'll fix it soon.

Currently really like the kart physics project blink0k is working at.
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

Qube

QuoteCurrently really like the kart physics project blink0k is working at.
Yeah, some nice work there. Which leads me on to a moan about AGK's physics being half done too :P - would like TGC to spend 2019 fixing bugs and making the current features more complete like 3D physics, shadows, 3D model / textures / animation. Anyone who's tried the 3D side of AGK know it's a bit flakey on what it supports and can be a bit of a pain for new comers getting an animated and textured model up and running.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Rick Nasher

I think they really should take note to that, for it's a good point.
Guess they think the 3d side is too much for the average user, but it's really were the fun starts and imho a good advertorial.

_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

RemiD

ahahah  :)) , long live blitzbasic  8)

Rick Nasher

#6
@RemiD
Quoteahahah  :)) , long live blitzbasic  8)
:) You can laugh all you like, probably think I'm biased or on their pay role, ignorantly advocating AGK, but I too was pretty reluctant at first. Until I'd seen what it can do. In all respect, I don't think you have been paying much attention or tried out enough stuff to form a sound opinion. Some arguments:

- It's like a Blitz3d 2.0, pretty stable, cross-platform, 32/64bit, has in-build physics, shadows and shaders and also has quite a few features Blitz3d never had, nor will ever get, as it is dead.
- Has it got issues: yes, some and sometimes bugs get introduced by a new update, which they fix. Then again, so did Blitz3d.
- In AGK I can do things Blitz3d would never have allowed us (even with all the kludges and cumbersome workarounds ) and still maintain a decent fps on my ancient machine(s) or actually way, way better, on my more up to date smartphone.
- The things you were missing such as manipulating vertexes can be done in memory blocks. People have really been investigating and extending functionality to do just that.
- So far they fix or add( if in their abilities) what the majority wants, which we can't really say about.. well, you know who: the-one-who's-name-shall-not-be-mentioned.  :D
- I applaude your faithfulness to the blitz platform, but now I think you really are just torturing yourself with it.
- I get that you are far in your projects and do not want to give up, but it should be possible to convert them and when done, available to a wider public due to the crossplatform functionality.


- People are making really interesting stuff with it. For instance there's a nice thread showing what can be done already using the somewhat incomplete physics using the current command set (vehicle physics not implemented - yet) <here> :

(note: jerky movement is not in real life, it's a recording transferred to gif, which can be bit poor)



So.. don't be bitter and afraid, but head towards the light.  ;)
As some wise old little creature once said:
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

GaborD

I agree, AGK is a solid choice.
If someone likes the Blitz-style approach and is aiming at PC targets and high quality modern rendering at high speed, AGK is basically the only choice currently.
But they will have to implement a lot themselves. On the bright side, AGK is flexible enough for it.
It's just not out of the box and I have not seen addons that get you anywhere near, so there is a lot of work to be done.

I have yet to run into bad bugs, other than inconveniences one can work around, but that's just my personal experience, mileages always vary depending on what features are being used. (for instance every issue Qube listed doesn't apply to me at all. Those are still valid issues ofcourse that need to be solved, I'm just saying depending on what you do you may or may not encounter them)

One thing to keep in mind is that there will always be limitations in engines that try to serve several target platforms, especially when it's a small team working on them. But there are no similar PC focussed engines anymore it seems, so that's just the norm we have to accept.

Krischan

I've also tested the AGK trial a few months ago but didn't really get into it like I did in Blitz3D and Blitzmax - just started the examples and played a little bit around, nothing special. My current most stable choice is still Blitzmax and MiniB3D with the excellent BLIDE as IDE because of the lack of a reliable alternative. I'm experimenting with OpenB3D but I'm not happy with it yet.

One thing I really love in Blitzmax is its modularity. In other words: which features do I have to do without at AGK compared to Blitzmax? I'm not coding 2D puzzles or shooters, my primary goal is still a large 3D RPG and a 3D Space Exploration game for Windows Clients. How about object orientation? Win32 API direct access? SQLite database support? Or structured code like the Superstrict mode? Or other limitations I don't know yet?

My fear is: I started with these games on Blitz3D, restarted them again in MiniB3D because of their complexity and re-re-started them several times again in OpenB3D to have shader support. A re-re-re-start in AGK? Well... this is a decision which can cost a lot of time again. I want to concentrate on the game engine and logic and finish them someday, not learning new game engines and never finish my projects.

But like GaborD said - it looks like the only choice currently. Or staying with the old stuff with the known problems and a uncertain future. It looks like I have a new release date for my games: Summer 2037 :o
Kind regards
Krischan

Windows 10 Pro | i7 9700K@ 3.6GHz | RTX 2080 8GB]
Metaverse | Blitzbasic Archive | My Github projects

Qube

The bugs I've listed can be worked around. For example the IDE blurry / slow issue can be resolved by copying the geany binaries from a previous version to the latest version. The GetDeviceWidth() and GetDeviceHeight() bug is not so straight forward as on the surface you just divide by 2 but that then breaks Windows and Linux so you need to check if those commands are being called on MacOS and then divide by 2.

Sure, pretty easy work arounds but for such core features you wouldn't expect such things to break. I like AGK a lot and it's my favourite pure coding language at the moment. I just wish that TGC would be quicker at fixing these small niggles and test core functionality before releasing updates. It's great that AGK is getting updates and new features but when things like this appear it doesn't half make you want to pull out your hair. The latest version on MacOS is unusable as the IDE speed issue makes it virtually unusable. I'm sure it'll be fixed but it annoys me that such a thing as a broken IDE on MacOS has been ignored for 3 weeks without a quick update release. Cutomer support people, it's a key thing!!

QuoteHow about object orientation?
AGK does not have any OO. Having said that it does support types within types so you can structure your data in an OO fashion if you want. I'm not convinced on the whole gaming OO methodology as I've never seen one example where it's really beneficial in both productivity and speed. I use OO in business apps as it's easier to keep API heavy junk separate but with game coding I've never seen the benefit. Perhaps I'm missing something, I don't know. I can see a benefit for simple OO but pure OO on everything just seems crazy for games?

QuoteWin32 API direct access?
This you can do with the plugin side of AGK. One of the updates in 2017 or 2018 allowed the option of external DLL's / plugins.

QuoteSQLite database support?
Paul ( the developer of AGK ) has mentioned about adding this in but also on the AGK forums they began an SQLite plugin but I don't know how compete it was.

QuoteOr structured code like the Superstrict mode?
AGK has an Option Explicit option

QuoteA re-re-re-start in AGK?
Difficult to advise on as issues you may come across differ from others experiences. Best advice I can offer is that AGK is really simple to learn, has many great things going for it and is a very capable language. It's also updated and supported ( even if not at the speed I'd like ). It has it's plus / negative points but for the last few years it's been my #1 go to for a pure coding environment. It's a very capable language and one that's provided a lot of fun with.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

blinkok

QuoteAGK does not have any OO
Don't forget AGK Tier 2 is C++. So OO is an option there

MikeHart

And then quite a few ports to other languages like C# for an example.

RemiD

#12
Quote
In all respect, I don't think you have been paying much attention or tried out enough stuff to form a sound opinion.
actually, i have tested to convert my templates / projects in Darkbasic, GLBasic, Unity, Blitzmax + minib3d, in the past, and it always took more time to convert my ideas into code than with Blitz3d... (Xors3d is the exception, quite good imo)
of course you can't use shaders in Blitz3d, but do you really need them for your simple little games / tools ? (i can have nice lighting shading, reflections effects, glow effect, in blitz3d... to be honest per pixel lighting shading is missing for nice spotlights)


Quote
also has quite a few features Blitz3d never had, nor will ever get, as it is dead.
tank universal is still available on the steam store, isn't it ? not so "dead"...


Quote
Has it got issues: yes, some and sometimes bugs get introduced by a new update, which they fix. Then again, so did Blitz3d.
mmm... now i am waiting for a list of the bugs not fixed in Blitz3d (i know only 2 and there are simple workarounds)


Quote
showing what can be done already using the somewhat incomplete physics using the current command set (vehicle physics not implemented - yet) <here> :
nice ! (you can achieve the exact same result with Blitz3d + JV-ODE or Blitz3d + Newton or Blitz3d + Bullet )


concerning your wise quote, i am not the one annoyed by missing functions / bugs / slowdowns, i don't really care, i am just slightly trolling ;-)

Krischan

#13
Thanks for the input. Yes OO is not needed to create games but with increasing source complexity I started to "misuse" the OO features of Blitzmax to structure my code in a pseudo-OO style to avoid too many Globals by simply "outsourcing" function groups into a Type and use the Type as a structured Global "replacement". For example: Camera handling, BSP parsing, Flag states, Media management and so on. So I don't use a simple CreateCamera(), PositionEntity Camera,x,y,z anymore, I use a construct like "Global CAM:TCam = New TCam" and can access this from everywhere as "CAM.X = 123", CAM.Update(). It's hard to explain but it makes my source more structured and reusable.

But it is strange to read posts where people try to create a single Triangle in AGK. I'm using procedurally content a lot and rely heavy on creating and manipulating my own meshes and surfaces. So initially, AGK looks more like a limited Blitz3D sandbox to me, capable of creating a large scale of games, mostly 2d. But creating meshes, primitives and manipulating them is crucial for a usable 3D game engine IMHO.

This is my current 3D RPG project, a oldschool one like Lands of Lore, Dungeon Master or Eye of the Beholder (I've attached a just-for-fun virtual game box I've just created trying out Photoshop CC): I've written a custom made 2D Leveleditor which exports a MAP file. This MAP file already contains information about the whole 3D level geometry, additional prefabs, doors, lights, model placements and texture coordinates and is imported into NetRadiant to add additional assets (MD3,B3D) like props and to finally render a BSP file with a Lightmap which contains all level information. The BSP, Lightmap (TGA), Textures (TGA, Diffusemap+Normalmap) and assets (B3D, TGA, Diffusemap+Normalmap) are then imported into my Blitzmax+OpenB3D engine, the BSP is parsed, the level meshes are created, entity placement is done, textures are loaded and everything is rendered with GLSL shaders there. Savegame and variable ingame data handling will be organized using a SQLite database which acts as a savegame, too.

The game has about 30 levels, some are outdoor. It has secret doors (manipulating level geometry by moving objects) and alpha meshes (for example metal gates you can see through), a GUI and so on. The lighting is done using static lightmaps and a dynamic torchlight using a pixel shader to light the close environment around the party only. I use Normalmaps, Shaders, Fog and I plan to use Shadows and some kind of HDR.

The question is how to achieve a similar result in AGK or have a proper workflow replacement for the Level generation and manipulation. How is the memory management designed in AGK? I must reuse already loaded assets and load/unload currently (un)needed assets. This was a hard piece of work to code in Blitzmax and it still doesn't work perfect there.

But anyway - what products would you suggest to learn AGK and create such a 3D RPG game with your own assets, a 3D Level Editor and Shader Presets? I've checked the AGK homepage and found these products useful:

- AppGameKit
- GameGuru
- AppGameKit - GameGuru Loader
- AppGameKit - Shader Pack
- AppGameKit Official Tutorial Guide Vol 2

With a discount code this currently costs about $150, not cheap for a try, but not too expensive for a try. However, the offered additiional 3D assetpacks don't meet my needs or do I need some packs to get into it? I'd prefer to create all the assets by myself.
Kind regards
Krischan

Windows 10 Pro | i7 9700K@ 3.6GHz | RTX 2080 8GB]
Metaverse | Blitzbasic Archive | My Github projects

RemiD

@Krischan>>i have a first person view + torchlight demo (using a per pixel lighting shading shader and normal maps), and the result is very nice, not sure why Xors3d is dead, it would have been great to play with shaders with a blitzbasic syntax...