Jump to content

Alienhead

Developers
  • Posts

    622
  • Joined

Everything posted by Alienhead

  1. Okay, everything is right inside the editor.. Runs fine.. The published version however does not. It's goes through the setup, initializes the screen and then dumps out, no error. I do not use a start.map as I have a more conventional map naming system in play. What does LE 4.6 do differently than my code inside the dev environment? I use none of the lua templates that come with a fresh project by the way.
  2. Lol, I loved those days. I wasn't new to programming ( as it was called ) back then but I was brand new to 3D programming. I remember when I was making Beasts Online in Darkbasic vanilla, it was a mmorpg game but DB had no multiplayer or communication commands so I wrote a server then clients in VC and had to feed the DB application the packets via the Clipboard commands. Ahhh the ingenuity, and that was after DB had been around a few years, the clipboard commands were added later. I used the HD for packet control. lol. ( Sorry WSI, I got way off topic there... just that Halo... errrr. I mean Josh, brought back some fond memories.
  3. The actual LUA founders site is pretty darn good itself, although I'm sure you already been through that tutorial but if not here it is - https://www.lua.org/pil/1.html To me I always found the language wasn't that important at the start. Once you got a full grasp on any coding language, be it Dark basic, Blitz3d, Blitzmax, pascal, python.. anything.... once you understand the flow of coding in general then plugging in any language to that understanding is as easy as 'connecting a to b'.
  4. Easy way to force Lua into using CONSTANTS. Actually you can protect any table you create this way, doesn't have to be a table labled const. const = {} const.avar = 10 protect(const) ------------------------------------------ function protect(tbl) return setmetatable({}, { __index = tbl, __newindex = function(t, key, value) error("attempting to change constant " .. tostring(key) .. " to " .. tostring(value), 2) end }) end
  5. Alienhead

    screenshot0.jpg

    Leadwerks is full of wondrous little easter eggs as you will begin to discover in your quest. I honestly don't know how I've ever used anything but LE.
  6. I'm heading out of town for a week, so I thought I'd drop my latest screenshot off before leaving. The Carnage has begun!
  7. Guys, if you haven't tried any of Eric Matyas stuff yet, your missing out.. This stuff is grade A. Ty again Eric Matyas.
  8. 500, 000k polys, I'll tell you what he eats for breakfast ... gpu's ...
  9. Sometimes you just got to take a break from the serious coding and do something fun and different for a few hours.. That's just what I did today, Standing idle near a record/guitar store will send the player toon into a rock n roll dance, music and particle effects included ! Has no impact on the game play whatsoever, but it was fun to get off the 'serious' train for a day.
  10. Alienhead

    BC6H Compression

    Very nice looking skybox img.
  11. It's been quiet around here the last few days, just thought I'd keep the water circulating.. Screenshot from my project - working on boss behaviors..
  12. Just to post a follow up on this topic . I spent the last week and half rewriting a good portion of my code to accommodate for the cache system I've implemented. No longer do I remove a single object or Release() anything during live play. I cache load a certain amount of objects I'll need, example: 10 spark emitters get loaded, the code calls for one that's not in use, it then gets used by the calling function and tossed back to the cache pool awaiting another turn. I actually do this with any and everything in the code now - from emitters, to decals, to objects to mdl's etc.. The results is fantastic. I no longer have any random lock ups or freezes, the maps load and unload with ease and the mesh deforming problem all but disappeared under this new system. Basically just let LE handle all the removal via world:Clear() and reframe from using anything 'Load' in live stream gameplay. I address the lua table problem I was having ( mentioned above ), I used a system simular to tokenization, in short combined table arrays with less tables but using array static identifiers to differentiate between the different fields of data used in the tables. In short, I went from using close to 100 different tables down to 4 and the old issue I was having vanished. I've actually noticed a pretty decent jump in framerate and overall smoothness as well. Now that's all done I'll be glad to return to actual game developing.. The show must go on !
  13. I got a simple table I create to store some misc. objects loaded from a map. For example I'm caching a list of 'breakable' objects after I load a map : for x=0,world:CountEntities()-1 do local entity = world:GetEntity(x) local name = entity:GetKeyValue("name") if name == "breakableglass" then entity:Hide() table.insert(bglass, {entity = entity, active = true }) end end This works fine the first pass through, during my cleanup, before loading a new map, I simply reinitialize the table : bglass = {} Now on the next pass through LE kicks back this error : Object table not found. The table is clearly created in a global scope outside of the functions. I then thought, okay I won't reinitialize the table, I'll just remove it's entries. for r, g in pairs(bglass) do table.remove( bglass, r ) g= nil end Still I get : Object table not found. on the next pass, works fine when initially running the application., just can seem to reuse this table whatsoever. It's these kinda quarks that take so long to do anything in LE, to the point I almost dread adding anything new to my project. in fear of everything breaking... so fragile. Ironically, this error only occurs or 'shows up', I should say, when running in non-debug mode. Running in debug just produces a silient client crash. Does anyone have an answer to an Emitter question - Are emitters self-removed ( deleted ) upon reaching the end of their play cycle? Im starting to think alot of my problems are coming from removing debris and smoke emitters after they are played out. Would it be better to load, say like, 10 smoke emitters on mapload(), then just move these same emitters around the screen as they are needed and not delete/remove them after play ?
  14. Alienhead

    Terrain Blending

    This is really cool. nothing I love more than playing a game and looking down to see tiny details all over the terrain.
  15. Commercially optimized engines are a far-cry from leadwerks or any other engine accessible by indies, save Unreal 5.
  16. Yup good to go, cause was due to parenting and releasing, something got whacky. I did a follow up on it here - https://www.ultraengine.com/community/topic/60996-possible-cause/ Thanks for a having a look.
  17. Yes. Posted Monday at 12:48 PM .....
  18. Script: General. Deletion code starts at line 20 ( garbage collection ). Thanks for having a look though !
  19. A really good chance that when you have the following situation occur the game session randomly ( or as of late - not so randomly ) crashes without warning, error or cause. Create a sphere ( or any object or pre loaded or live loaded object ) Attach anything to it via SetParent() In my case I have a long slow traveling bullet that I attach several smoke trail emitters to as it is in flight. At any point if anything parented to the main parenting object is removed :: if em.ent:GetParent() ~= nil then em.ent:SetParent(nil) end em.ent:Release() This is a normal call, nothing happens out of the ordinary here.. the emitter ( or whatever is attached via code ), is removed as it should be. The problem comes later, it can be 5 mins or 30 mins ( or worse yet, sometimes never at all )... but when you Release() the parent entity- be it ent:Release() or by world:Clear() the entire game session crashes with no errors, warning or syntax. I've really found it best, if your parenting items shorterm -, is to Hide() them instead of releasing them and just let them die with the -parent on release() or clear().
  20. I got it working finally. I've got about 40 of them lil' skele's on screen now, with shadow. Now! back to game dev
  21. Okay here's my full work around, besides from 'having to use' the Asset.Unmanaged flag, I've created a simple lua table to hold each and every parented entity, before calling world:Clear() I cycle through the parented list and unparent.. then call world clear.. so far no lockups or freezes or silent crashes and the mesh deformation has stopped. Now to go back through all the code and set the parent/unparent stuff correctly so i can do away with the quick hack. Scratch that, still happening on further testing ;(
  22. I found a fix, not sure how efficient it is but I added the Asset.Unmanaged flag to the load command and it stopped the corruption.
×
×
  • Create New...