A little extra information regarding the end of the Leadwerks Community Project.
Why did we stop
There are many reasons for ending the project. The most important reason is that we think the motivation and amount of time people will invest in the project will drop extremely once LE3 has been released. It was allways something that played in the back of our heads. What if we are halfway through the game development process and LE will be released. You bet your *ss that the project will be di
Hi all,
I'd like to introduce the game I've been working on since I purchased Leadwerks and am very happy with the results in the short time span. I have been working on games for as long as I can remember, however this is the title that I'm actually going to finish. This has turned out to be quite a long blog entry. I hope you enjoy....
The Title
The title of the game was always going to be a stand in name, however over time I have grown accustomed to it and it may stay.
The Co
The Sacramento Hacker Lab is a new facility of offices and shared workspace for tech startups and developers to work. They threw a party last night and Chris and I went.
I saw a 3D printer for the first time:
And I got to hold a printed replica of Admiral Ackbar's head. This lead to me randomly yelling out "IT'S A TRAP!" for the remainder of the evening:
The major players in the Sacramento game industry plotting to take over the world:
I think these 4x4's turn into robots
Since the birth of the internet, web sites have been constructed from HTML(HyperText Markup Language). Displaying web sites was a simple process that consisted of taking data and rendering static information to the users screen.
Things have become much more complicated, with animation, AJAX - a method of getting data from the server without reloading the page, and CSS (how web pages are 'styled'/themed'), yet the method in which these pages are displayed haven't changed but have been expande
I've been working with "Klepto2" to integrate the Scintilla text control into the new Leadwerks editor. Scintilla is very powerful and feature-rich, but is somewhat insane to work with. You've got to have a Scintilla expert onboard to integrate it successfully, which we fortunately do.
Previously, I was relying on calls to a Debug:Stop() function to control breakpoints. This was hard-coded into your script program, and breakpoints could not be dynamically added or removed. Since Scintill
Hi everyone,
Decided to do another blog on SCOT (Seventh Crystal of Theia) to keep you all up to date on the latest progress, get some good advices from you all, plus it keeps Roland and myself more motivated. And also, because it's great to make blogs, right?
Firstly, I'm not easily satisfied. I'm not trying to be perfect, but rather someone who's trying to get better.
So, after walking a few more times in the levels, I noticed that the look was kinda dull, and not as we wanted it to be
Step 1. Add your image files into the project directory. I just added a bunch of TGA files, and they show up in the editor right away:
Step 2. Right-click on a texture and select the "Generate Material" menu item.
Step 3. There is no step 3. Your material is ready to use. The normal map was automatically detected and added to the material.
Here it is in the material editor.
Step 1. Build the object you want to make into a prefab. Here I have staircase I want to make into a reusable object.
Step 2. Drag all the objects onto one, to make it a parent of the others. Prefabs need one top-level entity.
Step 3. Click on the top-most object in the hierarchy and select the "Save as Prefab" menu item. You'll get a file save dialog so you can choose the file to save.
Step 4. Begin using your prefab by dragging it into the scene from the asset browser
Setting up how a level works can sometimes be a tricky task, especially when the a games level appearance is more abstract than say a first person shooter where everything is as you would see it in real life.
My game is one example of these abstract level appearances. It Predominantly takes on a semi-top down dungeon style view where the roof of the level is missing so that the player can see inside the level.
The below video blog shows how I resolved a few issues that are inherent from
I thought I'd spend a little more time on this integration, using the laptop whilst watching the Olympics. The next phase was to automate the routines for NPC update and compacting the code routines. Ultimately, the idea is that after the scene is loaded, it will be parsed and flagged Dark AI objects, NPC's, Paths and Zones will be set up automatically via information taken from the relative lua scripts. Paths and Zones will be later, collision objects are done, so I was working on how to go abo
Approximately 3 years ago I quite my job out of frustration and began a project I didn't realize would consume almost 3 years of my life.
A lot has happened in the last 3 years including acquiring a new job and getting my hands on LE.
40,000 lines of code later I'm finally coming close to finishing this project.
This has been an incredible learning experience in the world of OOP and OpenGL and even helped me to land my first programming job.
From learning, to dedication and dete
After the first hour and a half I spent on this little exercise, I followed it up with another couple of hours. The basic integration now has an animation FSM. All still pretty crude and basic but a template to build on at some later date. The NPC's Entity script controls the models animation routines and gun attachment, the c++ application interfaces with the Dark AI library, and then uses messaging to communicate with the NPC Entity via lua script. Again this was just more experimentation and
My first blog entry yaay
Testing some shaders I did for an another direct3d engine a while back.
Rim lights or reflection are kind of cool because in real life when you look at a shiny car the reflections gets more intense the lower angle of attack you look at the surface.
So this is an attamept to mimic this, but you can also use it to background light your meshes.
To control amount of rim light I use some fresnel settings like this in the shader:
float Fresnel_Start = -0.1
Hi all,
Here's the latest news on SCOT ('Seventh Crystal of Theia'), formaly known as CELL.
Roland and me decided to change the name to SCOT, because it tells a bit more about the game, and also because it sounds good.
Roland and myself have been doing a lot of work, and the game is really starting to get shape.
We have similar ideas about the game, which is really nice, and we get along very good, so I would like to thank Roland for being such a great guy! Thanks, man.
Working as a te
I'm really shocked by how fast C++ can be. iOS and Android do not support GPU skinning, so I had to implement vertex-weighted skinning on the CPU. It took about a day to get running, and then I started optimizing code.
My test case was an 8400 polygon model. Each vertex could be attached to as many as four bones, but most just used two or three bones. To make it more interesting, I put the vertex weighting code inside a loop so it would be performed ten times instead of once.
When I
I am currently working with EKI One, working through its format and structure, getting to grips with the lua behavioural scripting side and trying to brush up on my c++ skills, actually brushing up on my c++ skills is an overstatement as I don't actually have any to brush up! .. lol, I have also been going through my Blitzmax code and trying to compile all the game mechanic functions and methods into a single .mod, trying to keep things tidy. Whilst going through my **** drive, I mean, my well o
This year, Halloween makes an early arrival. Either that, or Josh is working on animation!
Obviously this is wrong, but it's only a few lines of code away from being right, and I'll figure it out.
Skinning in the new game engine is done on the CPU. You don't have to assign a special shader to make an animated model appear, but it is slower than GPU skinning. I can distribute the load across CPU cores, but no matter what we're not going to have free skinning like we do with Leadwerks E
So You're Not Good At It...... Then Get Off Your Butt and Get Good at It!
As I started my last blog off with a lessons learned I thought I would continue the trend in all of my blogs and share a bit of what I have recently learned.
More often than not, as game devs we have our weaknesses in certain areas of game dev that just makes things that much more difficult. Some of us are great programmers but bad at art, some of us are good artists that are bad at programming and of course.... t
The Mistakes of the Past
I just wanted to start this blog with a bit of a lessons learned. I've attempted to make some games with LE that in hind-sight were way too complex.... 50x too complex for the amount of time / resources that I have available. This is a common mistake and it is so easy to make it. So I decided to deal with the problem once and for all.
After failing a few times I decided to have a long hard think. I decided, you know what, KISS dammit. Keep It Simple Stupid. Simple d
Scripting support is very important in the new engine. The script implementation in the old engine was great for quickly adding animation and simple behavior to objects, but wasn't capable of supporting advanced gameplay. I've put a lot of work into our implementation of Lua script to bring it to a new level.
In the old engine, if a script error occurred the program would simply crash. The new engine supports detailed error handling and will automatically open files and show you where an
Here's the layout for pure Lua applications. This will run on Android, iOS, Windows, and Mac, with no third-party compilers to mess around with. And because it's JIT compiled by the engine itself, it's fast:
--This function will be called once when the program starts
function App:Start()
--Set the application title
self.title="Darkness Awaits"
--Create settings table and add defaults
self.settings={}
self.settings.vsync=true
--Load the user's settings
self:LoadSettings()
We're getting to a point where we need to establish the final directory structure for the new game engine, and start using it. Here's what you see when you open "C:\Leadwerks" (or on Mac, "\Applications\Leadwerks"):
The "Editor" folder contains the editor executable and support files.
The "Engine" folder contains header files, compiles libraries, and BlitzMax include files.
The "Help" directory contains local help files.
The "Projects" directory is where your projects go, by d
Hi everyone! Sorry for the delay on the particle updates, in repentance I attempted to make a videoblog...please ignore the horrible editing and narration!