Jump to content

Game Producer

Members
  • Posts

    196
  • Joined

  • Last visited

Posts posted by Game Producer

  1. Not sure if this topic is still relevant, but I thought to bring my own opinion on this matter nevertheless.

     

    Helping...

    I've seen Lumooja/Metatron's talk in the past years. I view him as highly experienced programmer, with ability to break through barriers. This is tremendous asset for the whole community. I've benefited a lot from Lumooja's comments/help/examples. Sure, there's been times when we have had different opinions in some threads. That's life. Lumooja likes to speak out loud his thoughts, and isn't afraid to fight & argument that his opinion is right. When we are dealing with "how to optimize feature N", this is most useful. Since... by being "stubborn" (and I mean that in only a positive way) you just won't give up, and get to the optimal solution by not necessarily accepting other people's view. Essentially, if you need to optimize feature N, and Lumooja's code gets FPS 109 whereas somebody else has written code that reaches only FPS 82.

     

    There it's clearly very easy to say that Lumooja is correct in absolute sense in this case, since we can easily measure it. From what I've seen Lumooja, I honestly don't think he is trying to attack/derail/troll threads. I think he honestly tries to help.

     

    In these cases where I've find Lumooja's help valuable, I've thanked to have him here. In some cases where I see that conversation is going to something irrelevant to me (no matter who started it: me, Lumooja or someone else), I simply ignore some parts or gently try to guide the discussion back on the topic where I wanted it to proceed. It's a 2-way street. Nobody can derail your conversation, unless you allow them to do that. And I'm not hinting that Lumooja is "derailer" any more than any other user - such as me - in the boards.

     

    "Being right"

    Let's gets to the other subject. "Being right" is a tricky beast. Being right isn't always enough. I've noticed that at some times at work at home when I happen to "know" that I'm right, and watch how other folk do things that are "wrong". I've tried the approach of "you are wrong, this is how you should do it". I might "win" that battle, but from the other person's perspective, I've attacked his view. I didn't give him chance to retreat. I didn't respect the fact that he might really have tried his best, and the end result is not so much about "me being right" but rather he thinks that "you made me look more stupid that I am". Aka, I might help them solve one thing but also annoy them every single time I approach things badly.

     

    Same thing goes to arguments about "where the socks need to be". I can come up with gadzillion amount of arguments and essentially prove how the natural place of socks is - of course - on the floor where you can conveniently pick them up whenever you want 8). But no matter what intelligent arguments I come up with, there's no way that will help make wife understand that. In other words, it's not matter of "being right" but rather "contributing positively to the relationship".

     

    I don't know how relevant analogy that might have been, and how derailed we are getting here... :)

     

    Bottom line

    How I see this situation is that some members respect Lumooja's work, but from their perspective it feels that in some cases there has been issues. Whether there has been something negative/derailing/whatever or not - in my opinion - is irrelevant. What is relevant that some folks perceive the situation in this manner. One approach is to try see who was right and who was wrong, but unlike in the case of FPS 109 vs FPS 82, it's harder to see who is "right" in absolute sense. This could suggest that both parties can think approaches on their own. The people who have been communicating with Lumooja can try re-think if their view about "Lumooja is trolling" is correct - or was he just ambitiously trying to help? Or, if "trolling" happens (from your point-of-view) then why not just ignore such "trolling"? And Lumooja had good point about "tell me what I've done wrong" - it's damn difficult to change one's attitude, if you don't get specific examples on (1) what I did wrong and (2) how would you have liked me to handle that situation? So, there's many questions to ponder. Again, I must reinforce the fact that I don't know - nor case - "who is right", since all folks have right to their opinion.

     

    And of course Lumooja can do the same:

    You mention that your help has been at least 100k or more if you had charged for it. I fully agree on that comment.

     

    But let's imagine further. What you think... Do you think there could have been any chance that by merely helping others in perhaps some bit different manner, your help might not be only worth 100k, but perhaps 1M or more? Do you think there could have been - or would be in the future - any chance of trying to figure out some other approach the way you communicate your views? Approach that others would respect even more?

     

    I don't mean that you should go on stealth mode and "okay, I just nod what other people say" or "I stop helping". I'm totally OK the way you do stuff, but I also think that every single person in this planet can have some ways to affect positively systems where we are cooperating.

     

    P.S. Lady Gaga is better than Christina Aquilera, everybody knows that :D

  2. LUA example by macklebee:

     

    require("Scripts/constants/engine_const")
    require("Scripts/math/math")
    RegisterAbstractPath("")        
    Graphics(800,600)        
    
    fw=CreateFramework()        
    fw.main.camera:SetPosition(Vec3(0,1,-5))
    camerapitch=fw.main.camera.rotation.x
    camerayaw=fw.main.camera.rotation.y
    
    light = CreateDirectionalLight()
    light:SetRotation(Vec3(45,45,0))
    
    material=LoadMaterial("abstract::cobblestones.mat")
    boxphy = CreateBodyBox(1,1,1)
    box=CreateCube(boxphy)
    boxphy:SetMass(1)
    boxphy:SetCollisionType(1)
    box:Paint(material)
    
    groundphy = CreateBodyBox(100,1,100)
    ground=CreateCube(groundphy)
    ground:SetScale(Vec3(100,1,100))
    groundphy:SetPosition(Vec3(0,-2,0))
    groundphy:SetCollisionType(2)
    ground:Paint(material)
    
    cubephy = {}
    for i = 1, 99 do
    cubephy[i] = boxphy:Copy(1)
    local cube = cubephy[i]:GetChild(1)
    cube:SetColor(Vec4(math.random(255)/255,math.random(255)/255,math.random(255)/255,1))
    cubephy[i]:SetPosition(Vec3(math.random(10),i,math.random(10)))
    end
    
    SetStats(2)
    HideMouse()
    MoveMouse(GraphicsWidth()/2,GraphicsHeight()/2)
    while KeyHit(KEY_ESCAPE)==0 do   
    gx = Round(GraphicsWidth()/2)        
           gy = Round(GraphicsHeight()/2)        
           dx = Curve((MouseX()-gx)/4,dx,3/AppSpeed())        
           dy = Curve((MouseY()-gy)/4,dy,3/AppSpeed())        
           MoveMouse(gx,gy) 
    camerapitch = camerapitch+dy        
           camerayaw = camerayaw-dx        
           fw.main.camera:SetRotation(Vec3(camerapitch,camerayaw,0))
    move = Curve((KeyDown(KEY_W)-KeyDown(KEY_S)),move,3/AppSpeed())        
           strafe = Curve((KeyDown(KEY_D)-KeyDown(KEY_A)),strafe,3/AppSpeed())      
    MoveEntity(fw.main.camera,Vec3(strafe/10,0,move/10))
    
    fw:Update()
    fw:Render()
    collectgarbage(collect)
    Flip(1)
    end
    ShowMouse()[
    

  3. I was wondering how big deal would it be to have like 100 box objects in a screen, but somehow change their color so that I don't need to create additional materials. Is there good way to do this?

    (I'm thinking procedural creature creation... where creature would be made of boxes and each individual box might have different colors....)

     

    I was also wondering if this would increase memory consumption?

     

    Thanks in advance

     

    (Was there demo about this? I searched forums but could not find one)

  4. Hmm, so you want it to show always, then VIEWRANGE_INFINITE should work, if you want something else, try VIEWRANGE_NEAR:

    http://www.leadwerks.com/wiki/index.php?title=Entities#EntityViewRange

     

    Is your camera view range setup correctly?

     

    Please notice that:

    The entity will not be drawn if it is further from the camera than the view range. If the recursive parameter is set to 1, all children in the entity's hierarchy will be set as well.

    To change the world's view ranges, use SetWorldCullRange. [/Quote]

     

    EDIT: also try setting recursive parameter to 1:

    EntityViewRange( mode, VIEWRANGE_INFINITE , 1 ) 

  5. I'd very much like if this thread would not compare which physics systems are better or worse or faster or slower :D There's other threads for that discussion.

     

    It's sufficient to say:

     

    LE2: Newton

    LE3: PhysX

  6. bmax doesn't need special tutorials, C++ tutorials are just perfect, since they illustrate the use of bmax and can be easily understood (bmax isn't too different anyway, so it's not a biggie).

     

    bmax is currently stable enuf and doesn't really need more updates for it to be useful for me.

     

    but when LE gets updated, having up-to-date LE header/module/whatnot is more than welcome, so the Josh's current plan is great.

     

    "why subforum in bmax forums"

    => makes sense, since that also promotes the product and will get more bmax folks interested if LE would be part of the official bmax forums. I feel that it might be useful to also have bmax subforum in LE... or "general" programming forum, since folks here have more experience on LE (no matter what language they use)

  7. In my mind, LE3 is like "LE2 done right", with cleaner codebase, lower + bigger hardware requirements, but thought it might not hurt to clarify some of these.

     

    What would be the main differences with LE2 and LE3?

     

    - Features missing?

    - New features?

    - Graphicswise (Shader model 3 vs Shader model 4 required?)

  8. challenges

    I must revive this conversation a bit more. One reason why it's hard to have "makeGame" function ;) is that there's no many ways to program this:

    - C++

    - C#

    - LUA

    - bmax

     

    If I'd write a framework to Leadwerks, where you could say "startFPS", the problem is that I'm using only bmax (and that's not listed in LE3 btw). So, I would need to port my framework to 3-4 different languages. Also, if I'd want to support both LE2 + LE3, then I'd need to do even more things. Won't most likely happen.

     

    If I'd write bmax "game template", which to you could add some of your own stuff easily, then the number of users would be somewhat limited (well, I guess owners of Bmax might get excited ;)).

     

    But still there's the pipeline issue: doing all the models is hard work (I've done that manually from FPS creator/other models to LE). After you get stuff done, it works just sweet.

     

    Besides this, the high end gfx comes at cost: compatibility in LE2 isn't greatest, but LE3 seems to help in this area. And by using both LE2 + LE3 (it shouldn't be that difficult, perhaps).

     

    So, there is the challenge of:

    - accessibility (different languages)

    - compatibility (potential customers need a pretty decent machine, laptops won't cut it)

    - for programmers (people wanting "makeFPSgame()" will have to wait...)

     

    good

    Where LE shines though is:

    - simplicity of coding (I own Blitz3D, BlitzMax and worked couple of years on Leadwerks and the code was really easy to write once you got hang on things)

    - beautiful (the art & stuff you can do just looks great. I tried Blitz3D version and then ported my code to Leadwerks and one guy was stunned how "pro" all things look, even though I was using same models, same animations, same camera view... only thing changed was engine. So, leadwerks can make crappy looking stuff great.)

    - for programmers (I've tried Shiva, Unity, FPS Creator, and 6000 different other engines. I ordered one Unity book and tested it a lot, but all these attempts weren't in my liking. I don't use LE editor, I program my game using bmax ide. I like how I have full view of classes and things in front of me, instead of finding specific object and attaching scripts to them. I feel more in control, althought this is much about "how you like to work". I'm more programmer than artist, so I like this way.)

    - if you use bmax, LE is by far the most advanced engine like tool (it has physics, graphics, and other things all there)

     

    misc

    Some thoughts about my zomb project: I never used Shaders, I'm not sure if I used post-processing effects either. I had problems with compatibility. I had to change all my art assets. I had to redo my code due core physics engine changes. Adding LE to bmax was simple. I saved tons of time using LE gfx & physics instead of trying to go with Ogre or something. Main reason why I chose LE back then many years ago was the fact that I had tons of bmax knowledge and didn't want to switch to Unity/something else.

     

    thoughts

    Leadwerks does many things well.

    Unity does many things well.

    [Name of the engine] does many things well.

     

    It's a matter of needs & wants. For some stuff, LE might not be the best. For some stuff, it might be very well be a great tool. I feel that the "easy tool for non-n00b programmers, high-end graphics" way of doing things works well.

     

    LE3 works on bmax (according to one Josh's post that was gone due data loss :)) and the initial tests of GL1.4 seemed to work just fine, so for any 3D stuff Leadwerks currently is on top of my list, but before the product is actually out all this LE3 is just guesswork. When it's out and I see it working, I can make better decisions.

  9. Lol, I just realised the enormous textfiled well visible in the site header "Search.. Forums".. :)

     

    Sometimes when it's too obvious, you can't see.. :):D

     

    Guy.

     

    And too bad there's no search for searching the search... ;)

  10. There is a huge difference between running a single self-contained process on another thread and designing a command set that can just be called in any order at any time. Even if I locked the threads in every single call (which would eliminate any speed gains you might get from multithreading) there's still a ton of errors the user can cause themselves.

     

    Loading models on threads is one thing, but like mentioned earlier, there's several things that threaded environment is great for:

     

    - fetching online highscore and...

    - refreshing master server and..

    - joining multiplayer games!

     

    And I suppose many other features that are related to non-core of the game (I guess you could do global chats, buddy systems and whatnot... but most important ones were already listed: online highscore, fetching servers, joining multiplayer games.

  11. RakNet ftw :)

     

    The way I see it, if you are expecting anything short of buggy network code from LE 3 you are expecting to much. Much like Josh uses a physics library he would be wise to use a tried and proven networking library as well that has all these features in it already, or honestly better yet, we should just use said libraries ourselves :)

    Hmm, so ... if I use RakNet, I can make http calls without freezing the app? How's that possible? o.O

    (bear in mind I use Bmax)

  12. I asked same one month back and got "6+ months" for LE 3.0 and "more for 3.1". So, In my books that means possibly year 2011 for LE 3. But as far as I know, there's no fixed deadline. It's feature oriented project: certain features needs to be ready before LE 3.0 goes out.

     

    What comes to "run without rendering", I guess you can do that already in LE2 and don't see why it couldn't happen in LE3, just skip calling "renderSomething" stuff.

  13. PhysX would not involve any licensing fees for PC, Mac, or mobile.

     

    The lack of licensing fees for Bullet on the console is the best argument for it.

     

    I have a feeling people trump bullet up just because it's open source, and they want it to be the best. When you see a lot of argument made with no evidence, that's a good indication. When people say, "X isn't supported, but you can add it yourself!" I cringe because they are basically saying there is no physics library and you have to write one yourself. That's what it would take to actually implement. I do not like open-source software for that reason.

     

    There's good cause for a proprietary Leadwerks physics system, but unfortunately that is beyond my ability to provide, on top of everything else.

     

    If Newton had soft bodies, I would stick with it. In three years, the library still has basically the same functionality it had when I started. The developer is focusing on some pre-made destruction features like PhysX has that complicate the art pipeline, and provide a very dubious benefit. I'm not very interested in any feature that makes the art pipeline more complicated, because I know it won't get used. Even an imperfect implementation of soft bodies would be great, but he just doesn't care about it. Not to mention he's incredibly rude, even though I've given him his best promotional videos.

     

    Sounds good to me.

×
×
  • Create New...