Ooops
November 29, 2020, 04:21:03 PM

Author Topic: Blitz3D - what do you like, what not?  (Read 6031 times)

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Blitz3D - what do you like, what not?
« Reply #15 on: September 30, 2017, 12:11:40 AM »
Blitz3D is good with Fast Libraries. It is limited to 3D. Yeah, I don't like field access with "\". PureBasic is like that too.

Offline ms62

  • Full Member
  • ***
  • Posts: 110
Re: Blitz3D - what do you like, what not?
« Reply #16 on: September 30, 2017, 12:48:44 AM »
Why I like it?

It gets you to a working prototype faster than any program that exist.
Writing a 3D simulation is very easy with it, although it doesn't have double and long data type.

Features that are still rare today:

Entity system which includes Camera too, something you cannot find today.
Very useful 3D vector-matrix command set.
Very powerful and useful and simple 3D pivot implementation.
Community was the best in the world.
Many physics engines were available for it.
Great visual enhancement libraries were available for it.

What a waste!

Well, it doesn't have scene graph, but is scene-graph necessarily a good thing for everything? Ask Horde3D guys!

Offline Yue

  • Hero Member
  • *****
  • Posts: 579
    • YiHosting Your Hosting Free
Re: Blitz3D - what do you like, what not?
« Reply #17 on: February 02, 2018, 11:28:06 AM »
Simple, it still works great on Windows 10, and it looks like it will for a while.


Offline RemiD

  • Hero Member
  • *****
  • Posts: 1077
