Jump to content

Rick

Members
  • Posts

    7,936
  • Joined

  • Last visited

Everything posted by Rick

  1. In most all multiplayer games you can't let the clients decide anything as important as to incur damage or not or how much. That game would run rampant with cheating. This is why peer to peer networking with no server works in only certain types of games. Most games don't work well with that model.
  2. Rick

    Leadwerks and C#

    It would be pretty sweet to see C# get some love in LE. I know many have tried in the past and it just didn't work out well but C# is a great language!
  3. I've been looking at Minion Masters (free on steam) and think that's a good game for LE. Honestly no physics even required for that. Just A star pathfinding and the player just places units ont he board and the units do their own thing. I'm looking at possibly trying to make something similar.
  4. Yeah, it usually takes a few reads to figure out. The thing with LE is that you can't really do a client/server architecture since you need the gfx in LE to be initialized and servers generally don't have that. LE really needs the physics simulation to be separate from the renderer for client/server to really work. So it's basically peer to peer for networking in LE otherwise it's a lot of work as you'd need to run Newton library separately on the server.
  5. https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking This is probably one of the best readings on the subject but can be complex.
  6. What does SetBool() do? It seems odd to me that you'd pass multiple 2 values, a string and a number to something called SetBool(). SetBool(string name, boolean value) Your second value should be a true/false not a number. Maybe you're looking for SetInt() (if that exists) [EDIT] Looks like there is a SetFloat() that you may be looking for.
  7. myPanel:SetBool("radius",9") -- Not Workd. myButton:SetBool("radus,9) -- Yes Work. Look at the syntax you have there. You'll always need matching double quotes. Your first one you have a double quote at the end of the 9 but no matching one for that. Your second one you only have 1 double quote.
  8. Notice how the function has --in at the end. That tell the editor it can be called. When --in functions exist with parameters you need a function that has --args and returns a value (I believe is the name) and then that'll show up and you can drag that function to the dot that should show up in the flowgraph on the line of the ReceiveHealth() function. So dots show up on that line and they act as argument placeholders (1 for each argument). When you drag a --args function to that line, that function will be called and the returning value will act as the argument value.
  9. It's local to the entire script, which means the entire script can see it.
  10. I would assume with root motion speed the engine would be setting speed of movement using animation speed? Therefore I would think we would also be able to make that link ourselves? There just must be a formula to get the speed based on animation data.
  11. I suppose one puts the speed in the hands of the programmer and the other the animator. As a programmer I'd want control of the speed but if I had an animator on the team I'd be fine with them having control as it's something I wouldn't have to worry about then because matching up movement speed an animation speed can be tricky sometimes.
  12. Motivation usually fades when you have to start doing to "boring" stuff (whatever is boring to you). I found it also faded when you had to really nail down some mechanic that wasn't well defined. I often felt like if I made the wrong choice it would ruin the game so you make no choice at all, which doesn't even give the chance for the game to be ruined because it never gets made. I think the fear with making simple games is that even a simple game will have aspects that are difficult and you put all that effort into a game that in the end isn't that fun. There used to be a good and simple game here like Furious Frank or something. It was well done and simple. When you played it you were like oh cool...for about 5 mins. Then you never played it again. That person I'm sure did put a fair amount of effort into but the question is what did they get in return? A game like that Furious Frank is something I've thought about creating again. I tried to recreate something like that before Pissed off Pete, but scope creep kept coming into play because I knew Furious Frank was fairly boring after a very short amount and though, why make a boring game? If I only added this and this and this it'll be fun, but then you never finish it because all of those things were harder to do and added time and weren't really fleshed out well.
  13. When I was playing with this idea I was doing a treadmill system. A 3x3 grid where the player always stays in the middle tile. When they move "left" for example and get close to the edge of that middle tile it would load in the 3 new tiles to the left of the most left 3 tiles and then when they actually crossed the line it would swap the entire grid position wise and then move the player back. Since everything moved relative in 1 go the player would never tell the difference. It would then unload the right most 3 tiles that aren't needed anymore. In my case it wasn't real terrain but modeled terrain and it was all flat. Given LE didn't have multithreaded loading of assets all assets had to be loaded up front so instances could just be created which was more instant.
  14. You are most likely offsetting. I think the editor might have a setting for this?
  15. Resident Evil 2 Remake all the way. Pretty easy mechanics. Puzzles that would work well with the scripting side of things. Smaller kind of map zones making it easier to extend by people. Doesn't require a ton of enemies at one time. Easy enemy mechanics, they basically just slowly follow you.
  16. Is the network stuff available to Lua yet?
  17. Then you should be able to make the user data that you set a list of objects that you can add/remove from.
  18. To me it's more about the convenience and perceived expense. If I can pay $20/mo to play top end games all the time and cancel at any time then that's a good deal considering a top end gfx card costs around $300+. I mean if I can play in a browser on a chromebook what cost me $200 total then I call that a win!
  19. When dealing with crouching it has to do with the character controller. In your screenshot we can't see your character controller as you don't have physics debugging enabled. If you are able walk under that ceiling you have, then crouching is working. Crouching in SetInput() has nothing to do with your character model itself. If you want your character to appear crouching then you'll have to manually play that animation on your character model to get that.
  20. It is my belief that stream playing games is the future and will be here in the next 10 years as a good quality (things are still shaky right now) at min. However watching video is completely different than what this is. The input lag has been the main issue with this stuff. Having enough bandwidth to send the result frames to a person was only a matter of time in speed/bandwidth which was inevitable as things are always getting faster. Not experiencing input lag, especially for fast twitch online games, can be a challenge since your input has to take an extra few hops now. Before it was from your PC to the game server. Now it's your PC to the cloud streaming your game, to the game server. In this model it would make sense if the game servers were actually in the same datacenter as the cloud streaming your game to make that step as fast as possible but this would be a lot of coordination with game devs and leave out the little guys game trying to compete in this space most likely.
  21. function UpdatePlayer() end This is a global function and once defined you can call it from any script in your app. The other one's scope is on that entity only. So you'd first need a reference to that entities script (like entity1.script:UpdatePlayer()) to be able to call it. Note that inside UpdatePlayer() you can't use the normal self.entity because inside that script it doesn't know anything about that. So global functions work on global data or data you pass into it from a parameter (in this case you have no parameter).
  22. There are a few companies doing this same idea. NVidia has it's own game streaming service in beta right now. However they work with your games that you own. You give them your steam/ubisoft/epic/whatever launcher id/pw and they validate you have the game and then it'll launch in the cloud for you to stream play. The benefit is this is a better transition from where we are then Stadia is. Not to mention NVidia should be able to figure it out well given they can make custom gfx cards for this if they want.
  23. Sounds a lot like mobile back in the day. If it's not making money and is a pain to support then it should probably have the same fate.
  24. This was created in 2015 :). I'll have to decline to get you that file lol
  25. Rick

    Fun with Stateless API

    I suppose the closest you could get is having static methods on the class that do the same thing as your straggler C methods. Might help with intellisense to have that instead of having to remember?
×
×
  • Create New...