Jump to content
  • entries
    945
  • comments
    5,899
  • views
    929,913

About this blog

Learn about game development technology

Entries in this blog

Some sample LE3 code

Here's some LE3 code for a simple program. The Graphics / Window stuff is not worked out 100%, and it's a little tricky because of the different operating systems and different kinds of windows.   I think we'll see a little more consistency across various languages with the LE3 syntax. It was suggested that the C syntax use the following scheme: verb-class-noun SetEntityPosition() GetMaterialTexture() I agree with this suggestion.   SetGraphicsDriver( OpenGLGraphicsDriver() ); Cre

Josh

Josh

Move over, StarFox

I was determined to get 3D graphics working this week, and I did it. Behold, a box, now with *3D PERSPECTIVE*.   Making another variation of the infamous "my first box" demo with OpenGL is certainly nothing to brag about. However, there is quite a lot of code in use beyond just a simple hard-coded demo. The materials, shader, file system, camera, surface, graphics, math, and entity classes are all functioning at various levels of completion. I coded these systems and then used them to

Josh

Josh

Pump up the volumes

Shader class...done. Surface class...done (pretty much).   One change in LE3 is the addition of .shader files. This is just a text file with a list of shader components: vertsource="mesh.vert" fragsource="mesh.frag" Your material file then just has to reference a single file: shader="mesh.shader" Of course, you'll be able to just drag the shader file onto the material shader property in the editor to assign it. You will never have to use Notepad, for anything.   Now working on

Josh

Josh

Picking Up St(r)eam...

I'm making good progress on LE3 now. First I had to write basic functionality for things like strings and file access. It was tedious, but now that it's done I've got a nice library of functions that make programming all that much easier. The string commands include Trim(), Split(), ExtractExt(), StripDir(), etc. I know the Boost library has some functionality like this, but I'd like to avoid relying on third party libs whenever possible. I've also got the file system working, with a FileFa

Josh

Josh

Double rainbow all the way across the sky

Here is the amazing first shot of Leadwerks Engine 3. Behold not one, but TWO triangles! It's a dual display of isosceles inspiration.     Believe it or not, this screenshot actually demonstrates a feature that's new for LE3...hardware multisampling. Look carefully at the edges of the triangle:     This isn't the first time I've done multisampling, but until now it hasn't been possible to use with deferred rendering. It's now possible to combine these techniques with OpenGL4. You'

Josh

Josh

Week 3

