Jump to content

Wolfsong

Members
  • Posts

    26
  • Joined

  • Last visited

Posts posted by Wolfsong

  1. For this lesson here:

    http://www.leadwerks.com/werkspace/page/tutorials/_/loops-r17

     

    I want to see if I'm understanding something right. Though the lesson is about loops (which I do understand) I'm particularly interested in the bits about creating a Window and then a Context (which I'm not sure I understand).

     

    ------------

     

    --Create a window

    window = Window:Create()

     

    --Create a rendering context

    context = Context:Create(window)

     

    --While loop

    while window:KeyHit(Key.Escape)==false do

     

    --Set the drawing color and clear the screen

    context:SetColor(0,0,0)

    context:Clear()

     

    --Set the drawing color and blend mode

    context:SetColor(1,1,1)

    context:SetBlendMode(Blend.Alpha)

     

    --Draw some text onscreen

    context:DrawText("PRESS ESCAPE TO END THE PROGRAM.",2,2)

     

    --Update the screen

    context:Sync()

    end

     

    ---------------

     

    So, in this example, are we creating a Window which is then identified as 'window' - and then the Window ('window') is being assigned as the Context or "focus" of the following instructions?

     

    So, using 'context:SetColor(0,0,0) would be the same as using window:SetColor(0,0,0)?

     

    Am I understanding that right?

     

    If so (or even if not), why would the line:

    while window:KeyHit(Key.Escape)==false do

     

    not be:

    while context:KeyHit(Key.Escape)==false do

     

    ?

     

    Or is hitting the Escape Key something that can only refer directly to 'window' as that relates directly to the actual Window, and not to 'context', since that relates to the variable 'window'?

     

    Hopefully I explained that well lol.

     

     

    Anyway, thanks!

     

    Edit: Tried to place the code inside Code tags, but it ended up adding a ton of color tags.

  2. Its exactly the same thing in reality. The colon is for implementing methods that pass 'self' as the first parameter. So object:method( argument1, argument2 ) is the same as object.method(self, argument1, argument2 ) - where 'self' is the object.

     

    I would suggest you spend more time on lua specific programming sites to learn more about the language. I use these two for reference:

     

    http://pgl.yoyo.org/luai/i/_

     

    http://www.lua.org/pil/contents.html

     

    Ah.. Thanks for the links. I'd checked the lua.org one, but really didn't like how they presented the info. I'll check the first link out, though.

     

    Edit: Hmm... looks like that other link suffers the same problem of explaining one concept by throwing around terminology for a bunch of other, unfamiliar ones, which is what I was describing before.

     

    Maybe I'll just try and find a good book on it lol.

     

    Thanks!

  3. Hey, Rick.

     

    Thanks for the explanation.

     

    I wish I was the type who was more "that's how it is because that's how it is". Sadly, I'm not. I've never been able to learn through pure memorization. I really need to understand why I'm doing what I'm doing. Why should I do it "this way" instead of "that way"?

     

    So, while others likely just copy and paste, or type in the code in that example from the marble project, and move on. My brain sees an apparent discrepancy that isn't immediately obvious to me, and now "I need to know what's going on there". It becomes "Why is it . in one case, and : in another? It must be important in the context of the tutorial, so it's something I should understand and not just skim over it, or it'll come back to bite me in the rear later in some unrelated project". Until I'm satisfied that I understand that, my brain won't let me move on to the next thing. It's awful and I hate it, but well... That's why I like tutorials that start really simple and explain everything, leaving nothing un-explained, so you're building on knowledge as you go forward.

     

    I hate my brain sometimes lol

  4. TL;DR: Josh should write/sell a beginner's book on Lua programming. Even just an e-Book. I think he could do an excellent job of it, and make many people happy.

     

    Long version:

    To be clear: This post has nothing to do with Josh's tutorials here. His explanations are actually pretty clear and he does a better job of explaining things than almost anyone I've read/seen teaching programming in any form. For one, he uses analogies that can be understood by people unfamiliar with the subject matter, making it easier to grasp what he's explaining. It can't be overstated how helpful that is to someone who feels like they're staring at code from The Matrix. That's how tutorials for completely new users should be done, in my opinion. Josh, you should write a book on learning Lua for beginners. I'd pre-order it.

     

    That said...

    So here's a good example of why I find learning Lua (or any language) so impenetrable. Maybe other new users, or those who can remember back to when they were new can understand where I'm coming from.

     

    Basically, I'm finding that - almost universally - people who write tutorials for programming, to be blunt, suck at it. They seem to have zero grasp of the concept that they're explaining things to complete beginners who do not yet have a grasp on all the terminology they throw around and take for granted. And so they launch into explanations using terminology and explanations that then need explanations, which then need explanations, ad infinitum. It becomes this ever-deepening rabbit hole of needless complexity and confusion - all over something that probably could have been explained perfectly clearly using common terms that new learners can understand, were someone more qualified to teach the concepts doing so (such as Josh).

     

    I'm going through the Marble Tutorial and directly into the first part, I've hit something where I'm wondering "Well that's weird, why are those things different?"

     

    Specifically this bit:

    function Script:Start()
    --Create a camera
    self.camera = Camera:Create()
    --Update the camera
    self:UpdateCamera()
    end

     

     

    I'm looking at it, and wondering why is it self.camera in one case, but self:camera in the other? What's the difference between . and :? So, I go to Google. Several results later, I'm not quite sure I understand it, because the explanations launch into terminology that assumes previous knowledge of the language.

     

    For example... This page

     

    Now, the author of that article seems to understand they're relating this information to new Lua programmers. They specifically indicate that new users tend to be confused about the difference between the two. Perfect! They get it! This should totally clear it up. Wrong. Instead, I see paragraphs like this:

     

    In the first example, string is the object and len is one of its methods (in this case, it gets the length of the string). The second example calls the Runtime object’s method addEventListener, along with some parameters/arguments.

     

    Umm... What? Is that *really* how you explain something to someone new at Lua? So now I have to go looking up the definition of 'len' and 'methods' and 'string' and 'runtime' and possibly other things... just so I can, hopefully, understand the difference between . and :. Maybe I'm crazy, but if you're trying to explain new concepts to someone unfamiliar with the subject matter, referencing other potentially unfamiliar concepts to do so is probably not the best approach.

     

    This is why I find most "newbie" programming tutorials to be counter-productive. The authors have no idea how to convey concepts to people who have little if any understanding of the subject. They write as though they're speaking to another programmer, and not someone completely new to it.

     

    This is really more of a rant than anything, and I apologize for that. But if it inspires Josh to write a book on Lua for beginners, then it's worthwhile lol.

     

    I just wanted to share an example of why I keep being put off of learning languages. I'm sure I'll "get it" if I just keep bashing my head against the wall, and keep Googling. But I just can't help but feel like that needn't be the case.

     

    Or, maybe it's a sign I should just stick to graphics and stay away from programming.

  5. Hello,

     

    An oddball question here.

     

    I'm going through the Marble game tutorial and noticed that the layout in the tutorial screens has the Debug, Output and such on the right side of the window. I've seen screencaps of it where those tabs are along the bottom. Is there a way to change that? I've looked in the config, and tried dragging the tabs manually, but no dice either way.

     

    I rather like the tabs being across the bottom better. Is there a way to change that?

     

    Thank ya

  6. So if I understand you correctly you want a video tutorial that takes you thru the making of a game from start to finish.

    Have you tired the marble game tutorial.

    http://www.leadwerks.com/werkspace/page/tutorials/_/marble-game-r21

     

    Or Jorns Project Saturn.

    You can also get the scripts used.

    http://www.aggror.com/

     

    There are other sources such as the Blogs here on Leadwerks (Tipforeveryone is doing a great series on FPS character controller).

    There are also some others on Youtube but these tend to be shorter and on specific scripts.

     

    I understand Josh sees a need for better learning material too and the plan was to have more templates (and probably of a more in depth nature) at some point in the future. I don't believe there is time scale on this but I think it has been considered high priority by him in the past.

     

    This would probably significantly close the gap that you (and many others) are experiencing. I hope there is some progress or announcement on this soon.

     

     

    I had glanced at the marble tutorial, in fact, and intended to give it a go. I just wasn't sure if it was something that really starts with absolute basics and builds up, or if it's tossing you in at the deep end, assuming you've grasped everything else up to that point (since it's the last in a series of Lua tutorials). It could end up confusing me more, rather than helping. Unfortunately, I lack the familiarity with Lua to know if that's the case or not. So, I've been looking for other sources that build a bit more slowly, over the course of a number of different, but increasingly complex projects.

     

    I have a feeling that I'm somehow making this all complicated than it needs to be lol. I've tried learning other languages and always seem to hit the same wall, where as long as the concepts and related syntax are straight-forward enough, I'm fine. But then, at some point, the code starts to become less about straight forward numbers and words, and all these symbols are being mixed in, with nested parentheses and periods and colons and all this stuff going on without context or explanation - it becomes "just type "this" and "this" happens". At that point I'm completely lost. I guess there's something I'm expected to understand or grasp by that point for that stuff to make sense. For some reason I'm just not grasping it.

     

    I've tried reading through an existing script, but it's the same problem I bump into. It makes sense as long as it's basic/simple stuff. But then it gets into crazier things, and I'm completely lost again. Further, sometimes even reading the documentation doesn't help, because even documentation will, after a point, assume understanding of previous concepts that I still won't understand.

     

    It's really a mess lol.

     

    It's why I'd like to find a series of tutorials that starts super simple, and builds over time, with each project building off previous projects so I'll have repeated, and better understand those earlier concepts by the time I start getting into the more complex stuff.

     

    But again, maybe I'm just letting myself get all confuzzled by all the symbols and such going on. No idea why it's so difficult for me. I think it might be 'cause I tend to be a very visual thinker and will grasp complicated ideas through analogy many times. Programming is very much not visual, and seems to be quite literal in its application. So maybe that's the disconnect. I understand the concepts just fine. I can totally understand what the code is supposed to do, and what the end result should be. I just can't look at the code and understand how it's getting me to that result.

     

    Anyway, thanks for the advice/feedback. I'll just keep chipping at it I guess lol.

  7. Hello all,

     

    So I've hopped into trying to learn Lua scripting a few times now, watching videos, reading documentation and even having a Skype-based tutorial with Rick from the forums here. Videos and Documentation are either super-specific, or too generalized and lack context. Training with Rick is great and he's explained a lot of things to me. However, I find that I like to have a way to sorta "rewind" or "read back" through something if I'm not certain how it works, or what to do, etc. A real-time tutorial is great, but it lacks that "rewind/read-back" option - I doubt Rick wants to be available at any/all times to recap or repeat something we've discussed in a previous lesson :P.

     

    I've read through the Lua documentation here and find that, while I'm able to absorb the earlier sections just fine, from the bit about "Tables" and on, I'm losing the plot lol.

     

    I think how I would learn best, is to have tutorials that are specifically project-based, preferably staring off basic, and building from there. I'd like to be able to rewind, or read-back through bits that don't click with me the first (or 2nd or 3rd or...) time, so I can re-read, or maybe re-do that part, 'til it sinks in. Most importantly I feel like the ability to do so at my own pace is really important, which is why I'd prefer written or video. Preferably written.

     

    In the Googling I've done, I can't seem to find anything that really fills that niche. I've checked Udemy and, interestingly, couldn't find anything based on Lua (possible opportunity there for any would-be instructors).

     

    I feel like Lua is something I can wrap my head around, but I feel like I need the training to be very organized and deliberate in its delivery and progression, as well as being specifically project-based. Not just "here's code that does a thing, and here's how you write it.. now on to the next topic..."

     

    Anyway, if someone has come across training like that, and can maybe point me in that direction, that would be awesome.

     

    Thanks!

  8. That's an interesting approach, blueapples.

     

    So basically, the main/hub area is always loaded, and only the area you're entering (dungeon, town, etc) is loaded on demand, then unloaded when you exit. That's an interesting approach. How large is your hub area, though? If I were intending to have a smaller size hub area (like, 2048x2048, maybe), I think that'd be more feasible.

     

    Perhaps with the 4096x4096 setup, it can be set up where its's broken up in to "regions", and then as you move within a certain distance of a region, it'll start loading in the assets for it. Similarly, once you move beyond the distance of another region, it begins to unload them. Further, regions can have sub-regions - like a marshy area within a larger forest, etc. I wonder if something like that could work.

     

    Hmm.. This is all programmerly stuff which I have no idea about. I was trying to get into programming, but I think I'm firmly rooted in the design/creative realm. I'd rather work with a programmer who already knows what they're doing when it gets to that stuff.

  9. Awww, well that's a bummer. But see, that's why I asked before committing myself to that. Well, maybe I can break things up by major regions then, and still keep somewhat larger areas where appropriate.

     

    Will just have to set up distant landmarks (mountains, etc) set up way off beyond the immediate zone to give that sense of continuity, and to give players a reference of where they are and which way to go.

     

    Thanks for the info!

  10. Hello!

     

    So, I'm working on early design work of a project. The game is an action-adventure, in the spirit of games like Zelda: Ocarina of Time/Twilight Princess, Beyond Good and Evil, etc.

     

    What I'd like to do with the world design, is to have a single massive "hub" area, from which smaller areas, like dungeons, cities, towns, and such, will connect. I'd like the main "hub world" portion to be as large and seamless as possible.

     

    I've done some tests on a 4096x4096 terrain map, based on a mock-up heightmap exported from L3DT. I can say, definitively, that even with things like lakes, mountains and other obstructions subtracting explorable space from it, there will be more than enough world to make this feasible, while fitting the different areas/regions/environments the player will travel through. Setting the move speed to 1.5 for "walk" and "6" for the run multipler (just so I could move around a lot faster when I wanted) I was wandering around the map I put together for a good 60 minutes, and it just never ended. I loved it.

     

    Anyway! Before I get my hopes up and begin designing, I want to make sure of something. Obviously the heightmap is LoD'd, and the texturing is dynamic, so I shouldn't run into issues there. However, I'm concerned about assets. Because the map has to cover a wide variety of environments and biomes (forest, plains, desert, swamp, canyon, etc. etc), and each will require unique "asset kits", would this become an issue? Does Leadwerks load in all assets available in a given "map" at once, or might they be streamed in as they're required, and then "dumped" from memory when they're not? If not natively, I imagine such functionality could be coded in.

     

    Or, would it be best to separate the world into discrete, separate maps for each region? I'd like to keep loading screens to a minimum, used only when entering a dungeon, a city/town, etc.. but if a single large map isn't feasible, then that's just how it is.

     

    I'd just like to know ahead of time before I begin designing the world map, so I know how to lay the areas out with regard to how they connect (is it seamless, or would there be distinct locations where the player changes maps, etc).

     

    Sorry for the wall of text, and thank you in advance for any feedback!

  11. Hello,

     

    Just wanted to post about a couple possible/potential editor features that y'all might find interesting to implement, or at least look into.

     

    First, regarding bodies of water. I was working with the Leadwerks editor a bit, and having enabled the water plane, got to thinking in terms of "what if I wanted to add other water pools and such at different elevations? How would I handle that?"

     

    To my knowledge, LW doesn't have anything to support additional, specifically placed water bodies. I'm not sure if there's plans for that, but there's a couple systems I've seen that each seem to work really well.

     

    One approach is like they do it with the Neverwinter Nights 2 editor. You create a water body, set its height, and basically "paint" the water in.

    Here's a video showing it:

     

    Another approach is like they've handled it in the Unreal Engine (and maybe still do, I haven't messed with it much since 3). Basically, you create a water volume, which is a CSG-type object that you scale and place where you want the water to be. Anything inside this will be "underwater". Then you place a plane (flat, or animated) with the desired water shader/material directly above the volume. It creates a convincing enough effect.

     

     

    Another feature I've seen in other editors (and in Blender's sculpt tool, for that matter) is for terrain editing. It's a "pull" or "grab" function. Basically, you place the brush where you want it, left click and move the mouse, and it pulls just the area inside the brush up and down, effected as normal by your brush settings. This has proven very handy to have when tweaking small areas, especially if you can get down to the single vertex level.

     

     

    Other than that, I'd like to make a suggestion for something I'd like *not* to see - that is, a compulsory node-based material system. Mind you, I'm not totally against node-based material systems, I just don't like when that's the *only* way to create one. My ideal setup would be to have something like you have now - select the diffuse, the normal and other maps, and voila, you have a working material. But, then there's, perhaps, a "use nodes" button that can be pressed on a per-material basis, so you can then go in and do more complex material/shader editing if you wish. Or, if you change your mind, you just cancel the editing, and it returns to the basic material. I like the idea of node editors, I just hate having to first how to create a material if all I want to do is jump in and start editing something. Just thought I'd add that in tongue.png

    • Upvote 1
  12. So, looked it over again, realized I'd picked the shader from the wrong folder, and added the correct one (just the plain diffuse under the animated folder).

     

    Except now the model disappears completely in the 3D view port, and in the model viewer. I can see its wireframe shape in the other 3 wireframe views. So, it's there. It's just not rendering.

     

    So, I'm at a complete loss here.

     

    I've brought in other static objects, and they work just fine. It's just when I try to add Animation into the mix, everything goes wonky.

  13. Nope. It doens't indicate there's an animation at all.

     

    I was hoping to find a tutorial or something on how to create and export an animation from Blender to Leadwerks so it would work properly.

     

    Given the replies so far, I'm guessing no such thing exists, yet.

     

    I have a blend file I could package up and provide to look at. If someone here is familiar enough with Blender to see where the problem is, I could package it up and post a link to it.

  14. Hello,

     

    So, I've googled this, I've searched the forums, and I've looked over the documentation, but I can not find an answer to this problem I'm having.

     

    Basically, I've created and animated a simple little diamond which spins and sorta undulates up and down. It's all set up fine in Blender, with material, texture and animations working smoothly and as I want it to.

     

    The model exports and imports into LW just fine, along with the texture, etc. I'm exporting as FBX.

     

    However, I can not get animation to work. I've tried it two different ways, with and without a bone involved. Neither way is working. I've tried different settings in the exporter, nothing there seems to make a difference.

     

    The official documentation for Animations has you using a ready-made animation which you just have to import. But there is nothing I can find for creating and importing your own custom animation (which really should be covered as well, if it isn't already).

     

    So, if someone could point me to the right place that explains the right setup/settings to use to make animations import and work correctly into LW, I'd be very appreciative.

     

    Thanks!

  15. Does this tool allow you to create basic vertex blended shaders for models, etc? That's one key thing I'm trying to get my hands on, just something that lets me blend materials on an object using R, G and B vertex colors. Other engines have the capability, but I haven't seen any shader for LW that supports this, yet.

     

    I've looked into learning how to program GLSL to do it myself but... yeah lol... way beyond me (I'm not a programmer at all).

     

    If there was a way to create these shaders visually, and then export them to LW in a way that's supported, that would be beautiful. But, if I'm understanding correctly, it looks like it might still require some programming know-how.

  16. cool thank you,

    very clean texture

     

    De nada!

     

    Yeah, all credit to Photoshop's 3D filters for that. I used their normal map generator. Though, there was some clean-up required, because there were some weird lines on the flat surfaces I had to edit out. Other than that, yeah it does a pretty clean job.

  17. Hi all,

     

    So, one thing I kinda dig about UE4 (funny enough) is the default texture they use. Maybe silly, but I dunno... always looks cool to me. So, I decided to recreate it for myself.

     

    I thought maybe others would like to use it, so I decided to share.

     

    A few color variants, including original PNGs, Mats, etc are zipped up in a folder. So, in theory, you should be able to just extract the zipped folder into your project's Materials folder, and be good to go...

     

    Enjoy!

    post-15134-0-30879200-1435201072_thumb.jpg

    LWBuildingTextures.zip

    • Upvote 2
  18. Hello,

     

    If this feature already exists, then forgive me... I just haven't been able to find it.

     

    Otherwise, I have a suggestion.

     

    When you have a bunch of objects grouped together, it could be cool to be able to select everything in that group at once. Maybe something like Ctrl-Left Clicking on the group/filter name could do the trick.

     

    This occurred to me, as I'm creating some basic house setups to use as stand-ins for an environment I'm building out, and it occurred to me that as the scene becomes more complex, it could become tricky grabbing an entire collection of things, without accidentally selecting what's around them.

     

    So, perhaps a way to simply select all objects within a group/filter could be a great way to address that.

     

    Thanks!

  19. Welcome!

     

    Thank you!

     

    1. This is a case by case issue. If the level is small enough sure, but most likely you'll want to import each item individually to take advantage of instancing and occlusion. Note that the heightmap-based terrain uses tessellation, so your terrain mesh wouldn't be able to take advantage of this either.

     

    Yeah it would definitely be done in a modular manner, with smaller pieces, etc. Larger pieces would be individual, but smaller things, like grass, boulders, trees and the like, would be instanced. This is mostly going to be in the case of smaller and more "confined" areas, like towns, dungeons/caves, etc. For larger, sweeping areas, I'll be using heightmapped terrain for sure.

     

    2. This seems like a custom shader, so it probably doesn't exist. You can write one or if you gave specifics on how you want to use the multiple textures, then someone might be able to help you out here.

     

    Indeed. I looked at the GLSL language a bit and it's pretty daunting lol. But of course, that's because I have no idea what I'm looking at.

     

    There's two ways I'm aware of that it's done, one is through vertex blending, where vertices are either black, red, green or blue.. and then there's a texture/material assigned to each vertex color through the shader. It's very, very popular and I'm sure you already know what I'm referring to.

     

    The other way is through a splat map, which would basically be a separate texture, also painted with either black, R, G or B, with each color representing a different material. The difference is, with a splat map, you get much finer resolution, as you're working on a pixel-by-pixel basis, and the splat map itself is mapped to the model's UVs. So, you can really get some small detail and such, that you can't get with vertex blending. This is really the "dream method", with the control it gives you,but I think it also becomes an issue of texture memory, unless you're using smaller resolution splat maps with higher compression.. which *should* work just fine, and without too much loss in quality.

     

    Of course, in both cases, you also set up a texture tiling amount in the shader as well, for each texture layer.

     

    In any case, it would be awesome to be able to work with something like that. You could really do some nice work with non-terrain models, as well. You could paint in weathering or such, etc.

     

    In any case, that's what I'm after. Again, not sure of the feasibility, but it's something I think I'll look into.

     

    Thanks!

     

    Incidentally, here's a newer shot of more doodling I'm doing, to learn my way around the editor. I have a couple copies of that flat plane from Blender now, with a heightmap terrain blending into it. And of course, some other fun bits tongue.png. Guess you could call it a "sandbox map".

     

    Realllly enjoying working with this.

    post-15134-0-13523600-1435027801_thumb.jpg

×
×
  • Create New...