Jump to content

aiaf

Members
  • Posts

    720
  • Joined

  • Last visited

Everything posted by aiaf

  1. aiaf

    VR Test

    Just make sure you have a copy of your correct repository in some other place as backup in case you delete local content. I can reset the online repository to my previous commit, then you clone in a NEW directory and add there your model changes.Tell me if you want to do like this. Lets get on discord if you still have problems .
  2. aiaf

    VR Test

    Looks great even without texturing. Explore mode idea is cool, like a vr post game article.
  3. Running under debugger something helps identify problems. But the ultimate tool for this is in the linux land its valgrind detects memory leaks and other kind of memory stuff. To tell the true there are for windows also Dr Memory(free but never used it) and purify (this one is expensive).
  4. What you described above is exactly what I want.I called it a gate thinking of stargate series.
  5. No, something like a bottom part of a star trek teleport on the ground. And a tech device near that circle extruded from ground.
  6. I thought about it and think is not a good idea to reveal too much of the background story from beginning. So this is the end level dialog (in library room) LibraryDialog = { ["11"] = {speaker = "Aldrin", text = "Greetings i was expecting your arrival. \nIm the librarian and here to brief and guide you.", navButtonType = "Continue", choices={}, func = nil}, ["21"] = {speaker = "Aldrin", text = "Radiation alarm!!!!! \n\nSystem failure detected, fault correction subsystem active.\n Library system severely affected.\n Implement physical backup procedure.", navButtonType = "Continue", choices={}, func = nil}, ["31"] = {speaker = "Aldrin", text = "My databanks are beeing destroyed,\n the Monolith is doing damage control but all systems seem affected", navButtonType = "Continue", choices={}, func = nil}, ["41"] = {speaker = "Aldrin", text = "I dont know how much time till my core systems will be destroyed, \n i suspect we dont have much time.", navButtonType = "Continue", choices={}, func = nil}, ["51"] = {speaker = "Aldrin", text = "Pitty i didnt have a human in here for a long time...", navButtonType = "Continue", choices={}, func = nil}, ["61"] = {speaker = "Aldrin", text = "I dont have the time to explain,\n we were suppose to spend couple of months here for the learning process.", navButtonType = "Continue", choices={}, func = nil}, ["71"] = {speaker = "Aldrin", text = "Pay attention!\n i know is confusing for you. im uploading the data to a small terminal near cryo room 004.\n Remember this!", navButtonType = "Continue", choices={}, func = nil}, ["81"] = {speaker = "Aldrin", text = "I dont want to die... protect ..fdsrfdsfd . 004... fsdf... rewr.. fdfsf .island.. .. .", navButtonType = "End Dialog", choices={}, func = LibrarianEnd} } After this the second map will get loaded (the cryo room). I still need to do some details: -if you jump off the level(suicide) want to go begin level with a special message -somewhat cool but not necessary at moment, persist on disk camera position and orientation when exiting game -climb on top of monolith -maybe add a tree model to the library room for more visuals ? -red alert animation -at begining show the name of the level -play with lights to make room look better ?
  7. That book is there to evoke a library for the player but pedestal and rest are scifi.
  8. I forget: Some kind of teleport pad, to replace the 4 cubes now in level.This one be same size as default editor cube. A pedestal with a book on it.Want to use this to access library in second room. A flashlight model i want to pick from ground. This weekend ill do some more stuff on first level.
  9. Im thinking to keep the green grid for this level, it fits good for a computer simulation. So need the models with grey texture and the monolith with the 004.
  10. Thanks Scifi, this level story wise is like a computer simulation before you wake up in cryo room.
  11. Well i added another commit with more dialogs. Have a play need feedback.I need to know if you manage to exit the level.Or you get stuck etc Any other problems. Can some of you improve/correct the dialogs? (english is not my main language). Mdgun if have the time would be great to have a description of this level added to the design document.Lets call it "The Trials" should be first level.When you exit you wake up in the cryo room. Some of the things needed for this room: 1.monolith dark texture with 004 on it 2. gate model 3.terminal to put on Wall 4.small tablet 5.room textures 6.a table model 7.some nice light environment
  12. The monolith now has some more interaction with player. For example if you use Push data from terminal i assume the player understand how to make inputs and i update the reader from monolith: "Good, you pushed some data into the command buffer.\n I need you to fully activate my systems asap\n Input the following activation command: \n\n N 1 S 1 E 0 W 0 U 0 D 0 \n\n Come back when is done." After you put the monolith online, the behavior of the gates changes.Now its like there are 4 rooms around the central one.Only the east gate is open in the commit i made. The funky part is how i implemented this , i only have one map and i hide models, rotate,translate the camera so you have the impression you entered another room. You can see this in script TriggerMapMutation.lua My plan is to add more dialogs(tasks) with the monolith then I will start to polish things up.
  13. Im done with main mechanic for the first level , mostly. Player can input data to the monolith (aka computer) in a strange way (using the gates and terminal) I still have to implement the commands See if you figure it out with current in game descriptions. Also computer could ask you questions. And you will answer and input the data with the system above. For example it will ask what is the fifth fibonacci number or logic questions. Still to do.
  14. aiaf

    Screens

    Working on mechanics for first level. Terminal dialog is now working.
  15. I figure it out how to integrate the level im working now with the document without changing much. So this new level will be first (lets call it The Trials or something). The story will be the hero is still in the cryo chamber but about to be woken up, and the first level is a simulation in his brain.Created to prepare him for the awakening from cryo room. And the goal is to test hero is still sane and activate the main island computer.Or something like that. So the cryo room will remain the same, someone can start to implement that if they want.
  16. Save serpent.lua i linked earlier and Serializer.lua below. Serializer = {serpent = {}} function Serializer:new (o) o = o or {} setmetatable(o, self) self.__index = self local lserpent = require("serpent") self.serpent = lserpent return o end function Serializer:save(data , filename) local stream = FileSystem:WriteFile(filename) stream:WriteLine(self.serpent.dump(data)) stream:Release() end function Serializer:getSerpent() return self.serpent end First decide when you want to save your data. And since you dont get it yet, do a test use just a save file (call it savefile) to save the current map name. When you load your map or when you change the map save the name in a variable (mapname) --this table is the data you want to save gamedata = {"currentMapName" = mapname} I assume you have some kind of ui , make a button save , and put your save code in the on click handler.Or whatever when you click S key. gser = Serializer:new() gser:Save(gamedata, "savefile") If you look on disk you will have the savefile with your data. And this is the load function you need to call at start game function load() local stream = FileSystem:ReadFile("savefile") local data = "" if (stream) then data = stream:ReadLine(); stream:Release() end local fun, err = loadstring(data) if err then error(err) end return fun() end Load data: gdata = load() so you say mapname = gdata ["currentMapName"] then load the saved map.
  17. You should save to disk only what is needed to recreate the state you where in. For example say you want to remember player position and the current map: { x = 0, y = 0, z = 0, currentmap= "level2" } Save this to disk. Load function at start of game.Set player position and load the level from the disk data. Etc Start small think what is needed to be saved. And do some small tests. Ways to save to disk: This lib can help by serialize lua tables: https://github.com/pkulchenko/serpent Other option is to use api provided by leadwerks: https://www.leadwerks.com/learn?page=API-Reference_Object_Stream Another solution is to use sqlite.
  18. Work in progress on first level.I make this post to keep you updated. I commited the changes so you can see. Just using csg and focus on mechanics. So far: Reader usage (at start game, on mouse over and use key) Pickup flashlight and pistol (walk over small cubes on ground) Some kind of teleport system (works but keep you in same room intentionally).Have some more ideas here to work on. Fade in effect
  19. From time to time we should post screens to show progress.
  20. Thanks i got it. In collision of the fps player i have: if ename == "EastGate" or ename == "WestGate" or ename == "NorthGate" or ename == "SouthGate" then entity.script.target = entity:GetKeyValue("name") end And in collision of the gate: if self.target == "EastGate" then entity:SetPosition(-9, 0, 0, true) entity.script.camRotation.x = 0 entity.script.camRotation.y = 90 entity.script.camRotation.z = 0
  21. SetRotation doesnt work on fps player. I found in forums SetInput , but i cant make it work so far. I just want to rotate the camera say 90 degree on y axis.Any ideas? Script.mapname=""--string "Map Name" function Script:Start() self.enabled=true end function Script:Collision(entity, position, normal, speed) --ent = world:FindEntity("simplefpsplayer") entity:SetPosition(-9, 0, 0, true) --What to do here to rotate the simple fps player camera end function Script:Enable()--in if self.enabled==false then self.enabled=true self:CallOutputs("Enable") end end function Script:Disable()--in if self.enabled then self.enabled=false self:CallOutputs("Disable") end end
  22. function Script:Collision(entity, position, normal, speed) entity:SetPosition(-9, 0, 0, true) end This solved the problem with the position, but still dont know how to rotate the camera.
  23. Im not used to this le scripts.So have quick question. In fps player script local camera is created: self.camera = Camera:Create() How can i access this camera from another script ? I want to se the position from another script. Is it any way or i should create a global camera.
×
×
  • Create New...