Leadwerks Engine 0.2.8 - friendlier, easier, more

Miscellaneous Forums/General Discussion/Leadwerks Engine 0.2.8 - friendlier, easier, more

Run FPSControls.bat:
http://www.leadwerks.com/files/engine0.2.8.zip

This release is more similar to what I envision as the final product. This isn't so much a pimpage demo, but more an example to show artists and programmers how everything works.

Script Editor
A pretty complete script editor with syntax highlighting lets you edit your code and launch the engine. The editor will keep control of the launched process, so you can terminate execution at any time. Error feedback has not yet been implemented.

Physics
Physical objects are now very easy to create in the editor. Place a model in 3DWorldStudio and add a property "phybox=1" or "phycyl=1". You can adjust the mass (default mass is 10) by adding a "mass" property. Use "mass=0" for a non-movable object. The engine will automatically calculate the model offset and center of gravity, even if the model pivot isn't in the center. Add a property "shadow=1" to make any object cast a dynamic shadow.

Script
I've added a lot of commands, including some basic player commands. The demo included shows how to implement controls with both WASD and the arrow keys, as an alternative/secondary key. Open engine.bcs in notepad to see the syntax for all available commands.

Assets
All models have been textured and sized correctly, and will be created with their default texture applied. If you get a chance to look at these in 3D World Studio, you'll appreciate how well-made they all are.





Sorry, I forgot to include a required file. I fixed it and posted a new download, same link.

Oooh.

Wow. Incredible.
Are you working on HL3?
Your engine is one of the best piece of software I've seen!

I'm not going to use this, as I have no interest in creating an fps, but can i say: Well Done ! It sure has come a long way since those early B3d days.

Great work Josh. Script editor is very nice, but having tabs to switch between different scripts would be cool.

I have no interest in creating an fps
Nor me (totally sick of FPS), but this engine could easily be used for games other than shooters. Granted, you'd be restricted to either a first or third person view, but that's true of all 3D games!

..well..Once completed, let me know and I'll buy it..thats for sure..man syntax is almost B3D! I love it..I'm really looking seriously on to this..

It's astouding to see how much this has come along, and the amount of work that must have gone into it. It's been a long time, but the quality is simply amazing!

It certainly seems very easy to use, and more importantly, to understand what's what.

no openal here and your link to openal.zip is down

Thanks for the compliments.

I need to contact Creative and figure out how to tell whether OpenAL is installed or not.

You could use the engine for whatever type of game you want. In the script, you can see that the camera is just manually positioned to match the player.

It's three billion years in the making, but congrats Halo. Runs and looks great.

Very nice release.

