Jump to content

Angelwolf

Members
  • Posts

    262
  • Joined

  • Last visited

Everything posted by Angelwolf

  1. I have this issue as well - though I'm running Solus, not Ubuntu. Leadwerks would not start natively in Steam. However, there was an option to force it to run under the Steam Linux Runtime: Good enough, now it starts. I make a basic scene, but when I try to test I get the following: Executing "\home\administrator\Documents\Leadwerks\Projects\Darkworld\Darkworld"... ERROR: ld.so: object '/home/administrator/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. /home/administrator/Documents/Leadwerks/Projects/Darkworld/Darkworld: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /home/administrator/Documents/Leadwerks/Projects/Darkworld/Darkworld) Process Complete. I checked through my system folders and sure enough /usr/lib/x86_64-linux-gnu/ did not exist, so I created it. Next I located libcurl.so.4 (of which I found in both /user/lib32 and /user/lib64) and copied it into the new /usr/lib/x86_64-linux-gnu/ directory. I still get the same error, whether I use libcurl.so.4 from the 32 or 64 libs. Next I figured why not try it under Proton though the Steam compatibility options? Probably not the best way to do it, but worth a shot. It starts but hasn't remembered any projects. Easy enough to re-import them. I make my scene and try to test it. Amazingly... it works! I can run, jump, look around. Once. If I press the Play button again, I'm given this cheery error: Clicking cancel in an effort to debug lumps me with an error reading EXCEPTION_BREAKPOINT. Clicking OK shuts Leadwerks down. Rather frustrated... I jumped to Linux to escape the Microsoft Big Brother. Linux compatibility is really good these days, especially with tools such as Proton and Lutris. System specs:
  2. Okay, I have no idea how I missed this in the documentation previously but I've just tried it and it's amazing! Should really get this added into the FPS script so people know it's there and can take advantage of it. Will definitely be using this in my game(s)!!
  3. Mr Tiddles has indeed been missing for some time. I wonder what could have happened to him? You know, Paradise Apartments offers the best plants and benches this side of the coast has to offer! Plants And not-so comfortable benches
  4. Fog would be an amazing addition! Not only to assist with rendering, but also for atmosphere.
  5. Been working on the hallways of Paradise Apartments... A bit less square now, and there's even heating What would a shady apartment complex be without fly posters? Mr Tiddles... Have you seen him?
  6. Supernatural City A supernatural, gothic adventure... Hi everyone, I'm back again with a new project in the works. Using the techniques and skills I've learned from my other Leadwerks titles, I'm now working on a game I would like to give a full, honest effort at trying to make with a view to a Steam release. Set in the early 90's, Supernatural City (working title) will be a first person gothic adventure inspired by Vampire the Masquerade 2: Bloodlines. How did you get here? Who knows. What is your purpose? You'll have to find out. Are you a smooth talker or an intimidating beast? That's your choice. With a dark, grim setting, rich dialogue and options to level up, the player will find themselves immersed in an engaging environment right from the get-go. Struggles can be overcome with stealth, charisma, or old fashioned brute force. Nearly all choices will have a consequence. There are no right or wrong ways to complete your assignments, so long as the job gets done. Is my project too ambitious? Perhaps. Will that stop me? No chance. Where you wake up A strange apartment. Do you own it? How did you get here? The ominous hallways outside of your apartment A neighbour's place, but noone is home This one is abandoned. Is this city that bad? This one is being renovated. Perhaps this city is showing signs of getting better? Dialogue options will reveal your true colours... Assignments will keep you busy and unravel the mystery of your purpose... I'm naturally at the very early stages of this project. I'll be updating this thread with my progress, perhaps even seeking help and advice when needed. I hope you enjoy following my journey.
  7. Nice content. Great work!
  8. Angelwolf

    For Ever Pawn.

    Might I suggest making one thread and putting all your content on there instead of lots of little individual threads? Would make it easier to keep up to date on your progress, as all images/videos would be inside one thread ?
  9. This could be really helpful to a lot of people here. Shame it's only C++ though ?
  10. Your code is probably overwriting the menu code. I doubt this is a problem with Leadwerks but your code. Maybe repost in a relevant board and include your code? Instead of setting the context, just use get and assign to a variable
  11. This is odd. I do not have issues like this - when my game is run then the game is just a larger version of the windowed mode. Do you still have the same problem if you set System:GetProperty("devmode")=="1" to System:GetProperty("devmode")=="0" Also, do you have the same problem if you set windowstyle = Window.Fullscreen to windowstyle = Window.Titlebar
  12. You're right. I set up an exclusion within Windows Blinds for Leadwerks and the issue no longer persists. Definitely a compatibility issue there but, luckily, easily solved without having to remove the software.
  13. I'd like to ask what you mean by this? When you say that only a part of the game can be seen, are you saying that a chunk of the viewport (ie player) is missing or something you're drawing over the top (like a hud or text)?
  14. Leadwerks is the only application which is doing this. I remember, however, that I recently installed Windows Blinds given there was a sale and I wanted to treat myself. Perhaps there's a compatibility issue between the two. I'll see if I can do some experimenting to confirm in case there are any other users that have this issue in future.
  15. Honestly, with the work I've done so far, I'm not prepared to reinstall for something that may not fix the issue, and for something that may come up again. It's an inconvenience given I can activate the menus with Alt F but I'm not liking the idea of reinstalling at this point.
  16. Bit of an odd one, I'm sure there's a simple fix but I'm not sure how. I cannot use the mouse to select items on the title bar within Leadwerks (File, Edit etc). I can use keyboard shortcuts to access these menus (eg, Alt F) and then use the mouse. Any ideas?
  17. This looks quite interesting, thank you. How, exactly, does it work?
  18. Thank you for your assistance with this. Our baby daughter had a good sleep which gave me a good night of sleep for a change. I've gone back to the drawing board with this and it appears to work, and is much easier to read. I'm sure there is still a better way, but this works - so thank you for your help. Any comments are very welcomed. import "Scripts/Functions/ReleaseTableObjects.lua" Script.enabled=true--bool "Enabled" Script.npcname=NPC--string "NPC Name" Script.indialogue=false--bool Script.intro = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - Intro.tex") --texture for the dialogue box (initial intro) Script.introdonerude = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - introrude.tex") --texture for the dialogue box (if they player was rude, show this intro next time they interact) Script.introdone = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - introdone.tex") --texture for the dialogue box (intro once the player has already spoken to the NPC once before) Script.askedname = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - name.tex") --texture for the dialogue box (NPC tells player their name) Script.askedlocation = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - location.tex") --texture for the dialogue box (NPC tells player where they are) Script.dialogue = Texture:Load("Dialogue/Downtown/Paradise Apartments/dialoguetest.tex") diagboxcolor = Vec4(1,1,1,0.8) --colour parameters for hudbox, and for alpha diagboxLength = context:GetWidth() --set dialogue box length to the same length as the game window diagboxHeight = context:GetHeight()/3 --set dialogue box height to one third of the height of the game window xback = 0 --set the back (left side) (x) of the dialoge box to the left of the game window yback = context:GetHeight() -diagboxHeight --set the back (bottom) (y) of the dialogue box to the bottom of the game window function Script:Start() self.dialogue = self.intro --Set this as the default dialogue text end function Script:Use() if self.indialogue == false then --Check to see if the player is available for dialogue self.indialogue = true --Register that the player is in a dialogue playerCanMove = false --Stop player form moving when they're in a dialogue end end function Script:UpdateWorld()--in if self.indialogue == true and self.dialogue == self.intro then --Give player the initial introduction if window:KeyHit(Key.F1) then --Player asked name self.dialogue = self.askedname --Change graphic to askedname else if window:KeyHit(Key.F2) then --Player asked location self.dialogue = self.askedlocation --change graphic to askedlocation else if window:KeyHit(Key.F3) then --Player told NPC to buzz off self.dialogue = self.introdonerude --Change graphic to a rude introduction next time (player and NPC have met before) self.indialogue = false --Remove the player form dialogue end end end end if self.indialogue == true and self.dialogue == self.askedname then --NPC answered with their name if window:KeyHit(Key.F1) then --Player asked location self.dialogue = self.askedlocation --Change graphic to askedlocation else if window:KeyHit(Key.F2) then --Player said goodbye self.dialogue = self.introdone --Change graphic to a nice introduction next time (player and NPC have met once before) self.indialogue = false --Remove the player from dialogue end end end if self.indialogue == true and self.dialogue == self.askedlocation then --NPC answered with location if window:KeyHit(Key.F1) then --Player asked name self.dialogue = self.askedname --Change graphic to askedname else if window:KeyHit(Key.F2) then --Player said goodbye self.dialogue = self.introdone --Change graphic to a nice introduction next time (player and NPC have met once before) self.indialogue = false --Remove the player from dialogue end end end if self.indialogue == true and self.dialogue == self.introdone then --Player and NPC have met before if window:KeyHit(Key.F1) then --Player asked NPC to remind them of their name self.dialogue = self.askedname --Change graphic to askedname else if window:KeyHit(Key.F2) then --Player asked NPC to remind them of their location self.dialogue = self.askedlocation --Change graphic to askedlocation else if window:KeyHit(Key.F3) then --Player said goodbye self.indialogue = false --Remove the player from dialogue end end end end if self.indialogue == true and self.dialogue == self.introdonerude then --Player and NPC have met before and player told NPC to buzz off if window:KeyHit(Key.F1) then --Player apologised and asked for name self.dialogue = self.askedname --Change graphic to askedname else if window:KeyHit(Key.F2) then --Player apologised and asked for location self.dialogue = self.askedlocation --Change graphic to askedlocation else if window:KeyHit(Key.F3) then --Player told NPC to go away self.indialogue = false --Remove the player from dialogue self.dialogue = self.introdonerude --Remember that Player has been rude to NPC end end end end if self.indialogue == false then playerCanMove = true end end function Script:PostRender(context) context:SetBlendMode(Blend.Alpha) if self.indialogue then context:SetColor(diagboxcolor) context:DrawImage(self.dialogue,xback,yback,diagboxLength,diagboxHeight) --draw the dialogue box in the screen (within the Script:PostRender(context) function end end function Script:Disable()--in self.enabled=false end function Script:Enable()--in self.enabled=true end function Script:UpdatePhysics() end function Script:Release() ReleaseTableObjects(self.sound) if self.loopsource then self.loopsource:Release() self.loopsource=nil end self.sound=nil end
  19. Could be wrong here (haven't used it myself) but I believe for a left mouse button click it is: window:MouseDown(Key.LButton) There are more details on the mouse down syntax here
  20. Thanks Rick. I did see your LUA library (I understand this is a paid item - no problem). If I were to utilise this, would you be happy to walk me through any troubles I have if I cannot work it out after watching the videos? I think having isolated states would be hugely beneficial and would be the perfect solution for my problem. Something I need to consider is that my game will have a heavy emphasis over dialogue and choices. Will your library be suitable for dialogue on a large scale? Presently I'm using images for dialogue and choices because I find it easier to work with. I could move to text (which might prove better) but I wasn't sure about word wrapping and adjustment for if the player runs at different resolutions. If you would be happy to include a specific dialogue module to your library, or even make one for me personally, I wouldn't object to pay you (or someone) for such a commission, depending on a quote.
  21. Script.enabled=true--bool "Enabled" Script.npcname=NPC--string "NPC Name" Script.hudFont = nil -- REMOVE IF BROKEN Script.indialogue=false--bool Script.rude=false--bool Script.askname=false--bool Script.asklocation=false--bool Script.introdone=false--bool Script.intro = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - Intro.tex") --texture for the dialogue box (initial intro) Script.introdonerude = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - introrude.tex") --texture for the dialogue box (if they player was rude, show this intro next time they interact) Script.introdone = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - introdone.tex") --texture for the dialogue box (intro once the player has already spoken to the NPC once before) Script.askedname = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - name.tex") --texture for the dialogue box (NPC tells player their name) Script.askedlocation = Texture:Load("Dialogue/Downtown/Paradise Apartments/paradise apartments security guard - location.tex") --texture for the dialogue box (NPC tells player where they are) diagboxcolor = Vec4(1,1,1,0.8) diagboxLength = context:GetWidth() --set dialogue box length to the same length as the game window diagboxHeight = context:GetHeight()/3 --set dialogue box height to one third of the height of the game window xback = 0 --set the back (left side) (x) of the dialoge box to the left of the game window yback = context:GetHeight() -diagboxHeight --set the back (bottom) (y) of the dialogue box to the bottom of the game window function Script:Start() self.hudFont = Font:Load("Fonts/hudfont.ttf",12) --REMOVE IF BROKEN, IT IS FOR THE HUD self.introdone = false self.rude = false self.askname = false self.asklocation = false end function Script:Use() if self.indialogue == false then self.indialogue = true else if self.indialogue == true then self.indialogue = false end end --self:Toggle() end function Script:Toggle()--in end function Script:PostRender(context) context:SetBlendMode(Blend.Alpha) -- THE BELOW IS FOR THE INITIAL INTRODUCTION DIALOGUE if self.indialogue == true and self.introdone == false and self.rude == false and self.askname == false and self.asklocation == false then context:SetColor(diagboxcolor) --colour parameters for hudbox, and for alpha context:DrawImage(self.intro,xback,yback,diagboxLength,diagboxHeight) --draw the dialogue box in the screen (within the Script:PostRender(context) function playerCanMove = false if self.indialogue == true and self.introdone == false and self.rude == false and self.askname == false and self.asklocation == false and window:KeyDown(Key.F1) then self.indialogue = true self.introdone = true self.rude = false self.askname = true self.asklocation = false else if self.indialogue == true and self.introdone == false and self.rude == false and self.askname == false and self.asklocation == false and window:KeyDown(Key.F2) then self.indialogue = true self.introdone = true self.rude = false self.askname = false self.asklocation = true else if self.indialogue == true and self.introdone == false and self.rude == false and self.askname == false and self.asklocation == false and window:KeyDown(Key.F3) then self.indialogue = false self.introdone = true self.rude = true self.askname = false self.asklocation = false end end end else if -- THE BELOW IS FOR IF THE PLAYER PRESSES F3 (rude) IN THE INITIAL INTRODUCTION DIALOGUE self.indialogue == true and self.introdone == true and self.rude == true and self.askname == false and self.asklocation == false then context:SetColor(diagboxcolor) --colour parameters for hudbox, and for alpha context:DrawImage(self.introdonerude,xback,yback,diagboxLength,diagboxHeight) --draw the dialogue box in the screen (within the Script:PostRender(context) function playerCanMove = false if self.indialogue == true and self.introdone == true and self.rude == true and self.askname == false and self.asklocation == false and window:KeyDown(Key.F1) then self.indialogue = true self.introdone = true self.rude = false self.askname = true self.asklocation = false else if self.indialogue == true and self.introdone == true and self.rude == true and self.askname == false and self.asklocation == false and window:KeyDown(Key.F2) then self.indialogue = true self.introdone = true self.rude = false self.askname = false self.asklocation = true else if self.indialogue == true and self.introdone == true and self.rude == true and self.askname == false and self.asklocation == false and window:KeyDown(Key.F3) then self.indialogue = false self.introdone = true self.rude = true self.askname = false self.asklocation = false end end end else if --THE BELOW IS FOR IF THE PLAYER PRESSES F1 (name) IN THE INITIAL INTRODUCTION DIALOGUE self.indialogue == true and self.introdone == true and self.rude == false and self.askname == true and self.asklocation == false then context:SetColor(diagboxcolor) --colour parameters for hudbox, and for alpha context:DrawImage(self.askedname,xback,yback,diagboxLength,diagboxHeight) --draw the dialogue box in the screen (within the Script:PostRender(context) function playerCanMove = false if self.indialogue == true and self.introdone == true and self.rude == false and self.askname == true and self.asklocation == false and window:KeyDown(Key.F1) then self.indialogue = true self.introdone = true self.rude = false self.askname = false self.asklocation = true else if self.indialogue == true and self.introdone == true and self.rude == false and self.askname == true and self.asklocation == false and window:KeyDown(Key.F2) then self.indialogue = false self.introdone = true self.rude = false self.askname = false self.asklocation = false else end end end end end --end of else ifs if self.indialogue == false then playerCanMove = true end end Here's my trainwreck of code. Hope it helps to understand what I'm going for. I'm sure there must be a better and more simple way to do this, and I'm willing to re-write this entire thing if need be.
  22. This is exactly right, and what I'm having trouble working out how to fix (because suppose I change the response key to F10, the issue goes away because the initial requirements are still met, but with a different 'fire' button). I'll see if I can get my code online very soon so you can at least see what I mean and also marvel at its lack of elegance. Thanks for the welcoming reply; It's been a busy year or two. Now married with a beautiful daughter!
  23. Hi all, I'm looking to implement dialogue options into my current game, but I'm wondering what the best way to do this would be? I'm not great with Lua as some of you older posters may remember, however I often manage to work my way though things using methods that make sense to me but are not necessarily viable or efficient. So far, I have been using a system with 'flags' whereby depending on the answer the player gives (in the way of pressing F1, F2, F3 etc), a flag is set as true or false which then branches the conversation depending on the answers given. Presently, however, I have hit a snag where my code does not allow me to branch past the second question I need to re-use keys in order to progress the discussion. For example: Question 1: How are you feeling today? (answer) F1: I'm great! (answer) F2: I'm okay (answer) F3: I feel sad Supposing the player presses F3... Question 2: Why do you feel sad? (answer) F1: The weather is bad (answer) F2: My cat ran away (answer) F3: I don't like my salary The problem here is that because the player pressed F3 in question 1, the next question given is question 2 (which is correct) but it immediately answers as F3 again. Can anyone shed some advice on this?
  24. Think there's a mistake, Halloween isn't in February!
×
×
  • Create New...