Jump to content

Rick

Members
  • Posts

    7,936
  • Joined

  • Last visited

Everything posted by Rick

  1. I know sometimes games like this will play a small animation on the character. Like a solute animation where they say "aye sir" (Age of Empire I think did something like that). The 1 sec animation was enough to mask the lag and still give some kind of visual input right away. Also, like you said you can run the pathfinding locally and on the server and sync them up. We really need server version of Leadwerks though that doesn't require a graphics card that needs OpenGL 4 since most real servers don't have much for graphics cards.
  2. Because he stopped selling it and LE 2.x is drastically different.
  3. So your server requires a gfx card then right because the engine won't init without one. Josh can we get a gfxless version of LE. Normal game servers done come with these kinds of gfx cards. How do you hide the input lag client side? Testing locally you probably won't see any but when it's on the web I would think you would.
  4. Evayr, is that made with Leadwerks? If so you are doing physics checks on the server? Are you running Newton on the server to do that?
  5. Make a tutorials top level menu item (bold it) that points to some wiki page that has official tutorials and user created tutorials. Place big giant arrows pointing to the menu option so everyone sees where to go for tutorials. Right now stuff seems sort of scattered and unorganized. If you give us a flexible way, we'll follow it in making tutorials.
  6. Thanks to DerRidda I'll be using https://www.cliqmeet.com/ for training from now on since it'll work on anything that supports HTML5 (which is everything)!
  7. That topic doesn't seem to talk about the Object pointer param. I believe this is much like how Josh always does the void * stuff where you can cast and put anything in, and then cast back in the callback so we can call functions of that object. For example since the library is C++ this is a way for us to pass in 'this' so that we can call a function of the class that we called this map load from to add the items to our own list if need be.
  8. It's probably a blessing and a curse because sure it can actually run the application, but it seems these intel laptop cards are still much less powerful which means just saying you need something that supports OpenGL 4 doesn't seem very accurate as the performance can still be bad.
  9. That does look like a good one digman. No free version though and have to pay annually so a little more up front commitment for me. With just starting out and the demand slowly building not sure if I can justify the cost if there are free options out there. Doesn't look like you can do a month by month for that. They bill you annually which is like $150+.
  10. I'll see if you are online at that time and send you an IM here on Leadwerks.com
  11. That looks great! I'll try out the free version tonight. Where are you located? Are you available in 7 hours to test? (that would be 7pm for me).
  12. [edit] Had this typed out and sitting before you posted so just going to finish it up IMHO something like this would be great if LE would do it. Valve took it a step farther with also sending what function you want to call from their API which wouldn't be needed and confuses things I think. I don't know why they require the class name to be passed in the template. It's not needed and makes it more confusing if you ask me, but LE falling back to C callbacks in my eyes is just a lack of understanding how to do C++ method callbacks. Instead of having a C style Collision callback which breaks the flow of OOP, it would be better if the Entity class had an event named OnCollide that we can subscribe to with our C++ classes. All callbacks should work like this if you ask me. class Player { private: Entity* player; void player_OnCollide(CollisionArgs e) { } public: void Player() { player->OnCollide.Bind(this, &player_Collide); } }; That seems pretty easy to follow doesn't it? This is the same thing steam is doing but they put defining the event itself on your shoulders too and for some reason require you to pass in the classname.
  13. I'm at work atm and will test things out when I get home. In the meantime if you find one that seems to work for you please let me know and I'll test that out also when I get home.
  14. Hey DeRidda, At this point I've been using join.me, but I don't need to use that one only. If you know of any that work across Windows & Linux & is cheap/free I'd be more than happy to use that. I'll start looking myself as I would love a true crossplatform way to do the desktop sharing. http://bigbluebutton.org/ Looks interesting. I'll play around with this one to see if I can get it working. I'm still open for suggestions though if anyone has experience with anything else.
  15. Purpose: maps a steam async call result to a class member function So with callbacks you can either have a pointer to a normal C function (which is easy but not object oriented) or you can make a pointer to a C++ class method. That's what this is doing. It allows you to define one of your C++ class methods to be a callback that the Steam API calls when something happens. I use this all the time but I call mine Event<>. When you are coding in an object oriented way you don't want to mess around with straight C functions for callbacks. It screws up the flow of an object oriented program. Leadwerks actually does this with it's collision methods in C++ and to allow to not screw up the flow it allows you to pass a void pointer as an extra parameter so we can pass around class objects (this is generally actually looked at as bad practice though). CCallResult<CLeaderboards, LeaderboardFindResult_t> m_callResultFindLeaderboard; Think of this as defining an event. The event will call a function inside the CLeaderboards class and that function will have 1 parameter of type LeaderboardFinalResult_t. SteamAPICall_t hSteamAPICall = SteamUserStats()->FindLeaderboard( "Best Score" ); m_callResultFindLeaderboard.Set( hSteamAPICall, this, &CLeaderboard::OnFindLeaderboard ); This is where you are linking your event to your class and what function will be called on Steam. So when the FindLeaderboard() function from Steam gets called it'll in turn call your event function in your class. You are giving 'this' which is a pointer to your class, and defining what function in your class it'll call.
  16. Calling a collision set function on the physics driver seems very logical to me. Plus you already have that setup so no extra work. You have enough to do
  17. I assume that's: PhysicsDriver::GetCurrent()->SetCollisionResponse()? That's not convoluted at all. Get the pointer to the current physics driver and call the function.
  18. Yeah, I know I'm not going crazy here. There must be some special situation where the engine isn't setting the param.
  19. Bah, this was the csg getting collapsed issue. My entity was a csg. Put a dummy script on it then it worked. Where is our checkbox for csg to not collapse Although I'll have to dbl check because if my training session this morning we passed a camera entity and it wasn't working, which isn't csg and wouldn't get collapsed. hmm I swear I double checked everything this morning and it didn't work. >< I guess you can close.
  20. Negative batman. Take YouGrooves script above and put the code that he has in Start() in UpdateWorld() and it blows up. It works in Start() though. A straight up copy/paste of local pos = self.cam:GetPosition(true) causes the blow up in UpdateWorld() but works in Start() Script.cam = nil --entity function Script:Start() local pos = self.cam:GetPosition(true) self.entity:SetPosition(pos,true) end
  21. Try doing that in UpdateWorld() because it works for me when it's accessed in Start() too, but errors when inside UpdateWorld()
  22. Script.MyEntity = nil --entity "MyEntity" Then I fill this in via the editor by dragging and dropping an entity to this parameter. It doesn't seem like the engine is filling this in anymore as the value stays nil which causes the program to bomb. This is in the beta branch.
  23. That's what catch22 is talking about in his last post last paragraph. // globals.h #pragma once #define MAP_HEIGHT = 128 Now in any file you need this just: #include "globals.h"
  24. I don't use constants all that often but as far as I'm aware constants are basically literals (meaning you have to assign literals to them and not variables). Why can't you just pass a::worldHeight to the stuff array? If you really want the height variable don't make it constant. Also, if you ever get errors it's best to show us the errors in your post. It'll help us not have to guess.
  25. First 1 on 1 training. I thought it went well and so did Robert KingofNastrond 7 hours ago Just finished my first session and definitely will be back for more, next one tomorrow. Very helpful and informative, I'd really recommend this to anyone who is looking into learning Lua and how Leadwerks works. Can actually see myself being able to make some progress now. You can schedule appointments via the link in my sig!
×
×
  • Create New...