But I'm a wrong or is it incapable of exclusive fullscreen?
Because on startup I get the well known overlay flicker (I've ObjectDock) which only happens if 3d apps start windowed fullscreen mode instead of exclusive.

As well, for some reason it seems like the performance dropped seriously since .24 (I get like 40-100 FPS on 1680x1050 on my 7600, 2x2Ghz CoreDuo, so not a that stunning result ... I get the 40 - 50 FPS with Counter Strike Source and everything but HDR active on that resultion and thats more than a room with a few objects ...)

You can change the display mode by editing startup.script. Change the last parameter in the Graphics() command from 2 to 0 to start it in fullscreen.

Dreamora, my guess is your rig is fillrate-limited. I started using a shader on the engine-created materials (where no material file is present) so that all surfaces will work with dynamic lights. You're running at a very high resolution, so it would make sense that would slow down the card a little if a fragment shader is being used.

I would like to know when you are planing to make release this system??

Thats exactly what I did, changing 2 to 0.

Hmm, 7600 shouldn't be that fillrate limited that it breaks down that far, its 128Bit buswidth, 256MB VRAM, so if simple, non parallax nonbump materials is killing the performance that badly, I would say that there is more in the pipe breaking the performance, not just a fillrate issue.
I only get like 200 FPS with the default 800x600 as well, which is quite disappointing for a room with 2 barrels, a few bricks and no demanding shader effects active at all.

Its a very nice engine none the less, .24 and previous (haven' tested .26 and .27) showed some quite interesting aspects and if the fps break in shows some usefull reason or solution, it will definitely be a great thing.

I think it's hard to make conclusions about framerates when it is above 100.

Still not working on my laptop. All drivers are fully up to date.

Describe behavior please.

It's the same as many people have reported, shuts down immediately after trying to link the shader. No error popup or anything.
Loading command set "C:\Documents and Settings\Ejer\Skrivebord\Downloads\BlitzStuff\engine0.2.8/engine.bcs"...
Compiling script C:\Documents and Settings\Ejer\Skrivebord\Downloads\BlitzStuff\engine0.2.8\Scripts\FPSControls.script...
Script compiled in 6 msecs
Initializing engine...
Leadwerks Engine Version 0.2.8
OpenGL Version 2.0.6287 WinXP Release
OpenGL Vendor: ATI Technologies Inc.
OpenGL Render Device: MOBILITY RADEON X600 x86/SSE2
CPU Vendor: GenuineIntel
CPU Name: Intel(R) Pentium(R) 4 CPU 3.00GHz
CPU Speed: 2992 MHz
OpenGL extensions supported:
	GL_ARB_multitexture
	GL_EXT_texture_env_add
	GL_EXT_compiled_vertex_array
	GL_S3_s3tc
	GL_ARB_depth_texture
	GL_ARB_fragment_program
	GL_ARB_fragment_program_shadow
	GL_ARB_fragment_shader
	GL_ARB_multisample
	GL_ARB_occlusion_query
	GL_ARB_point_parameters
	GL_ARB_point_sprite
	GL_ARB_shader_objects
	GL_ARB_shading_language_100
	GL_ARB_shadow
	GL_ARB_shadow_ambient
	GL_ARB_texture_border_clamp
	GL_ARB_texture_compression
	GL_ARB_texture_cube_map
	GL_ARB_texture_env_add
	GL_ARB_texture_env_combine
	GL_ARB_texture_env_crossbar
	GL_ARB_texture_env_dot3
	GL_ARB_texture_float
	GL_ARB_texture_mirrored_repeat
	GL_ARB_texture_rectangle
	GL_ARB_transpose_matrix
	GL_ARB_vertex_blend
	GL_ARB_vertex_buffer_object
	GL_ARB_pixel_buffer_object
	GL_ARB_vertex_program
	GL_ARB_vertex_shader
	GL_ARB_window_pos
	GL_ARB_draw_buffers
	GL_ATI_draw_buffers
	GL_ATI_element_array
	GL_ATI_envmap_bumpmap
	GL_ATI_fragment_shader
	GL_ATI_map_object_buffer
	GL_ATI_separate_stencil
	GL_ATI_texture_env_combine3
	GL_ATI_texture_float
	GL_ATI_texture_mirror_once
	GL_ATI_vertex_array_object
	GL_ATI_vertex_attrib_array_object
	GL_ATI_vertex_streams
	GL_ATIX_texture_env_combine3
	GL_ATIX_texture_env_route
	GL_ATIX_vertex_shader_output_point_size
	GL_EXT_abgr
	GL_EXT_bgra
	GL_EXT_blend_color
	GL_EXT_blend_func_separate
	GL_EXT_blend_minmax
	GL_EXT_blend_subtract
	GL_EXT_clip_volume_hint
	GL_EXT_draw_range_elements
	GL_EXT_fog_coord
	GL_EXT_framebuffer_object
	GL_EXT_multi_draw_arrays
	GL_EXT_packed_pixels
	GL_EXT_point_parameters
	GL_EXT_rescale_normal
	GL_EXT_secondary_color
	GL_EXT_separate_specular_color
	GL_EXT_shadow_funcs
	GL_EXT_stencil_wrap
	GL_EXT_texgen_reflection
	GL_EXT_texture3D
	GL_EXT_texture_compression_s3tc
	GL_EXT_texture_cube_map
	GL_EXT_texture_edge_clamp
	GL_EXT_texture_env_combine
	GL_EXT_texture_env_dot3
	GL_EXT_texture_filter_anisotropic
	GL_EXT_texture_lod_bias
	GL_EXT_texture_mirror_clamp
	GL_EXT_texture_object
	GL_EXT_texture_rectangle
	GL_EXT_vertex_array
	GL_EXT_vertex_shader
	GL_HP_occlusion_test
	GL_NV_blend_square
	GL_NV_occlusion_query
	GL_NV_texgen_reflection
	GL_SGI_color_matrix
	GL_SGIS_generate_mipmap
	GL_SGIS_multitexture
	GL_SGIS_texture_border_clamp
	GL_SGIS_texture_edge_clamp
	GL_SGIS_texture_lod
	GL_SUN_multi_draw_arrays
	GL_WIN_swap_hint
	WGL_EXT_extensions_string
	WGL_EXT_swap_control
Max texture size: 2048
Max cubemap size: 2048
Max texture units: 8
Max shader texture units: 16
Max multisample: 4
Max anisotropy: 16
Max clip planes: 6
Max lights: 8
Shadows supported: 1
Shaders supported: 1
Loading Plugins...
Loading plugin "smf.dll"...
Loading plugin "textureformats.dll"...
Loading plugin "vtf.dll"...
Loading materials...
Loading shader program "default"...
Loading vertex shader "C:\Documents and Settings\Ejer\Skrivebord\Downloads\BlitzStuff\engine0.2.8/Shaders/default.vert"...
Loading fragment shader "C:\Documents and Settings\Ejer\Skrivebord\Downloads\BlitzStuff\engine0.2.8/Shaders/default.frag"...
Linking shader program...


works fine on my dell latitude d800 laptop here.

Interesting,

It wont work on my desktop - I have ATI Sapphire Radeon 800XL.

IPete2.

Hmmm...the x600, is that a first-generation shader card?

I can't believe how badly shaders were first implemented. The amount of code you need just to emulate the fixed function pipeline exceeds the instruction limits of the first shader cards.

I have a crappy Radeon 9550 I can put back in and test with.

Hmmm...the x600, is that a first-generation shader card?
No, it's fully shader model 2.0 compliant.

Will the Leadwerks engine support Mac OS X?

No.

Won't run on my ATI X800Pro either. Gets to the loading shader part and just quits.

Nothing pops up when I click the exe, however I do see the log (Radeon X300/X550):
Script "C:\Documents and Settings\Paul Leduc\Desktop\Downloads\lead\Scripts\start.script" not found.
Initializing engine...
Leadwerks Engine Version 0.2.8
OpenGL Version 2.0.6232 WinXP Release
OpenGL Vendor: ATI Technologies Inc.
OpenGL Render Device: RADEON X300/X550 Series x86/MMX/3DNow!/SSE2
CPU Vendor: AuthenticAMD
CPU Name: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
CPU Speed: 2200 MHz
OpenGL extensions supported:
	GL_ARB_multitexture
	GL_EXT_texture_env_add
	GL_EXT_compiled_vertex_array
	GL_S3_s3tc
	GL_ARB_depth_texture
	GL_ARB_fragment_program
	GL_ARB_fragment_program_shadow
	GL_ARB_fragment_shader
	GL_ARB_multisample
	GL_ARB_occlusion_query
	GL_ARB_point_parameters
	GL_ARB_point_sprite
	GL_ARB_shader_objects
	GL_ARB_shading_language_100
	GL_ARB_shadow
	GL_ARB_shadow_ambient
	GL_ARB_texture_border_clamp
	GL_ARB_texture_compression
	GL_ARB_texture_cube_map
	GL_ARB_texture_env_add
	GL_ARB_texture_env_combine
	GL_ARB_texture_env_crossbar
	GL_ARB_texture_env_dot3
	GL_ARB_texture_float
	GL_ARB_texture_mirrored_repeat
	GL_ARB_texture_rectangle
	GL_ARB_transpose_matrix
	GL_ARB_vertex_blend
	GL_ARB_vertex_buffer_object
	GL_ARB_vertex_program
	GL_ARB_vertex_shader
	GL_ARB_window_pos
	GL_ARB_draw_buffers
	GL_ATI_draw_buffers
	GL_ATI_element_array
	GL_ATI_envmap_bumpmap
	GL_ATI_fragment_shader
	GL_ATI_map_object_buffer
	GL_ATI_separate_stencil
	GL_ATI_texture_env_combine3
	GL_ATI_texture_float
	GL_ATI_texture_mirror_once
	GL_ATI_vertex_array_object
	GL_ATI_vertex_attrib_array_object
	GL_ATI_vertex_streams
	GL_ATIX_texture_env_combine3
	GL_ATIX_texture_env_route
	GL_ATIX_vertex_shader_output_point_size
	GL_EXT_abgr
	GL_EXT_bgra
	GL_EXT_blend_color
	GL_EXT_blend_func_separate
	GL_EXT_blend_minmax
	GL_EXT_blend_subtract
	GL_EXT_clip_volume_hint
	GL_EXT_draw_range_elements
	GL_EXT_fog_coord
	GL_EXT_framebuffer_object
	GL_EXT_multi_draw_arrays
	GL_EXT_packed_pixels
	GL_EXT_point_parameters
	GL_EXT_rescale_normal
	GL_EXT_secondary_color
	GL_EXT_separate_specular_color
	GL_EXT_shadow_funcs
	GL_EXT_stencil_wrap
	GL_EXT_texgen_reflection
	GL_EXT_texture3D
	GL_EXT_texture_compression_s3tc
	GL_EXT_texture_cube_map
	GL_EXT_texture_edge_clamp
	GL_EXT_texture_env_combine
	GL_EXT_texture_env_dot3
	GL_EXT_texture_filter_anisotropic
	GL_EXT_texture_lod_bias
	GL_EXT_texture_mirror_clamp
	GL_EXT_texture_object
	GL_EXT_texture_rectangle
	GL_EXT_vertex_array
	GL_EXT_vertex_shader
	GL_HP_occlusion_test
	GL_NV_blend_square
	GL_NV_occlusion_query
	GL_NV_texgen_reflection
	GL_SGI_color_matrix
	GL_SGIS_generate_mipmap
	GL_SGIS_multitexture
	GL_SGIS_texture_border_clamp
	GL_SGIS_texture_edge_clamp
	GL_SGIS_texture_lod
	GL_SUN_multi_draw_arrays
	GL_WIN_swap_hint
	WGL_EXT_extensions_string
	WGL_EXT_swap_control
Max texture size: 2048
Max cubemap size: 2048
Max texture units: 8
Max shader texture units: 16
Max multisample: 4
Max anisotropy: 16
Max clip planes: 6
Max lights: 8
Shadows supported: 1
Shaders supported: 1
Loading Plugins...
Loading plugin "smf.dll"...
Loading plugin "textureformats.dll"...
Loading plugin "vtf.dll"...
Loading materials...
Loading shader program "default"...
Loading vertex shader "C:\Documents and Settings\Paul Leduc\Desktop\Downloads\lead/Shaders/default.vert"...
Loading fragment shader "C:\Documents and Settings\Paul Leduc\Desktop\Downloads\lead/Shaders/default.frag"...
Linking shader program...



The problem last time was older drivers but that's probably not the issue this time?

I'll have to pick up one of these cards and see for myself.

Thanks for testing!

this starts sickening me...
none of your demos worked for me.
only one of your early ones using stencil shadows...

Mine too halts at

"Linking shader program..."

Leadwerks Engine Version 0.2.8
OpenGL Version 2.0.6067 WinXP Release
OpenGL Vendor: ATI Technologies Inc.
OpenGL Render Device: RADEON 9800 Pro x86/SSE2
CPU Vendor: GenuineIntel
CPU Name: Intel(R) Pentium(R) 4 CPU 2.66GHz
CPU Speed: 2660 MHz


I need to contact Creative and figure out how to tell whether OpenAL is installed or not.




It's open source. You should be able to include re-distributables and not worry about it.

However, if you need to figure it out for some other reason (supporting multiple APIs), since it's COM based, you can search the registry for it's guid. If it's registered, it should be there, and consistent across machines.