-
Posts
633 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by mdgunn
-
Interesting what you say about GetAddress. I'd not got to using that. Can you explain a scenario you've found it useful in? I've sometimes found it difficult to find problems. Things like objects getting freed up due to reference counting reaching zero and me not realising it. Is this the sort of scenario you a using it in?
-
There are ways to use PBR in Leadwerks if you use some specific shaders that others have written. I think there are 2 PBR implmentations, 1 I think aimed at Substance Designer. Try here: http://www.leadwerks.com/werkspace/blog/101/entry-1660-substances-metal-and-roughness-and-leadwerks/ but someone else also did a separate implementation I believe. Should be something in the forum. I think that one might be out in GitHub or something rather than a workshop item.
-
The majority of the effect of these is just standard leadwerk emitter (usually multiple). One or 2 (smoke ones I think) use an animated sprite sheet to give a small time variation to the particles over their lifetime but that usually isn't giving the main effect. The spell one (red expanding circles) looks like it could be sprite sheet, and might be more efficient if it was (though limited in resolution), but it's 2 emitters and no sprite sheet at all. For a torch or candle, and possibly some projectile/spell effects, I would probably go with a sprite sheet where the size of what you want is limited, many instances would be inefficient, or the effect it difficult to create exactly with Leadwerk emitters. Most effects I would be aiming to have as proper LW emitters so you can modify them to be what you want. None of these emitters have scripts doing anything yet but that might be an option for some extra control as well.
-
I had planned a good deal of the things you mention and have early versions of most of them. I have only recently begun investigating this with more seriousness (started just last weekend really), so everything is quite early at this time. Here is a screenshot and video (if I can figure out how you link a video) to show a bit of what I've done. In addition to these I have plans for multiple types of those in the image as well as some or all of the following blood impact billowing dust sandstorm steam impacts - maybe glass/metal/wood/cement/dirt (e.g. bullet hitting dirt) lightning gas (poison) explosions maybe lasers/tracer/muzzle flash water - taps/fountains/rain splash etc. I'd probably be open to any requests. I might do some custom scripts for the prefabs to allow you to more simply control parameters or gain additional programmatic control over things.
-
I have been working on a set of generic emitters for my own use. I've been considering either selling for a low price of giving away for free (or a free subset). Not sure what the interest would be. There is a spark effect in the workshop by Josh and it pretty convincing. The physics interaction is nice, as long as you don't over crank this. A few tips: 1) Expect to have multiple emitters for each effect (with each set as low as you can for the effect you want). 2) For each single emitter aim to capture a single property of the item you are modelling (e.g. fire = flames + sparks + smoke) 3) Turn on only one emitter at a time and tweak it so that it gives you the effect you want for that component. 4) Have each emitter attached to a pivot, and then save the whole lot of as a prefab. 5) Consider if an animated sprite sheet rather than a static material might improve the look OR help you reduce particles needed. E.g. an animated frame versus multiple particles to do the same thing. That's what came to mind first anyway.
-
If I was aware of this I'd forgotten, so thanks for the reminder!
-
(just for fun) "Alternative" methods of doing things in-game
mdgunn replied to sjg's topic in General Discussion
This is actually an interesting topic and I bet people have quite a few things they could be mention but I've got nothing coming to mind right now! Sorry! -
Great! I would hope it was super accessible so you can highlight a keyword or method in IDE, hit F1 (or whatever), and it will take you to exactly the right place. If you're looking at CHM then probably yes? I personally do still use the CHM files in some software I have and certainly have occasions when I'm cursing a lack of internet for access to online docs. As it seems you are thinking of both online and off then if they can be output from a single source so it's not a nightmare managing it (at least keeping it synched). Here is my approach to finding online documentation in the absence of a good F1 on keyword assistance.... 1) Go to root API web site - should be simple but people (like me?) are stupid and lazy and I'll forget the quickest way in the IDE and drop back to some habitual method to get there instead. a) bring up desktop brower b) click on address bar c) type the FULL url in and do a GOOGLE(!) search d) select either leadwerks main site or API site if you see it. e) find yourself on the wrong page so do several more clicks and end up at the API.... 2) Hit search tab 3) Type your search term 4) Hit Enter 5) Read the results 6) Try to determine which one is probably the right one (sometimes) 7) Click the link 8) Finally read the item Exaggeration of course but to be honest I probably do LITERALLY ALL OF THE TIME Should be 1) Double click method to highlight 2) Hit F1 3) Read 100% correct item for what you were on. I've used other software (similar to leadwerks that worked well this way). Could be some downside? I didn't see any at the time. Nice to see things moving forwards in this area. I suppose we just need to make sure the examples are good as they were before and maybe even more of them with feedback from users (comments etc.). Good stuff.
-
I've been playing round with particles for some longer session in the editor recently and I am seeing them bunch up after a while of letting them run. I am using a number of emitters together, up to about 5 (as you need to if you want something a bit more convincing or interesting) but with fairly low quantities (e.g. about 10-20 each). The waterfall I was doing ended up with all the water bunching up so it looked like someone was throwing it from a bucket. If I changed the duration (even by 1) then it seems to restart the emitter, 'reseeding' it so the particles a are spread out again. I don't think it's related to multiple emitters or low particles but its more obvious in that situation. I don't think I'm doing anything special. I've seen this before but at the time I think maybe it was just an editor thing but I see it in game as well There could be a reasonable explanation for this relating to the low amount of particles but it seems you should be able to have low numbers and have a way to avoid bunching as well. Bug or known way round this?
-
Are there other ways of achieving this? (aka "Collisions, updates, and you!")
mdgunn replied to sjg's topic in Programming
You meant you do this? store the current rotation turn the source to point at the target log the rotation compare original rotation to rotation to target turn back to original heading so everthing appears as it was for the screen refresh? If that's what you mean then that is what I ended up recently to do an enemy FOV check, though I suspected that using 'proper' math, vectors and trigonometry may be faster and potentially more useful for me to understand. I stumbled one or two articles I think but I've yet to read through it properly and get a grip of this. I suspect it will all be terribly useful for constructing a 'radar' or in-game dynamic map. -
You want to use the methods of the Context object. See here. http://www.leadwerks.com/werkspace/page/api-reference/_/context/ E.g. http://www.leadwerks.com/werkspace/page/api-reference/_/context/contextdrawrect-r724 http://www.leadwerks.com/werkspace/page/api-reference/_/context/contextdrawimage-r721 http://www.leadwerks.com/werkspace/page/api-reference/_/context/contextdrawtext-r731
-
If you are wanting global water (water everywhere of a SINGLE specific level) then you want the scene water as previously indicated. If you want some local water perhaps at different levels (e.g. various pools) then the cheap water may do it for you. You need to apply the material that is downloaded with the asset to a CSG brush - the primitive objects you build a level with (e.g. a cube), BUT then you need to go into the script tab for that object and set up the cheap water script that came with the material. It is the script that will animate the texture. You might want to play around with the scale of the texture or the speed that the script is animating at to get it how you want. Also I think the cheap water can use environment probes so put a probe in the room/area with the pool and build global illumination (in tools menu I think?) and I think you will get some blurred reflections. You may need to experiment a bit.
-
Thanks for that. I tried your script and i DO get a button though there are very many differences with current code. I don't have any background image of the map though, just back background. If I comment out the GUI stuff the view of the loaded map returns. I also retried things at home (was on my standard work desktop earlier) and the code that didn't work (at work) works a bit better at ome. I now see text and a tiny dot or square (presumably the button outline). Thanks for helping me get a bit further. I might poke around a bit more and also re-consider going back to FlowGUI for now.
-
Having problems with my first try at getting the Leadwerks GUI code running for some menus. I got the exact code from this blog post.... http://www.leadwerks.com/werkspace/blog/1/entry-1714-leadwerks-gui/ and tried to run it but I get nothing. Am I missing something, did something change? I'm on the beta branch and I see no errors but I also don't see a button. I realise this is not final release but it looks like others are using it with success so any ideas what I'm doing wrong. Here is the main.lua I created from the blog post code... --Initialize Steamworks (optional) Steamworks:Initialize() --Set the application title title="$PROJECT_TITLE" --Create a window local windowstyle = window.Titlebar + window.Resizable-- + window.Hidden if System:GetProperty("fullscreen")=="1" then windowstyle=windowstyle+window.FullScreen end window=Window:Create(title,0,0,System:GetProperty("screenwidth","1024"),System:GetProperty("screenheight","768"),windowstyle) --window:HideMouse() --Create the graphics context context=Context:Create(window) if context==nil then return end --Create a GUI local gui = GUI:Create(context) --Create a new widget local button = Widget:Create(20,20,300,50,gui:GetBase()) --Set the widget's script to make it a button button:SetScript("Scripts/GUI/Button.lua") --Set the button text button:SetText("Button") --Create a world world=World:Create() world:SetLightQuality((System:GetProperty("lightquality","1"))) --Load a map local mapfile = System:GetProperty("map","Maps/start.map") if Map:Load(mapfile)==false then return end --window:Show() while window:KeyDown(Key.Escape)==false do --Process events while EventQueue:Peek() do local event = EventQueue:Wait() if event.id == Event.WidgetAction then if event.source == button then System:Print("The button was pressed!") end end end --If window has been closed, end the program if window:Closed() then break end --Handle map change if changemapname~=nil then --Clear all entities world:Clear() --Load the next map Time:Pause() if Map:Load("Maps/"..changemapname..".map")==false then return end Time:Resume() changemapname = nil end --Update the app timing Time:Update() --Update the world world:Update() --Render the world world:Render() --Render statistics context:SetBlendMode(Blend.Alpha) if DEBUG then context:SetColor(1,0,0,1) context:DrawText("Debug Mode",2,2) context:SetColor(1,1,1,1) context:DrawStats(2,22) context:SetBlendMode(Blend.Solid) else --Toggle statistics on and off if (window:KeyHit(Key.F11)) then showstats = not showstats end if showstats then context:SetColor(1,1,1,1) context:DrawText("FPS: "..Math:Round(Time:UPS()),2,2) end end --Refresh the screen context:Sync(true) end
-
Thanks for the info. I'll do a few more tests when I get home.
-
I have something transparent. Z-sort seemed to be the key (thought I'd already tried that). Seems difficult to get something that is only slightly transparent. Maybe this is the way this transparency works, or are you supposed to modify the shader or pass values into it?
-
Can anyone explain or provide an example of a material using the transparent shader and any key things you need to do or set. Thanks
-
Thank for the replies. I am thinking that in developing a model I'm going to be refining and re-importing it a number of times. Re-import unfortunately seems to wipe everything you've set up for the model (normal map correction, animation, scale etc.) The text file should help me quickly get the animations set back up at least. Kinda wish that if you're asking to RE-import something it at least gave you the option of re-applying some of the work you did last time and almost certainly don't want to repeat every time. Guess wiping it out is simple and clean. Thanks!
-
In the model viewer there is an option to import an animation. I think if you have the right format of text file then it can construct the multiple animations from a single track if you tell it which frames to pull out. I can't find the format for this anywhere. Can anyone supply a link to this information, or the information itself for the format of the text file?
-
Is Character Controller Suitable For Flying Enemies?
mdgunn replied to mdgunn's topic in Programming
Yeah I think I can take a few functions from AI scripts (distance to target etc.) but movement and collisions will need to be my own. Thanks for a confirming voice. Cheers, Michael -
I have some simple flying AI enemies that close distance to a player and I've started out just using simple distance checks, turns and moves as I thought that using standard character controller monster AI would not work for flying enemies. Is it right that character controller is not suitable for flying enemies,or should it work if set up or 'faked' right (e.g. some pivot to act as a 'ground foot' or something - fro me it may not be suitable as my enemies descend from high and should pass over obstacles they are currently above)? I'm thinking the character controller is designed for enemies that touch the ground in order to make use of the navigation mesh? Anyone got any feedback on how they went about flying enemies?
-
Yep staying safe in most areas (sound effects, core software etc.) helps you actually finish something! I like to try to progress with my skills in a particular area too. I plan to use Leadwerks and stay fairly safe with a first person game of some sort. I hope to refine my skills a bit in modular level creation and possibly some simple 3D asset creation. I forgot to mention but there are quite a few people stream their development or blog their progress so you get some good ideas of the tools people use and their workflows which can be interesting.
-
Ludum Dare 37 starts in 12 hours (as I type this) http://ludumdare.com/compo/ https://ldjam.com/ Most of you probably know (I think), but Ludum Dare is a game dev competition where you have to complete a game in 48 hours from scratch (no externals assets I think). The JAM portion of the event is a bit more relaxed and gives you 72 hours (if my memory serves me right - I really should check the rules) You can use external assets (I think - again I should have checked the rules before posting this right ). In the past I have sometimes participated unofficially and used it as a focus point to force myself to try to do a game in very tight timescale and so be forced to jettison most of the fluff you waste your time with normally. I think I might give the JAM (not the DARE) a go this year but probably just unofficially for my own benefit. Don't necessarily plan to submit anything as currently I already know I will have limited time over this weekend so it just might not happen. I suppose one outcome could be that I come up with the start of a small game I can enter into the Leadwerks Winter Tournament in just 2 days and can then either choose to submit that or continue on with my main idea. It can be a useful event to try out something that you've never got round to before in a bit of software (e.g. Leadwerks) and to refine your workflow. Sometimes there are also offers on software around this time which area usually highlighted on the site though I can't see any information on it at this time As I type this the theme is currently accepting voting still. https://ldjam.com/events/ludum-dare/37/theme Having a theme helps focus your mind but also think of things that might be outside your preferred area (space zombies etc.) If anyone decides to enter, officially or unofficially then good luck.
-
I will PM GarlicWaffle and see if I have any Steam Keys he wants.