Jump to content

Rick

Members
  • Posts

    7,936
  • Joined

  • Last visited

Everything posted by Rick

  1. If you could find a C library that works with any joystick then I could port it to Lua.
  2. Are you going to provide this for the LE community in some fashion? Paid or not? Maybe an artist on here would be willing to make some scenes that really show this off. I'm just curious as to the different look it provides. From the black/white picks it's clear to see the difference, but would just be nice to see it in a somewhat finished scene with all the colors where it makes a big difference. I'm sure it excels in certain situations and from Josh's reaction I'm sure it's a really cool feat, but I feel awkward and not sure how to react because I literally can't see any difference in the finished scenes presented :/
  3. Yeah I want to dodge a cow!!! That would be sweet and sort of Earthworm Jim ish
  4. Is there a scene or situation where it's easier to see the benefits of this?
  5. Rick

    Ravage Online

    Very cool. Did you have an open beta for this already? Will you have a demo?
  6. You've never had any issues with this? I've had it before where if the computer lags then Update on the controller will shoot the controller well past it's target. For now I'll do it that way, but just wasn't sure if there was a more precise way to avoid any lag issues.
  7. Is there a way to calculate how much the controller actually moves in a given frame? I know for example sake you say 7m but that would be a variable speed given speed of the app right? How would I do that? Would I have to calculate the move variable that passes to the controller and if so what is that calc? Using any sort of MoveEntity or PositionEntity would stop the physics on it. Maybe we don't care for such a small amount but could that cause issues somehow? I really wish LE had a MoveTo type of method
  8. So I have the pathfinding setup for a thingoid. I need to go over my list and move my character along it. The list is x,y values of the 2D array that is the grid. One approach I have done before was to interpolate a bunch of actual location points between each node, and then move my model to each of these points over time. The points are close enough that this looks smooth. Another way I've done it is to just get the center points of these nodes and point the model to the next node in the list and move the controller and then check if I'm at or close to the center of the current node, then get the next node. I want to like this method but I've used EntityDistance() to determine if the model was at or close to the center point of the current node and this has caused issues sometimes. Sometimes if something external causes my app to slow down the character controller will fly right by. There just seems like using EntityDistance() with the character controller and a point can be delicate. So what other methods have worked for people to move a character controller along a path of "nodes".
  9. Thanks Pixel. That looks pretty good. I've played a lot in the editor with the given tools and just haven't been able to reproduce the WoW feel myself. I was thinking maybe someone knew of some terrain generation tool that would give results like that. If they aren't models (who knows maybe they are) then like Ken said Blizzard must have some kind of mountain generation toolkit to give that look. Thanks guys.
  10. Are you loading the model that uses this into the transparent world (if using the framework)?
  11. I'll check that geo height map data Pixel. I just can't imagine the mountains in WoW are separate models. There are so many of these like this in the entire world and it flows seamlessly with the terrain I just have to imagine it is the terrain itself. It would be a nightmare to do this with models in the massive world that WoW is.
  12. Oh sorry I meant using Leadwerks terrain tools.
  13. I've always enjoyed WoW's terrain look, yet I've never been able to duplicate it in LE. Anyone know of any tips or tricks to get this sort of look when doing mountains? http://www.onrpg.com/MMO/World-of-Warcraft/popupscreenshots#17
  14. And mine was based off of what someone told me some time ago
  15. I increase my frames by my own timer logic. off the top of my head something like below if time > last_time + animation_speed then frame++ last_time = time end
  16. I think his English isn't that good sometimes. I'm thinking he meant coding gameplay features instead of coding, say, a GUI system. @ YouGroove, the idea of letting one disable/enable scripts or script functions was that it's just added functionality for us to use if we so wish. If one didn't want to go that route then they don't have to but having that feature wouldn't affect them in any way, but could affect the person wanting the feature in a big way. We don't always think of every single way something will be used so adding features that probably aren't that big of a deal to add is nice. That's all I was thinking.
  17. Try including require("scripts/constants/keycodes") at the top. There are some extra scripts to get some constants and other functions in the scripts folder and subfolders you might want to check out.
  18. Thought I would share my crazy "invention". Metatron once talked about a 3D flowgraph. I thought he was crazy mainly because I didn't want to make the editor to handle that BUT since LE already has an editor I thought I'd make some use of it in a game as some kind of proof of concept. The 2 below screenshots look insane, I'm aware of that , but that one scene, my level selection scene, only took about 10 mins to setup once the reusable components were created. It was actually kind of fun and refreshing to get some functionality from combining components. The scene functionality: Background music starts up right away A SQLite file is read looking for a specific table that holds variable/value data. That's what the P-Var components do. I think P-Var is pretty slick as you don't have to do anything yourself with SQLite. In the settings you point to a file, or put a name that doesn't exit. You put in a variable name, and initial value. If the SQLite file doesn't exist it creates it, makes a table called persistent_variables and adds the variable with the initial value. If the component is enabled when it starts it'll get the value and fire it's outputs (sendmessage to targets). It can also be set by an L-Var component (not shown) which is a local variable to the scene that you can give a value to. So P-Vars can be used across scenes and stay when the game exists. I still have to make a G-Var which is a variable across scenes but goes away when the game exists. The picture looking this is just that, an image. I have sets of 2 because I have a closed image and open image which indicate if the level is unlocked or not There are 2 IFCompare components per P-Var component that read the P-Var component (which was from the SQLite file so it's persistent) and based on the value (open or close) it enables the correct image component. It's a very basic control structure. You set the value it will compare against when variable components send their values as inputs. If they match exactly the IFCompare's outputs are fired. The image components are clickable as well. The closed images play a bad sound to indicate they are closed, and the open images play a good sound when clicked to indicate it's valid. There are sound components that are getting enabled to play their sound when they should The round button looking things on the top left are just that. Buttons. I plan on having GUI elements all separate components. So to handle drawing order they all have a Sort Order setting which is handled automatically by my Pi-Main script which is the basic, non-game specific main loop file. There is an Exit Game component tied to the Exit button which ends the game when enabled which the Exit button does when it's clicked. There are Level Load components tied to all the open images which gets enabled when they are clicked, and also one tied to the Main Menu which loads the main menu scene I'm kind of excited about this. My new Crazy Marble game is designed 100% like this. Once the components are created it actually goes pretty fast to make things. There are a couple things that I hope LE3D bring to help a system similar to this: Load new levels inside 1 master editor. Currently to test level loading between scenes I can't use the editor Game project wide prefabs. Re-configuring logic that is used in all levels is kind of a pain Targeting system works for this but not ideal as each component can basically have only 1 event that triggers it's output. This is index 0 selected This is index 1 selected This is the visual result, but there is functionality explained above as well Note that the position of the components in the editor aren't related to how it looks when it's done. These visual components all have the x,y,w,h settings. I just placed them in the editor that way to get the basic idea of what I wanted and to make some sense out of the chaos. Also the final result doesn't take up the entire screen because for now I'm using 800x600 dimensions when I load the game from engine.exe.
  19. File Name: SQLite for LE's Lua File Submitter: Rick File Submitted: 02 Jan 2012 File Category: Scripts I've compiled this with VS 2010 Express C++ (so probably need those run-times) and LuaJIT (the same version LE uses). To see the usage look at the below website: http://lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki#examples You can use any SQLite browser (there are a bunch of free ones and some plugins for Chrome and Firefox) to see the data inside it. Note the difference in loading the lib from the examples. -- load sqlite dll package.loadlib("C:\\Leadwerks Engine SDK\\lsqlite3.dll", "luaopen_lsqlite3")() -- if db doesn't exist it'll create it in the same directory as the editor/engine local db = sqlite3.open('MyDatabase.sqlite3') -- run these commands db:exec[[ CREATE TABLE test (id INTEGER PRIMARY KEY, content); INSERT INTO test VALUES (NULL, 'Hello World'); INSERT INTO test VALUES (NULL, 'Hello Lua'); INSERT INTO test VALUES (NULL, 'Hello Sqlite3') ]] -- show the above results for row in db:nrows("SELECT * FROM test") do Notify(row.id.." "..row.content) end db:close() I'm currently using this to store persistent data in my game as it's really easy to read and write data like this. It's simply an alternative to using xml or any other kind of file. SQLite is a database system that is simply just 1 file (with the structure of a database and all the wonderful SQL benefits). It's crossplatform and very simple to use. Have fun!
  20. Good catch. Seems it's still an issue for text at least (see Name property edit I put above). I'll test it out with some numeric fields to see if it's the same way. [edit] The same behavior doesn't seem to happen if it's defined as PROPERTY_FLOAT. Odd it looks like PROPERTY_STRING only has this issue.
  21. It would seem if you set it to the same value (any value) it won't work. I set first one to 5 and second one to 5 and second one again doesn't have it. Same if I set both to "Test" so doesn't seem to matter of type. The pain is if I actually want them to be the same you have to set it to something that you don't want first, save it, then set it to the value you do what (the value that was the same on the other one). Guessing it's looking at key name globally and if the value is the same it won't make the change or something. Should be looking at it on a per object basis or not doing any sort of check at all and just change it every time. If it has the basic Get/Set (which is what my components have) it doesn't seem to work either. One would have to code for each setting but shouldn't have to if you don't care to capture these values in object variables and just want it to flow through to the model keys. Basic Get/Set like below still has the same issue from what I've seen with my components function object:SetKey(key,value) if key == "" then else return self.super:SetKey(key,value) end return 1 end function object:GetKey(key,value) if key == "" then else return self.super:GetKey(key,value) end return value end This seems like a bug to me because setting it to a different value than the last value for the other object works. Why should the editor care if I want the same property value between 2 separate objects of the same type I'm thinking. [EDIT] Same thing happens in the Name setting which all objects have, but it for sure is only if done on the same object back to back and not another object between. I put in 2 spotlights and 1 barrel. I can name 1 spotlight "test", then the barrel "test", then it lets me name the other spotlight "test". But if I name 1 spotlight "test" then try to do the other right after it won't let me. Thanks for letting me know you get the same issue. I'll post a bug report.
  22. Rick

    S-M-R-T

    Let's say someone wants to make a flowgraph editor for the engine. Allowing them to tap into things directly into the editor would help. When making a flowgraph there are things you would want to have that closeness with the editor for. You want to be able to query all the objects in the scene in the flowgraph editor, be able to right click on objects in the editor and do a "Show in flowgraph" etc. There will be other things we all aren't even thinking about.
  23. Want to make sure others are seeing the same thing before I make a bug report. Start a new scene Drag in 2 camera nodes Open the settings on one and in the "start here" setting put a 0 and click apply Now open up the settings on the other and in "start here" setting put 0 and click apply Close the properties box and open it up again on the 2nd camera settings and the 0 you put there won't be there, it'll be blank (the last value it was) There seems to be something with the same component setting the same setting and value it won't take on the 2nd one. You have to make it a different value than the first and then you can make it the same value before it'll take. This has been a pretty big pain for me with my components since there is a good deal of the same settings between my components. This seems to only happen when you don't have code for the GetKey/SetKey in your scripts and you let it flow directly to the model keys.
  24. I'm going from scene to scene in my program and I notice while it's loading the other scene the old scene still sits on the screen. How would I black out the old scene on the screen while the new one is loading? I'm trying the below but doesn't seem to work. A pure black color would do. scene:Free() CameraClearColor(fw.main.camera, Vec4(0, 0, 0, 1)) scene = LoadScene("abstract::"..GetGlobalString("nextlevel"))
×
×
  • Create New...