Re: Blitz3D - what do you like, what not?
« Reply #18 on: February 02, 2018, 06:11:43 PM »
What i like in Blitz3d :
-commands names which are similar to how a human think (similar to the english language too)
-freedom to code with the style you want. (i don't like oo, i prefer procedural imperative)
-compatible with most computers with Windows OS, and does not require to install others libraries / redistributables / codecs etc...
-i have access to almost everything i need, even the low level stuff
-i can use global variables, global arrays, goto line, to make the others programmers cringe :-*
-the compiled executables run rather fast (even if some things can be optimized)

What i don't like in Blitz3d :
-some bugs were never fixed (linepick sometimes fails on a ROAM terrain, weird behavior of buffers depending on which commands have been used before)
-some commands don't have an appropriate name
-some commands mix things which have nothing to do together (updateworld())
-some essential features were never added by BlitzResearch (possibility to create joints, to set the influence (weight) of some joints over some vertices, to get the skinned vertices positions, to only update the joints orientations/positions and the skinned vertices positions of one rigged skinned mesh, to disable bilinear filtering of textures, and i can probably find others)
DualCore AMD E-450, 1646 MHz - 6 Go DDR3 1333 SDRAM - AMD Radeon HD 6320 Graphics (384 Mo) - Windows 7 Home Premium - DirectX 11.0

Offline Yue

  • Hero Member
  • *****
  • Posts: 579
    • YiHosting Your Hosting Free
Re: Blitz3D - what do you like, what not?
« Reply #19 on: February 02, 2018, 11:05:03 PM »
Something to add, version 1106 I use for compatibility with fastlibs, if you look at true compatibility mode they have the ability to run compatibility from xp/vista/7/8 running on windows 10. The version compiled with visual studio 2017 has the option of compatibility from Windows 8.  In other words what I think is that Blitz3D will be around for a long time.

Offline RemiD

  • Hero Member
  • *****
  • Posts: 1077
Re: Blitz3D - what do you like, what not?
« Reply #20 on: February 03, 2018, 10:14:54 AM »
I am currently following a course about generating procedural meshes, and the "teacher" uses Unity and c# and i can tell you that the same concepts/things/procedures/commands which are simple in Blitz3d are complicated in Unity... Why ? Is this progress ? No !
DualCore AMD E-450, 1646 MHz - 6 Go DDR3 1333 SDRAM - AMD Radeon HD 6320 Graphics (384 Mo) - Windows 7 Home Premium - DirectX 11.0

Offline peteswansen

  • Jr. Member
  • **
  • Posts: 57
Re: Blitz3D - what do you like, what not?
« Reply #21 on: February 03, 2018, 08:01:16 PM »
I like everything also!  I am working on procedural terrain generation, "prebuilt" procedural "buildings" and trees, Space Exploration related sims, and a simple Minecraft-like game.

What I don't like is the method to make animated humans, animals, etc. I wish we had at the least: generic lo-poly human models (male & female) with walk, tool/weapon holding, sit-lie down and similar quadrapod animal animation routines---  BUILT IN TO the blitz command set.

Offline RemiD

  • Hero Member
  • *****
  • Posts: 1077
Re: Blitz3D - what do you like, what not?
« Reply #22 on: February 03, 2018, 09:41:41 PM »
@peteswansen>>if you plan to build rigged skinned meshes (with joints ("bones") and skinned vertices) so that you can animate them, you can't using the default commands of Blitz3d but you can if you add the addons by Bobysait (to create joints ("bones") in code, to set the influences (weights) of some joints over some vertices, to get the skinned vertices positions)
here : http://mojolabs.nz/posts.php?topic=105408

DualCore AMD E-450, 1646 MHz - 6 Go DDR3 1333 SDRAM - AMD Radeon HD 6320 Graphics (384 Mo) - Windows 7 Home Premium - DirectX 11.0

Offline STEVIE G

  • Sr. Member
  • ****
  • Posts: 498
Re: Blitz3D - what do you like, what not?
« Reply #23 on: February 04, 2018, 01:16:00 PM »
I like ..

* Being able to access low level mesh information as I build alot of my own stuff in code.
* The entity system in general is excellent.
* It's lighting fast to get prototype's up and running and if you structure your code well, much larger games can be written in it.

I don't like:

* The original IDE - using IDEal is a must!
* Poor documentation - a Sibly trait it seems.
* Sound support is limited.
* DX7 and Windows only and possible future incompatibility.  Seems to be fine on Win10 - long may it continue.
* I've been passed up by publishers purely based on the language the game was written in.  They expect easy porting / compilation to other platforms I think.  I think there is a bit of industry snobbery when it comes to B3D.
* No native shadow system.   

I have AGK and need to spend some time with it but it looks like I can't build meshes in code etc.. I suppose I could build meshes in Blitz3d and write a function to export to a common format.

Offline RemiD

  • Hero Member
  • *****
  • Posts: 1077
Re: Blitz3D - what do you like, what not?
« Reply #24 on: February 04, 2018, 05:31:16 PM »
Quote
I have AGK and need to spend some time with it but it looks like I can't build meshes in code
@Stevie G>>really ? and what about images ? and textures ? and joints ? and animations ?

There must be a way to build meshes in code, because with the trend of customizing the characters/vehicles with different clothes/armors/weapons/accessories, you need to be able to load several premade parts and merge them in a few surfaces and one mesh...
DualCore AMD E-450, 1646 MHz - 6 Go DDR3 1333 SDRAM - AMD Radeon HD 6320 Graphics (384 Mo) - Windows 7 Home Premium - DirectX 11.0

Offline STEVIE G

  • Sr. Member
  • ****
  • Posts: 498
Re: Blitz3D - what do you like, what not?
« Reply #25 on: February 04, 2018, 06:34:39 PM »
Quote
I have AGK and need to spend some time with it but it looks like I can't build meshes in code
@Stevie G>>really ? and what about images ? and textures ? and joints ? and animations ?

There must be a way to build meshes in code, because with the trend of customizing the characters/vehicles with different clothes/armors/weapons/accessories, you need to be able to load several premade parts and merge them in a few surfaces and one mesh...

Like I said, I've only briefly looked at the command set:

https://www.appgamekit.com/documentation/home.html

Entities are Objects in AGK but there is no createobject, only createobjectfromheightmap and the usual, cube, cylinder etc.. 
There is no createbone but you can access bones on a created mesh.    Looks like you can also only create sprites/images from files loaded etc..

I may be wrong but looks pretty poor compared to what I'm used to.


Offline Steve Elliott

  • Hero Member
  • *****
  • Posts: 2860
  • elgol 2021
Re: Blitz3D - what do you like, what not?
« Reply #26 on: February 04, 2018, 06:39:35 PM »
Quote
Looks like you can also only create sprites/images from files loaded

You really should look at the examples that come with AGK before making inaccurate statements.

I don't know about 3d features because I've not used that side of things.
Windows 10 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
MacOS Big Sur 64-bit, 8Gb RAM, Intel i5 2.3 Ghz, Intel Iris Plus Graphics 640 1536 MB
Linux Mint 19.3 64-bit, 16Gb RAM, Intel i5 3.2 GHz, Nvidia GeForce GTX 1050 (2Gb)
Raspberry Pi 400, Pi4, C64, ZX Spectrum Next.

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 2566
  • I mostly code at night... Mostly.
    • SyntaxBomb - Indie Coders
Re: Blitz3D - what do you like, what not?
« Reply #27 on: February 04, 2018, 06:56:41 PM »
Quote
Looks like you can also only create sprites/images from files loaded etc..
You can grab parts of the screen and you can also create sprites in memory using memblocks. You can also render to texture both sprites and movies.

Quote
but there is no createobject
Any of these commands of use? - looks like there are commands to manipulate and create meshes.

CreateObjectFromObjectMesh ( objID, fromObjID, meshIndex )
GetObjectMeshSizeMaxX ( objID, meshIndex )
GetObjectMeshSizeMaxY ( objID, meshIndex )
GetObjectMeshSizeMaxZ ( objID, meshIndex )
GetObjectMeshSizeMinX ( objID, meshIndex )
GetObjectMeshSizeMinY ( objID, meshIndex )
GetObjectMeshSizeMinZ ( objID, meshIndex )
SetObjectMeshNormalMapScale ( objID, meshIndex, scaleU, scaleV )
SetObjectMeshUVOffset ( objID, meshIndex, textureStage, offsetU, offsetV )
SetObjectMeshUVScale ( objID, meshIndex, textureStage, scaleU, scaleV )
AddObjectMeshFromMemblock ( objID, memID )
CreateMemblockFromObjectMesh ( objID, meshIndex )
CreateObjectFromMeshMemblock ( memID )
GetMeshMemblockVertexAlpha ( memID, vertexIndex )
GetMeshMemblockVertexBlue ( memID, vertexIndex )
GetMeshMemblockVertexGreen ( memID, vertexIndex )
GetMeshMemblockVertexNormalX ( memID, vertexIndex )
GetMeshMemblockVertexNormalY ( memID, vertexIndex )
GetMeshMemblockVertexNormalZ ( memID, vertexIndex )
GetMeshMemblockVertexRed ( memID, vertexIndex )
GetMeshMemblockVertexU ( memID, vertexIndex )
GetMeshMemblockVertexV ( memID, vertexIndex )
GetMeshMemblockVertexX ( memID, vertexIndex )
GetMeshMemblockVertexY ( memID, vertexIndex )
GetMeshMemblockVertexZ ( memID, vertexIndex )
SetMeshMemblockVertexColor ( memID, vertexIndex, red, green, blue, alpha )
SetMeshMemblockVertexNormal ( memID, vertexIndex, x, y, z )
SetMeshMemblockVertexPosition ( memID, vertexIndex, x, y, z )
SetMeshMemblockVertexUV ( memID, vertexIndex, u, v )
SetObjectMeshFromMemblock ( objID, meshIndex, memID )
GetObjectMeshName ( objID, meshIndex )
GetObjectMeshPSSource ( objID, meshIndex )
GetObjectMeshVSSource ( objID, meshIndex )
GetObjectNumMeshes ( objID )
SetObjectMeshImage ( objID, meshIndex, imageID, textureStage )
SetObjectMeshLightMap ( objID, meshIndex, imageID )
SetObjectMeshNormalMap ( objID, meshIndex, imageID )
SetObjectMeshShader ( objID, meshIndex, shaderID )
Mac mini ( 2018 / 2020 ), 3 GHz 6-Core Intel Core i5, 16 GB 2667 MHz DDR4, 1TB NVMe, eGPU Radeon Pro 580 8 GB, LG Ultragear 27GL83A-B 27 Inch
Commodore VIC-20, 1.1Mhz MOS 6502 CPU, 5KB RAM, VIC ( 6560 ) GPU

Until the next time...

Offline STEVIE G

  • Sr. Member
  • ****
  • Posts: 498
Re: Blitz3D - what do you like, what not?
« Reply #28 on: February 04, 2018, 07:07:36 PM »
Quote
Looks like you can also only create sprites/images from files loaded

You really should look at the examples that come with AGK before making inaccurate statements.

I don't know about 3d features because I've not used that side of things.

Like I said - I may be wrong but should not have jumped to conclusions after a quick schoofty. 

So you and Qube are using AGK - excellent - how do you find it in general and syntax wise?

Quote
Looks like you can also only create sprites/images from files loaded etc..
You can grab parts of the screen and you can also create sprites in memory using memblocks. You can also render to texture both sprites and movies.

Quote
but there is no createobject
Any of these commands of use? - looks like there are commands to manipulate and create meshes.

CreateObjectFromObjectMesh ( objID, fromObjID, meshIndex )
GetObjectMeshSizeMaxX ( objID, meshIndex )
GetObjectMeshSizeMaxY ( objID, meshIndex )
GetObjectMeshSizeMaxZ ( objID, meshIndex )
GetObjectMeshSizeMinX ( objID, meshIndex )
GetObjectMeshSizeMinY ( objID, meshIndex )
GetObjectMeshSizeMinZ ( objID, meshIndex )
SetObjectMeshNormalMapScale ( objID, meshIndex, scaleU, scaleV )
SetObjectMeshUVOffset ( objID, meshIndex, textureStage, offsetU, offsetV )
SetObjectMeshUVScale ( objID, meshIndex, textureStage, scaleU, scaleV )
AddObjectMeshFromMemblock ( objID, memID )
CreateMemblockFromObjectMesh ( objID, meshIndex )
CreateObjectFromMeshMemblock ( memID )
GetMeshMemblockVertexAlpha ( memID, vertexIndex )
GetMeshMemblockVertexBlue ( memID, vertexIndex )
GetMeshMemblockVertexGreen ( memID, vertexIndex )
GetMeshMemblockVertexNormalX ( memID, vertexIndex )
GetMeshMemblockVertexNormalY ( memID, vertexIndex )
GetMeshMemblockVertexNormalZ ( memID, vertexIndex )
GetMeshMemblockVertexRed ( memID, vertexIndex )
GetMeshMemblockVertexU ( memID, vertexIndex )
GetMeshMemblockVertexV ( memID, vertexIndex )
GetMeshMemblockVertexX ( memID, vertexIndex )
GetMeshMemblockVertexY ( memID, vertexIndex )
GetMeshMemblockVertexZ ( memID, vertexIndex )
SetMeshMemblockVertexColor ( memID, vertexIndex, red, green, blue, alpha )
SetMeshMemblockVertexNormal ( memID, vertexIndex, x, y, z )
SetMeshMemblockVertexPosition ( memID, vertexIndex, x, y, z )
SetMeshMemblockVertexUV ( memID, vertexIndex, u, v )
SetObjectMeshFromMemblock ( objID, meshIndex, memID )
GetObjectMeshName ( objID, meshIndex )
GetObjectMeshPSSource ( objID, meshIndex )
GetObjectMeshVSSource ( objID, meshIndex )
GetObjectNumMeshes ( objID )
SetObjectMeshImage ( objID, meshIndex, imageID, textureStage )
SetObjectMeshLightMap ( objID, meshIndex, imageID )
SetObjectMeshNormalMap ( objID, meshIndex, imageID )
SetObjectMeshShader ( objID, meshIndex, shaderID )

Looks like the very chaps - thanks Qube.


Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 2566
  • I mostly code at night... Mostly.
    • SyntaxBomb - Indie Coders
Re: Blitz3D - what do you like, what not?
« Reply #29 on: February 04, 2018, 07:31:08 PM »
Quote
So you and Qube are using AGK - excellent - how do you find it in general and syntax wise?
Overall I really like it and it's put the fun back into coding. The language isn't to everyones tastes, especially if you are strictly an OO or die kinda coder. It doesn't have any zippy flippy language gymnastics features like Monkey 1 & 2 have but then again, I've never needed one of those funky methods to make a game.

I like that it has built in support for TexturePacker ( big time saver ) and the broadcast system for testing on mobile is a God send ( no need to faff about with certificates ), just broadcast and it's on your phone / tablet in a few seconds. It also has built in support for Spriter and Spine + tones of other stuff like 2D & 3D physics, tweening, networking, files, 2D & 3D particles. Plus the documentation is not too bad either. 

It can be a bit odd in places, for example there are two methods for drawing on screen. A percentage system and the X / Y coor system. If you want to use the X / Y system then you need to set the virtual resolution beforehand. No big deal, I just found it odd having two draw systems.

Lists are also a little harder to setup than in Blitz3D as in you create a type and then you create an array of the type and use that. Couple more lines of code but hey ho.

Mac mini ( 2018 / 2020 ), 3 GHz 6-Core Intel Core i5, 16 GB 2667 MHz DDR4, 1TB NVMe, eGPU Radeon Pro 580 8 GB, LG Ultragear 27GL83A-B 27 Inch
Commodore VIC-20, 1.1Mhz MOS 6502 CPU, 5KB RAM, VIC ( 6560 ) GPU

Until the next time...

 

SimplePortal 2.3.6 © 2008-2014, SimplePortal