Jump to content

Blogs

12-22-9

Working to improve the implementation of the code known as framework. It needs to be able to talk to Lua, with all programming languages. I can't really go on documenting the script until this is finalized, so the time to do it is now.

Josh

Josh

12-18-2009

This is a good idea to keep in mind, especially with something like software development:   "Don't judge each day by the harvest you reap but by the seeds that you plant." -Robert Louis Stevenson

Josh

Josh

12-17-2009

Well, the single-state lua update is out and I am ready to start making tutorials again.   Someone in the forum pointed out the game Fuel to me. This is an offroad racing game with a nearly infinite world. The data is streamed off the hard drive, basically like its treating the drive as if it were extended RAM. The game got bad reviews, but I think it's great. I went driving for at least 30 minutes and covered mountains, desert, redwood forests, and ravines. I'm in love with the terrain engin

Josh

Josh

Revisiting my code

Hi there,   While spending some days in hospital without internet connection I have used the time (not much) to revisit my existing code for my tools and I have found some things i will no get on:   First the Batch converter:   I have started to reprogram it, not everything but the whole internal structure will change a lot. I have found a lot of design errors which are too heavy to fix and reprogramming it with using some old components seems faster and cleaner to me. I believe that

klepto2

klepto2

Multithreading can be cores times slower or cores times faster than single threading

I added multithreading capability to the Siipi speedtest tool, and it showed surprising results: Looping got almost number of cores times faster, but allocating memory got almost number of cores times slower!Here's the test with the first part using 4 cores, and 2nd part using 1 core (as before):Speedtest 1.1 © 2009 SiipiCounting 10 billion floating points using 4 cores...thread 1 begin=25000.000000thread 2 begin=50000.000000Main loop begin=0.000000thread 3 begin=75000.000000thread 3 loop ended

Canardia

Canardia

Why can't a day have more hours?

Just a small update and an information why everything is progressing so slowly with my tools.   Unfortunatly (well, not really) I'm currently full of work with my daytime job (project deadlines, new features, etc.) that I'm currently don't have much time to do some private programming. This weekend I have some freetime i will spend to fix some bugs with the batch texture converter and coninue with my work on the asset builder.   Hopefully I'm able to post some progress soon.

klepto2

klepto2

Layers and Outlines

I've recently started to use Layers for web apps, and Outlines for Notes apps. And they give a better development speed.However, Layers have also some problems:1) They don't scale with the web browser window like tables do2) When replying with history to an Notes e-mail, layers get all screwed up, so you can only use tables in Notes, but for web apps Layers are still quite goodOutlines for Notes apps totally rock though:1) They expand vertically when you expand their entries (like with subviews)

Canardia

Canardia

Moving without foot sliding

When your NPC moves it may move at different speeds, especially if you are using some sort of steering. This presents the problem of what speed should you play your walk/run animations. My solution is to analyse the animation and see how far the foot travels from start frame to end frame and when animating play the correct amount of frame(s) for the distance.   Here’s the code:-   #include "anim.h" void animItem::calcAnimDist( TEntity e, TEntity bone ) { TVec3 startPos; TVec3 newPos; TVe

Chris Paulson

Chris Paulson

Debian 5.0 GNU C++ makes the fastest code

MinGW 3.4.5 C++ vs. Visual Studio 2008 C++ vs. GNU C++ make quite different quality in speed of executable code.Currently MinGW is 1.902 times slower than VC++, and VC++ is 1.315 times slower than GNU:MinGW default:Speedtest 1.0 © 2008 SiipiCounting 10 billion floating points...Done. i=1410063201, n=100000.000003, time=41.594000s.Creating and deleting 1 billion class objects...Done. i=100000000, time=16.937000s.Total time=58.531000s.VC default:Speedtest 1.0 © 2008 SiipiCounting 10 billion floati

Canardia

Canardia

Line Of Sight/Vision

For NPC AI to work they have to have simulated vision. This is done by using raycast/linepick.   My vision system does the following:-   Takes into account head position - using head bone Takes into account rotation of NPC spine bone (used for aiming) Build list of enemies in view range Takes into account FOV It looks through each of the ememies bones to see if any part of the enemy is visible. It returns location of the first bone found. This is to make sure enemies are still seen even

Chris Paulson

Chris Paulson

December 8, 2009

Rewrote the scripts that needed to be done with the OO single-state system. Just a few things to wrap up now and I will have it available.

Josh

Josh

Managed C# Leadwerks Library

Lazlo just released his managed C# Library for use with Leadwerks!   C# Headers   The Object-Oriented layout of this library is wonderfully organized, just like a game engine library should be! With this code the objects aren't stored as pointers, but classes. All of the same features are structured, and each object has related functions to the types of entities per Namespace.   Every .Net Leadwerks developer should download this library.

