-
Posts
24,625 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by Josh
-
I don't know if that was even implemented in 2.25. I think your physics objects will have problems if you are moving the submarine without using physics forces. There are commands to calculate the forces to move or rotate a body a certain way.
-
Either: light:Move(Vec3(1,2,3)) light:Movef(1,2,3) I will try to add the "f" version for every command.
-
They would all be parented to the scene pivot, which you could move around, but if you are trying to use physics it would get messy. I think you could just roll the camera if you want to simulate motion when inside the sub.
-
Leadwerks Engine 2.3 has been released. This major update includes a new editor, Lua script integration, forest rendering, roads, and more. Lua Script Integration: Write object scripts and write your game in any programming language, or you can write your entire game in Lua. New Editor: Leadwerks Editor is our new tool for creating enormous terrains, placing objects, and creating worlds. You can even edit scripts and see the results instantly. Forest Rendering: An advanced new rendering algorithm makes it possible to render hundreds of thousands of trees and plants, at playable framerates. Make dense forests that stretch for miles. Roads: Build spline-based roads and paths in the editor. Roads can branch, stretch, and fade out. You can even go for a drive on your highways and byways in the editor. Terrain Holes: Remove patches of terrain and go underground with caves and bunkers. This feature brings a new subterranean dimension to your games. High Dynamic Range (HDR): Brights are brighter, and darkness is darker. High dynamic range allows a greater range of color to be displayed, with automatic iris adjustment to correct for the ambient lighting environment. Animation Improvements: Characters can have up to 256 bones, with fast hardware skinning performed on the graphics card. Rendering Framework: It's easy to toggle advanced effects on and off, in any combination, with commands like SetBloom() and SetHDR(). On Lua Like many programmers, I used to consider scripting languages to be a "toy": They are nice and easy to use, but ultimately I thought it was just programming for people who don't want to install Visual Studio. I started playing with Lua back in June of 2009, and the potential for this wonderful language quickly became apparent. Our integration of Lua allows script to be written on both a global and per-object basis; You can write your entire program in Lua, like you would with C++ or another language, or you can write a script specifically for one object class, with different predefined functions to be called during the program. There are functions that can be called when an object hits something, when it is created, or once every frame to update the object. Object scripts can be used together with C++ or another programming language. This means that anyone who uses Leadwerks Engine, with any language, can download a scripted object, drop it into their program, and have the same behavior working in their own game. The implications of this are immense. Suddenly we found that instead of being a collection of a few hundred individual programmers, the community suddenly became a collaborative, collective group. If one developer writes a script for a scary monster and posts it online, another user can download it, drop it into the editor, and see the results, with no code changes. You can even edit the script in Leadwerks Editor, save it, and instantly see the results. For the first time, developers could easily work together and share their creations, and still use whatever programming language they preferred. Lua has changed the whole feel of the community to a more social and cooperative group. Keeping it Real-time Our design philosophy for Leadwerks Engine is that everything should run in real-time, and thus be editable in real-time. Lighting and physics are already editable in real-time with instant feedback, but it took some time before I realized we can extend this approach to something else: programming. The new editor has an integrated script editor. To edit an object's script, you simply double-click on its node in the scene tree. You can view all the code that makes the object to whatever it is doing. You can also make changes to the script, save it, and the object's behavior is instantly updated! The lack of a compiling phase allows you to fine-tune behavior to get it just the way you want. Plus, it's a just lot of fun to use. For an in-depth description of our Lua implementation, see here: http://www.leadwerks.com/files/Tutorials/Lua/Getting_Started_With_Lua.pdf The Road to Perfection Roads look nice, but the reason I really like them is they allow new dimensions of gameplay. When I started off writing the road editor, I had a few requirements. I wanted the roads to be written entirely with Lua object scripts. This was a challenge, and forced me to add several features to the script integration to make it work. I also wanted roads that aligned perfectly to the terrain, like they do in Crysis. First I wrote the mesh generation routine that makes a spline-based road. This is fairly simple, but it is only part of the problem. The biggest challenge was slicing the road up by the terrain grid, so that every vertex on the road lined up along the terrain, and the whole road lay perfectly snug. UV mapping the tessellated road was another major challenge, but a clever solution was found after many attempts. The resulting roads look great and conform perfectly to the terrain. And they're fun to go driving on! Seeing the Forest for the Trees The forest rendering algorithm is my favorite new rendering feature. The bulk of this was written in the spring of last year, but there were a few details I didn't complete until recently. I spent hours playing with the Crysis editor and trying to figure out how they heck they were able to render so much foliage. I read article after article, but no one seemed to have a good approach. Most of the forum discussions on graphics development sites seemed to amount to just saying "use billboards". The problem is that rendering 100,000 billboards is still a major challenge. The solution was found by analyzing what format data the GPU will render most efficiently, and then working backwards to find a way to get the vegetation in that format. The solution is elegant, and seamless to the end user. There's no baking or pre-processing. You paint as many trees and plants on the terrain as you want, and it just works. I still have some more ideas to implement, like destructable trees and even better efficiency, but I am quite happy with how it turned out.
-
Why does the interior of the submarine need to move around? Do submarines have windows?
-
That's a pretty good summary.
-
This sounds like a good idea to me.
-
Click on one object, drag the mouse, and release on another to create a link.
-
http://cop.stalker-game.com/?page=news&subpage=1&item=150 Interesting that it looks almost identical to our engine.
-
Last week I was researching the XBox and PS3 platforms. An XBox version of Leadwerks is technically feasible, and though the cost is considerable, it's not a barrier we can't cross. However, obtaining the development license from Microsoft will be much harder. Basically, they are unlikely to sell a development license until this engine has gained more users and had a couple of commercial games released. So we'll just keep improving and building momentum, with the eventual goal of expanding to the consoles. Even if you can afford the licensing fees for your own game, you're not going to get an XBox development license without having already published another successful game. So it seems we need to first focus on the PC, and then spread out when we are ready. There's still the MacOS version coming, and possibly a Linux one, if the demand is there. The editor and tools will work on all three operating systems with no code changes.
-
There is now a "Tools and Utilities" section where you can store your files.
-
Don't have a clear idea how it works, but I am interested.
- 6 comments
-
- coroutines
- wait
-
(and 2 more)
Tagged with:
-
...due to the way that particular script is written. It could be written so it doesn't need those values at all.
-
Maybe stable releases can be made into conventional installers in the future. What country are you in?
-
I don't think you want to have to re-download the whole SDK every time I make a small fix. We used to have to wait weeks between updates. Now I can fix small problems instantly.
-
That should work perfectly.
-
What kind of internet connection do you have? It's also probably going to be slow right now because so many people are using it.
-
Make sure the "Scripts" folder is in the same directory as your program: // ==================================================================== // This file was generated by Leadwerks C++/LEO/BlitzMax Project Wizard // Written by Rimfrost Software // http://www.rimfrost.com // ==================================================================== #include "engine.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { Initialize() ; RegisterAbstractPath("C:/Program Files (x86)/Leadwerks Engine SDK"); SetAppTitle( "MyGame" ) ; Graphics( 800, 600 ) ; AFilter() ; TFilter() ; TWorld world; TBuffer gbuffer; TCamera camera; TMesh mesh; TLight light; TMesh ground; TMaterial material; world = CreateWorld() ; if (!world) { MessageBoxA(0,"Error","Failed to create world.",0); return Terminate(); } gbuffer=CreateBuffer(GraphicsWidth(),GraphicsHeight(),BUFFER_COLOR|BUFFER_DEPTH|BUFFER_NORMAL); camera=CreateCamera(); PositionEntity(camera,Vec3(0,0,-20)); //================================================================ // Here is the code I added //================================================================ SetGlobalObject("world_main",world); LoadModel("abstract::windmill.gmf"); //================================================================ // //================================================================ material=LoadMaterial("abstract::cobblestones.mat"); mesh=CreateCube(); PaintEntity(mesh,material); ground=CreateCube(); ScaleEntity(ground,Vec3(10,1,10)); PositionEntity(ground,Vec3(0,-2,0)); PaintEntity(ground,material); light=CreateDirectionalLight(); RotateEntity(light,Vec3(45,45,45)); // Game loop while( !KeyHit() && !AppTerminate() ) { if( !AppSuspended() ) // We are not in focus! { // Rotate cube TurnEntity( mesh, Vec3( 0.5f*AppSpeed() ) ) ; // Update timing and world UpdateAppTime(); UpdateWorld(AppSpeed()) ; // Render SetBuffer(gbuffer); RenderWorld(); SetBuffer(BackBuffer()); RenderLights(gbuffer); // Send to screen Flip(0) ; } } // Done return Terminate() ; }
-
LoadScene(), just like in C++.
-
I'm taking a short break before I swap GPUs to fix that ATI shader error. There are now 110 Leadwerks Engine 2.3 users. I did not think the number would be nearly that many. I am most interested now in documentation, tutorials, and examples as well as improving existing features. With C++, it wasn't worth diving too deep into game tutorials, because only 40% of the programmers would find it useful. Furthermore, it is harder to design useful game components that are easy for users to learn from. With Lua, I don't feel like I am wasting my time. Everyone can understand Lua, and even if the code gets turned into a compiled C++ program, it still gives all programmers a starting point they can learn from. It also gives us a common language we can talk to each other in and share scripts. I'd still recommend C++ or BlitzMax if you know what you want to make, and have high performance demands. But I think Lua is fantastic for smaller games, prototyping ideas, and learning.
-
It isn't possible, which is why we specialize in doing it. Okay, okay, it's actually Julio Jerez that gets credit for this feature. I just wrap his commands up in a way so they are nice to use.
-
When you have what's coming, you won't need a tool because there will be no pre-made break pieces.