Jump to content

Josh

Staff
  • Posts

    23,145
  • Joined

  • Last visited

Posts posted by Josh

  1. Just wondering are we to post any progress on the forums?

    Yes, this is encouraged:

    PROMOTE YOUR PROJECT: Promotion is a critical part of game development. Be sure to post blogs about your progress and post updates on Google+using the tag #AMachineForPenguins. Anyone with a Leadwerks forum account will be able to vote, so more fans equals more votes and gives you an advantage! (Other suggested tags are #ubuntu and #linux.)
  2. 1. I can build only 32bit executable. When I try to build 64bit I get many undefined symbols. Looks like Leadwerks libraries are ONLY 32bit. OSX & all apple hardware are 64bit for a long time. My project also should be 64bit. When I can expect 64bit version for OSX ? What about Windows/Linux ?
    At this time 32-bit library is provided. A 64-bit library will be provided in Leadwerks 3.1.

     

    2. I have OSX 10.8.5 & Radeon 6770M, so it supports OpenGL Core up to 3.2/GLSL 1.5. But in output log I see:

    Initializing OpenGL2 graphics driver...

    Initializing OpenGL...

    OpenGL version 210

    GLSL version 120

    Why engine initialise old version ? May be it uses compatibility profiler instead of core ? Can we avoid it ?

    The engine presently is requesting the older OpenGL version for wider compatibility. Leadwerks 3.1 provides an OpenGL 4 renderer, which requires OSX Mavericks (which isn't out yet).

     

    3. In log file I see several warnings.

    WARNING: Could not find vertex shader attribute 'vertex_binormal' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute6' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute2' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'vertex_tangent' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute5' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute1' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute7' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute4' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute0' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'vertex_normal' to match BindAttributeLocation request.

    WARNING: Could not find vertex shader attribute 'attribute3' to match BindAttributeLocation request.

    Is it normal or it's bug/incompatibility ?

    This is a weird case on Mac. There's no way to detect whether those attributes exist, and we always print out any info the GPU gives us, in case there is a warning the user cares about. Kind of a strange situation.

     

    4. What limitation of trial version in case of raw C++ coding I should expect ?

    It will stop working after 30 days, and it lacks some functionality.

  3. Hmm, I downloaded LE 3 trial (when it first came out) but only recently have time to try it, but I did not find the editor that user friendly. It does not flow for me in a similar way that v2 editor did not, which I abandoned early and did everything by code. Moving around in the viewport feels clunky but should feel fluid. I like Leadwerks and want the same big features as most, but it's not as polished on navigation and some simple easier features as it could/should be.

    Can you explain how moving around in the editor feels clunky? I don't understand what that means.
  4. Photoshop is just more user-friendly.

    User-friendliness is probably the biggest determiner of what software people choose. I know from experience it is much harder to write easy-to-use software than to just write software. The ease-of-use aspect of it is an entire layer of development beyond the core technology. It's probably 2-3 times as much work, and it has to be considered when writing the very core of the software. So dismissing Photoshop as being easier to use, that's like dismissing a brand of tires because they don't explode on contact with asphalt.

     

    There's basically two ways to write software. You can approach it from the interior, and think about what makes the source code the most elegant, the most maintainable, and the most pleasant experience for the developer. The other approach is to think about what makes the end user's experience the most consistent, least surprising, and most pleasant. Leadwerks 2 was written with the first approach. Leadwerks 3 is being written with the second one. The second approach is much more work because you are absorbing complexity so the end user doesn't have to deal with various details. For example, the Leadwerks 3 editor auto-detects file changes and automatically converts model and image files into our own formats. In Leadwerks 2, the user was expected to do this themselves with command-line tools. The change in Leadwerks 3 made the developer's life more difficult because I have to deal with the complexity of making sure that works on all systems, but it made the end users' lives much easier. This is generally a good tradeoff, because for every hour I spend making the software more user-friendly, thousands of aggregate hours are saved by the user base.

     

    Open-source software tends to be written with the first approach, because the user experience work is very tedious, generally just isn't fun, and there is no financial incentive to buckle down and do that difficult work. If the business model is centered around paid support, then there is actually a financial incentive to make it harder to use.

    • Upvote 4
  5. I would count the terminal as the biggest disadvantage of Linux. If the terminal didn't exist, Linux would be forced to fix so many problems. My outlook is that if the user has to open the terminal to do something, it isn't really a supported feature, so all my recommendations will be based on this idea.

    • Upvote 2
  6. Regarding Linux, I can't tell you in detail yet. On other operating systems we make C++ compiling as easy as possible. It just works out of the box, 95% of the time.

     

    In Linux it is possible for us to package dependencies with Leadwerks itself, and also with your games you export from Leadwerks. My inclination is to include everything rather than trying to be clever and save space, so I believe the process will be as simple as possible.

     

    We're already making headway in "cleaning up" the Linux experience for users. For example, I have discovered that Intel integrated graphics interfere with the detection of a discrete GPU, making it all but impossible to install graphics drivers. (Tentative, not officially confirmed yet.) If this is indeed the case, my position is that those CPUs are incompatible with Linux. This and other useful information we discover will be added to the Ubuntu wiki in a page of our recommendations.

    • Upvote 2
  7. In a word: Speed. When you don't have all those Windows background processes going, games run fast.

     

    OpenGL rendering in Linux is faster than OpenGL or DirectX rendering in Windows. The Linux community is doing work now to make it even faster, with performance in the neighborhood of 200% Windows performance, on the same hardware.

  8. Hey, does the license allow for SINGLE USER simultaneous installs on desktop and laptop - without having to go through activation/deactivation toggling...? I have a PC at work, but use a Macbook at home on the weekends...

    Yes, that's fine.
  9. I have that code in Main App.lua :

     

    function App:Start()
    
    --Set the application title
    self.title="test"
    
    ...
    ....
    
    --Load a map
    local mapfile = System:GetProperty("map","Maps/start.map")
    if Map:Load(mapfile)==false then return false end
    
    return true
    end
    
    
    function App:Loop()
    
    
    if self.window:KeyDown(Key.L) then
    Map:Load("Maps/start2.map")
    Time:Delay(1000)
    end
    
    ...
    ...
    
    
    return true
    end
    

     

    The problem is in the app loop calling : Map:Load("Maps/start2.map")

    says unknown function ? what did i missed laugh.png ?

    I copied and pasted this into the script editor to run it, but since it is not an actual runnable script I am not pursuing my investigation any further at this time.
  10. The axis argument is the axis to point, and I think he wants control of the axis it rotates around.

     

    If you want to rotate around the Y axis, find the XZ vector between the two entities. Something like this will do it:

    Vec2 v = entity0->GetPosition(true).xz() - entity1->GetPosition(true).xz();
    float angle = Math::ATan2(v.y,v.x);
    entity0->SetRotation(0,angle,0);

  11. Try adding this to the end of the RectangleTesselator::Computer function:

    surface->UpdateAABB();

     

    I am curious why you are duplicating the built-in terrain. That paper is describing almost the same exact technique I implemented. (Their geometry approach is a little different, but it looks like the texturing technique is identical.) Not that I mind.

     

    Their geometry approach is nice in that it would only require a few passes, although it would be more restrictive with LOD distances and max view range. Something to think about at some later point...

×
×
  • Create New...