The last two weeks were mostly me wrestling with C++. I had promising results with a meta language that translates to C++ and compiles, and also learned how to create makefiles as a result of that. I tried CodeLite and CodeBlocks, in addition to MS Visual Studio. I finally settled on CodeBlocks.   Codeblocks can be configured pretty easily to use GCC, the MS C++ compiler that Visual Studio uses, as well as about a dozen others (very curious to see if LE3 compiled with the Intel compiler is

Josh

Josh

Week 2

What an interesting first week. I compiled a C++ program for Android, made a programming language, learned about iPhone development, and figured out a lot of C++ stuff I did not know.   It's nice to see that a port to Android will work pretty much like I was hoping. I just write an abstract driver for every system, and have specific drivers that extends that class: class GraphicsDriver {} class GL4GraphicsDriver : public GraphicsDriver {}   Then when you have something like a surface tha

Josh

Josh

Friday

My little precompiler is going well. It creates makefiles and can split a build up across multiple files. I am working out the interface with external libraries. Here's an example program: Print "Hello World!" And here's the code it outputs and compiles: #include "Hello World.h" using namespace codewerks; //============================================= // Main Loop //============================================= int main(int argc, char* argv[]) { Print(std::string("Hello World!"));

Josh

Josh

Day 1

Production of Leadwerks 3 begins today!

Josh

Josh

Assets product section now open

We're finally offering our first product in the new assets section of the site. I have wanted for a long time to have a means where assets can be produced and sold in a sustainable manner. I am very interested in working with third-party sites that produce game artwork. Orders are still processed by hand, but we're working on a system to automate things. You can be sure I won't let anything into the product listing unless it is 100% game-ready for Leadwerks Engine.

Josh

Josh

Moving forward with Leadwerks Engine 2.4 and Leadwerks 3.0

I feel like you guys are owed an explanation of our long-term strategy, and now that I have definite plans I am happy to reveal them to you.   I've been spending a lot of time in the Silicon Valley area, and have learned a lot about business. We've been investigating external investment. I believe we could raise pretty much any amount of money we want, based on the fact we already have an existing business that is self-sustaining, and we have a great strategy. However, money does not necess

Josh

Josh

The Zone video (take 1)

I recorded some clips from Dave's latest version of his scene he is working on. Somehow he managed to get more detail and faster speed. The octree optimizations in version 2.32 help a lot here. The renderer is really good at dealing with lots of small objects strewn across a scene, even if it did take some trouble before we got it working completely right. So here's a short video we'll be using to showcase the capabilities of Leadwerks Engine:   Please share this on Facebook, Twitter, YouT

Josh

Josh

OnLive Lives

I signed up for a free year of OnLive. I received a response email within 24 hours, so I think they just are choosing applicants based on connection speed and location. I've been extremely skeptical of this service, but I can report that it works, and it doesn't suck. I can play UT3 on my netbook. There is some slight lag, but it's not bad. Fast mouse looking can amplify it, so I slowed down my mouse speed to compensate. I had no trouble getting headshots with the sniper rifle, and the gam

Josh

Josh

Downtime

First, I want to apologize for the server issues we have experienced this week. With the amount of activity we have coming through the site, it is inexcusable to have any downtime.   The server is reverted to the state it was about four days ago. If you have any important information from the last week you want to save, replace the domain name of the url you want to access with "69.163.255.164". For example, here is the link to the blogs on the other server: http://69.163.255.164/werkspace

Josh

Josh

Bug-fix week begins!

There were numerous small issues related to the 2.32 release, but I am chipping away at them: http://leadwerks.com/werkspace/index.php?app=tracker&showproject=1&catfilter=2   I'm not going to add any new features until every bug is fixed.   Remember that the more complete and easy to reproduce a report is, the faster it will be to fix. Thanks for the feedback!

Josh

Josh

Some hints of 3.0

This is a quick blog to fill you in on some of the features planned for Leadwerks Engine 3.0.   -Any entity can be a physics body. The body command set will become general entity commands, i.e. Entity.SetVelocity(). You can make an entity physically interactive with Entity.SetShape( shape ).   -Any entity can have any number of scripts attached to it. The basic model script functions will be supported for all entities, plus specialized script functions for certain entities. For example,

Josh

Josh

Persistence

Version 2.32 is the biggest internal change in the engine in a long time. It's also the last time version 2.x will undergo this extensive of additions.   LuaJit2 was implemented for fast Lua execution. This initially caused some BMX programs to not compile with the included modules.   The rendering buffer storage scheme was modified somewhat in preparation for a new feature that is unannounced.   Roads and saved to and loaded from SBX files, so they don't have to be generated at runtime.

Josh

Josh

Firefox Explorer

I like standard interfaces. I like the consistency of having all programs look the same. That's why web browsers bug me a lot sometimes; They each have their own unique look. It's disappointing to me how Microsoft has gotten away from this idea. Why oh why can't Windows have skins? But I digress.   In terms of performance, my favorite browser would probably be Opera. In terms of appearance, my favorite is Internet Explorer 6. I know, web designers hate it for its quirks. I don't use i

Josh

Josh

Everything in its place

I've been working a lot on the business side of Leadwerks lately, and although the results aren't yet visible, it's important to ensure our long-term goals are achieved. I wish I could say more right now.   My main machine is back on Windows XP. I don't want to discuss the relative merits of operating systems, but for me Windows XP is more productive. Other people might not work the way I do, so they will have their own preferences, and no one is "wrong". That said, I am surprised with ho

Josh

Josh

Sunrise, sunset

Day/night cycles are something I have thought about for a long time. There's several possible approaches to simulating these, but it wasn't until today that I decided which is best. Here are some options I considered:   1. Shader-based skies with particle clouds. This is the method Crysis employs. A subsurface scattering shader creates the sky background. The mathematics are pretty complex, but the results for an empty blue sky look great. Particle clouds are used to place sparse clouds

Josh

Josh

Lua Debugging

Until now, we haven't really had proper debugging info when a crash occurs during execution of a Lua script. Thanks to some previous work TylerH did with Lua, a conversation with him revealed how to easily add debugging info into the editor and script interpreter. (Incidentally, the Lua integration was Tyler's idea to begin with!) Here's a shot of the Script Editor catching an engine crash and displaying the script line the error occurs at. This is a crash that occurred in the engine, not a

Josh

Josh

Picking up speed

Lots of things are happening around here right now!   First up, we've got some free professionally made animations for you to use with our futuristic soldier character. You can download the files here.   Michael Betke of Pure3D has been cranking out AAA-quality 3D models ready to use in Leadwerks Engine. The following sets are available: Birch Trees 1.x (€22,00) Pine Trees 1.x (€22,00) Ground Plants 1.x (€19,00) Each set features new unreleased content. Buy a couple today

Josh

Josh

×
×
  • Create New...