-
Posts
7,936 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by Rick
-
This is a cool tutorial. I'm going to play around with making a network object that you can drag into your scene and then specify if it's client/server and have some other settings. Thanks for the start! Not really. The client generally will do some of the same things the server will do to give instant feedback to the player. If I press the move forward key and it has to wait for a round trip before I can move forward it's very noticeable and creates input lag. So really the client has to both move forward locally and then send off it's position to the server. My new plan of attack is to have the clients do the physics for their own character only and send it's position & rotation to the server 8 times (or so) a second. The server will then validate that the position & rotation isn't so far fetched that it's obvious the client is cheating. So on my client my character will be the only character that has a controller assigned to it. All the other players on my client will just be getting position & rotation from the server, but since the server would be getting position & rotation from the actual clients who all have their controller assigned to their character it'll all look OK on all client machines. With LE, the main issue with having the server do all physics is that you still need to simulate your characters physics locally to avoid input lag. If your client doesn't have a controller and just sets the position & rotation of your character model, then your client doesn't have physics locally. So that means it takes a round trip to get the position of your character on your screen. Let's say you walk off a cliff. You will get a Wiley Coyote effect because locally you don't have physics which means when you walk off the cliff your toon would just be standing in mid-air. 1/4 of a second later, or if you hit a lag spike it could be longer, then your toon starts to fall. This little lag is perfectly fine for the other players on your client because it'll all look smooth anyway. You are already 1/4 of a second behind them at all times anyway, but for your own character the feedback of things you do needs to be instant or the game will feel very choppy and hard to play. This is all what I'm about to test out.
-
Ouch. Yeah you'll be better off using the entity user data.
-
Yeah, I'm using XP. Not sure what's up with this error. It's annoying because I can't figure out why or when it happens.
-
Close but not exactly. SetKey() only takes a string. You have to use SetEntityUserData() and pass in your pointer to your class. You have to cast it though.
-
I've done it before and it seemed to work. I generally wrap Leadwerk data inside classes and need to make a pointer of that class the entity data so I can get that class instance when things get picked.
-
So if you were making an RPG that allowed the model to be able to have 200+ some different textures for different parts of the body how would you go about using this shader model to do that? It seems with this way the texture size could start to be an issue as the graphics card would need to allow for very large texture size. I just have a hard time believing this is how games like WoW handle this seeing as it can run on some pretty low end cards.
-
It still seems limiting compared to each model instance being able to have it's own texture.
-
This is another reason why things need a editor mode vs game mode.
-
Should be able to just create a variable to handle that. Toggle it with the ~ press
-
Sent you an IM. Thanks for taking a look at this.
-
Very cool. Thanks! How would we handle a model that has multiple textures? For example I have a character that has different textures for different parts of the body. It seems with this the 1 alpha setting would determine all these textures? I would need a way to specify the alpha on all parts of the model. So for example the shirt area texture would use alpha 1 while the pants area texture would be alpha 5. This would be ideal in an rpg game where all the different clothes characters can wear. You'd basically have a huge pants texture with all different kinds of pants on it and be able to just specify the alpha number to change pants. Also, with all of this, is there anything you do that actually needs the alpha channel for alpha stuff?
-
Cool. Thanks for explaining that because I get it better now. I'm still not a fan of that limitation but I won't hit 80 on 1 model but in an online RPG I could see that being an issue. Even 144 would most likely not be enough for some MMO's. Not that anyone is creating an MMO but it's still nice not to have limitations if they aren't needed. So the size we decide to make the textures would have an impact of the cards our players have with this. Again, kind of a limitation that wouldn't be there if the models weren't instanced but I guess it's livable.
-
I still can't imagine 1 texture being able to hold all the skins in a complete rpg game. I mean we would be talking hundreds.
-
What if we want more than 4 textures? Are we limited to just 4 to choose from? RPG games would have a ton more textures than 4.
-
I have no idea how to do that. The problem is most models you buy come with 1 model and multiple textures and have coords setup already. Also, is there any limitations to your idea? Tyler, I can't understand how anyone is supposed to read anything but anger in your post.
-
I didn't need to position lock. I do know what you are talking about, but you just have to make sure your cursor doesn't change to indicate it's going to move the object. I guess I don't have much of an issue doing it though.
-
But it causes issues when we want to have 1 model with different textures, which is a very common approach to things. Couldn't we have both worlds where by default the above you have happens, but if we choose to we can make them handled as if they were different models completely so they can have different textures? Us having to copy model files on disk is a pretty bad hack and can lead to issues with copies of model files cluttering up the players hard drive if issues happen between making the model and copying it. Scenery and such is perfect for the way you have it, but a character is a very common place for the same model used with different textures. Also, in my character object I'd love to have settings for changing textures in the editor. How easy it would be to populate a scene with what looks like so many different characters if we had this ability all from 1 model on disk. Scenes could come to life, because right now I'm tired of looking at woods.
-
I get EXCEPTION_ACCESS_VIOLATION error all the time in the script editor. I can't seem to figure out any sort of pattern. I'll just be typing something, anything and it happens. Then the editor closes down. What's the deal with this error?
-
If you are speaking directly about game dev then yes, but if you are talking strictly just development of any kind, .NET & Java will provide more opportunities than C++ will. The business world has gone mad for them.
-
To make a link you left click and hold on one object, and then drag it to another object. Just make sure you are dragging to the 2d images because that's the object. When working with the character object it can be confusing because it won't work if you drag to your model.
-
File Name: Pi-CharacterKeyboardControls File Submitter: Rick File Submitted: 01 Jan 2010 File Category: Lua Scripts This allows you to send movement messages to the Pi-Character thingoid. The settings allow you to configure what keys are used for what movement. It's still very early and not everything is available yet. Just want to get these things out there for people to play around with and maybe give advise/help. Click here to download this file
-
File Name: Pi-Character v 0.1 File Submitter: Rick File Submitted: 01 Jan 2010 File Category: Lua Scripts Very early version of my character objects. Place it in your scene and go to the settings and give it a model. It creates a character controller and receives some messages to help it move. This works in conjunction with Pi-CharacterKeyboardControls. Click here to download this file
-
It's actually just a camera that you can rotate around anything you give it as a target when you enter game mode given you are using the game script I posted above. It also has an offset setting. When you give it a target you'll see a white box. That white box is where the camera will point to. It'll start at the origin of the target, but you can offset it. Also you rotate with holding down the left mouse button and moving the mouse. I'm uploading a video right now that shows 3 controls, this being one, that allow you to get a quick moving 3rd person style player going in about a few mins. It's still very early and any ideas/help is welcome. The video and Thingoids should be up within an hour or so.
-
File Name: Pi-3rdPersonCamera v 0.1 File Submitter: Rick File Submitted: 01 Jan 2010 File Category: Lua Scripts Here is a very basic 3rd person camera thingoid. Just drag it into your scene and give it a target. The game script that you need to run also is: require("Scripts/constants/collision_const") require("Scripts/constants/engine_const") require("Scripts/LinkedList") require("Scripts/filesystem") require("Scripts/math/math") if fw==nil then --we are not in Editor RegisterAbstractPath("") Graphics(800,600) -- need a better way to get screen res fw=CreateFramework() scene=LoadScene("") -- need a way to get a scene to load scene:SetCollisionType(COLLISION_SCENE) TFilter(1) AFilter(4) end -- set globals SetGlobalString("mode", "GAME_MODE") SetGlobalString("quit", "false") FlushKeys() FlushMouse() --main function while (KeyHit(KEY_ESCAPE) == 0) and (GetGlobalString("quit") == "false") do fw:Update() fw:Render() Flip(0) end -- reset values SetGlobalString("mode", "DESIGN_MODE") SetGlobalString("quit", "false") Click here to download this file Will be creating a video that shows 3 of my Thingoids working together.
-
nvm, I see it's controller.position.x, which makes no sense to me. Seems inconsistent with the LE commands and other ways of getting position.