The competition is over, the entry’s are in and now the long wait begins.
Time for reflection and I would like to highlight some things I found when coding this demo.
Firstly Dark Basic is great. It is flexible, contemporary and dynamic. You can create anything you can imagine. It leads with the latest cutting edge technologies and has an unprecedented level of support from both its creators and users. It is an easy to use interface between your imagination and the `reality` of your computer.
Just about any problem can be solved with a workaround or plug-in, however as competitions like this don’t allow DLLs here is a small wish list.
Nvidia
Could you fix the Physx viewer, the export `as wavefront obj and tet` has been broken for quite a few releases now. I used Version 2.7.3 but I believe 2.7.4 still works. Options to export as .x, .3ds and .dbo formats would be useful.
Dark Basic Pro
Pixel perfect sprite collision would be good. I know there are various methods for this including here
http://forum.thegamecreators.com/?m=forum_view&t=110085&b=6
and
http://darkbasicpro.thegamecreators.com/?f=extends
However I would like a native commands like (pp for pixel perfect)
Return Integer=PP SPRITE COLLISION (Sprite Number, Target Sprite Number)
Return Integer=PP SPRITE COLLISION X (Sprite Number, Target Sprite Number)
Return Integer=PP SPRITE COLLISION Y (Sprite Number, Target Sprite Number)
I realise such commands may be slow; nevertheless sometimes you are willing to compromise speed for accuracy and it would be very useful in many situations, such as my menu system.
Help and manuals
A revamp of the help system to include all the hidden commands, standardising the system amongst plug-ins and be in a format which users could print out in standard A4.
This would allow us to keep a folder with all help files making reference much easier and would let us just print out any updates, replacing pages as necessary. I also feel this would be the best format for any future dark basic manuals as they can become dated very quickly.
A simple explanation of terms, not just their usage, especially for new technologies such as physics would be good.
E.g. the help for ‘phy attach soft body sphere’ should explain that the sphere is invisible and is to allow collisions between soft bodies. It should also explain how the density would affect the body/collision and give normal values and limitations (such as Max Limit, Min Limit and whether negative and floats supported)
If a command includes an angle the help should say if this is radians or degrees.
Differences between terms like angular velocity, linear velocity, local point velocity, point velocity, sleep linear velocity and sleep angular velocity should all be explained.
It should also not be assumed that users will know terms like kinematic without an explanation. Perhaps a glossary of terms would help.
Soft Body Support
As soft bodies are a new technology and their support will be evolving, Im sure many of these will be planned.
The command Phy Attach soft body box did not work for me, yet both spheres and capsules work fine(i Am using the beta version of update 1.05 due to the NX cooking error on other updates). This meant I could not stack soft bodies, as they would just fall over.
Commands to get and set soft body properties like position, rotation, velocity, density and mass are much needed. I used invisible rigid body actors to track and direct the soft bodies however this is inaccurate.
It would be very useful to be able to attach soft bodies to terrain and rigid bodies. I found myself creating bases on my models and crudely encasing the base in a rigid body to fix its position, which works but could be so much better with a command like
PHY ATTACH SOFT BODY TO SHAPE
Description
Attaches a soft body object to the specified shape(rigid body). The attachment process works by attaching any points on the soft body object that collide with the rigid body to that shape.
Syntax
PHY ATTACH soft body TO SHAPE ID, object, maximum force#, maximum torque#
Parameters
ID - identification number of the soft body
Object- identification number of the rigid body object that the soft body is to be attached to.
Maximum force# - maximum level of force before the separation of objects occurs. (A value of 0 would mean no amount of force would cause separation)
Maximum torque# - maximum level of torque (rotational force) before separation of objects occurs. (A value of 0 would mean no amount of Torque would cause separation)
Return
n/a
I hope this post does not come forward as a rant but as some useful feedback of a users experience. As i have said DBP is very flexable and It has allowed me to to create programs which i never even thought would be possable.
Next Post I hope to show some vidios of my entry (much more fun).