Rekindled Phoenix

Rekindled Phoenix

Why Apple Fails

Their prices are more than 250% the price of a comparable PC. Even their "most expensive" laptop is using a budget GPU! So for less than half the price, you can actually get a laptop with a much better GPU!   $999: http://www.newegg.co...=laptop%209800m   $2499: http://store.apple.c...mco=MTM3NDcyOTc   Just for fun, I checked all the most expensive options. The grand total was $7305.35. Who spends $7000 on a laptop with a budget GPU???   I can't believe how dense their management is.

Josh

Josh

December 7, 2009

It's 12:30 in the morning, but I have the model scripts working the way I want. Thanks to "Nilium" for his tips, and to everyone who gave their feedback. I am confident in this revision. I have a lot of scripts that need to be slightly altered, but it's just a matter of adjusting the function structure, not really changing any existing code.   Here's the light_ambient script: require("scripts/class") require("scripts/linkedlist") local class=CreateClass(...) function class:Spawn(model) lo

Josh

Josh

Lua work

I've been revising the Lua design a bit. Ideally this should have been done six months ago, but I did not realize how popular it would be. During beta testing there wasn't much interest in it. That's understandable, because no one likes using beta software. As soon as it was released, suddenly there was some very advanced stuff being implemented immediately. This is great, and I can see my thoughts about how it would benefit us were correct. It also made me want to implement a single-state syste

Josh

Josh

What a behviour code segment looks like behind the previous strange code

In a previous blog entry I showed a code sample of the behaviour tree. In the code below is the code that is fired for each behaviour.   The return status mean: -   RUNNING - Keep on running the behaviour FAILED - Exit this behaviour with error (has different effect depending on sequeance/selector/parallel node. COMPLETE - Exit this behaviour with complete (has different effect depending on sequeance/selector/parallel node.       #include "actor/include/action.h" #include <aliv

Chris Paulson

Chris Paulson

My leadwerks loader for recast

Here's the code that loads in the verticies to recast:-   Include:-   #ifndef MESHLOADER_SBX #define MESHLOADER_SBX #include "leo.h" #include "MeshLoaderObj.h" class rcMeshLoaderSBX : public rcMeshLoaderObj { public: TEntity scene; int vcap; int tcap; int nidx; rcMeshLoaderSBX() { vcap = 0; tcap = 0; scene = NULL;}; ~rcMeshLoaderSBX(); void addVertex(float x, float y, float z, int& cap) { rcMeshLoaderObj::addVertex( x, y, z, cap); } void addTriangle(int a, int b, int c, int&

Chris Paulson

Chris Paulson

DoWait(), DoSound(), DoMoveTo()

I got all 3 of these functions working. I'm working on an script to show how these 3 will work.   DoSound(cr, 'abstract::hello.wav') DoMoveTo(cr, fw.main.camera, GetEntityByName("pivot01"), .05, 1) -- moving the camera to the pivot named pivot01 at a rate of 0.5 and it'll stop when it's at a distance of 1. This move function doesn't use physics. Another function will use physics for movement.

Rick

Rick

Entry 0

This is my first blog and I'll be using it to document my progress with the Leadwerks engine.   ATM I am still waiting for the parts to arrive for the PC I bought to run the LWE. This will be my first real 3D capable PC and my first concerted effort at 3D game programming. In the past I've only ever used older computers with integrated video cards, as I preferred the look of pre-rendered 2D RPGs like the classic Fallout 1, or Baldurs Gate to 3D games. However after watching the awesome Leadwer

Davaris

Davaris

The first toddler steps of AI

Youtube video of my AI.   Red line is path found by recast. White text is current behaviours running in behaviour tree.       Here's what the BT looks like (yes it is C++) alive::Node* moveToEnemy(std::string type = "walk") { return alive::TreeBuilder() .execute<ActionMoveToEnemy>() .type(type) .end(); } alive::Node* resetToStart() { return alive::TreeBuilder() .composite<alive::SequenceNode>() .execute<ActionCurrentMode>() .mode("resetToStart

Chris Paulson

Chris Paulson

Realtime Programming

I was just adding wheels to my airplane, and noticed how much time the realtime LUA programming saves me when I was adjusting the positions of the wheels to their exact position. Having the airplane model positioned and zoomed on my screen, I added some code to load and position the wheels, and after each character change in code (like finding the value Vec3(0,0.125,2.01) for the front wheel), I pressed Ctrl-S and saw the result immediately on the screen.   Using C++ or any other compiled lang

Canardia

Canardia

×
×
  • Create New...