Jump to content

aiaf

Members
  • Posts

    720
  • Joined

  • Last visited

Everything posted by aiaf

  1. aiaf

    Structura

    Sprites are underrated:
  2. aiaf

    Structura

    A sf rts game im working on and off since i started with Leadwerks. Making a post to show my progress. Working on populating the world: What happens when going full retard and not caring about release date The below is an example of my macro system, the game has at he moment about 140 commands that all can be executed from the ingame terminal. This macro creates the screenshot below: left socket attach left tunnel 3 attach left mine attach right socket attach right tunnel 3 attach right power_plant attach front socket attach front tunnel 3 attach front mine attach back socket attach back tunnel 5 attach back logistic_center attach sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill sockets_storage_fill right powerplant_online left mine_online front mine_online sentinel_undock At the moment just cleaning up and polishing current functionality. Soon more screenshots, movie if i have time to do.
  3. 2019 was slow year for my gamedev hobby. Forth community project really has some good original content, i will make sure it gets released in a form or another. Still working on my game when i find the time. Lurking around and reading about leadwerks 5 progress heh, go Josh! Maybe we get another tournament after Le5 is release Somehow the tournament gives good motivation to make games. Cheers to everyone and a good new year. Some pulsating text example: #ifndef __S_PULSETEXT_H__ #define __S_PULSETEXT_H__ #include <string> #include "Leadwerks.h" using namespace Leadwerks; class PulseText { private: Leadwerks::Context* context; std::string text; double alphaInitial; float x,y; double r,g,b; bool pulse; float rate; public: PulseText(Leadwerks::Context* context, float x, float y, std::string text); void SetColor(float r, float g, float b); void SetPulse(bool active); void SetRate(float rate); void Update(); }; #endif #include "PulseText.h" using namespace Leadwerks; PulseText::PulseText(Leadwerks::Context* context, float x, float y, std::string text) { this->context = context; this->text = text; this->x = x; this->y = y; r = 0.7; g = 0.7; b = 0.7; alphaInitial = 1.0; pulse = true; rate = 0.005; } void PulseText::Update() { context->SetBlendMode(Blend::Alpha); context->SetColor(r, g, b, alphaInitial); if (pulse) { if (alphaInitial > 0) { alphaInitial = alphaInitial - Time::GetSpeed() * rate; } else { alphaInitial = 1.0; } } context->DrawText(text, x, y); context->SetColor(0.7, 0.7, 0.7, 1.0); context->SetBlendMode(Blend::Solid); } void PulseText::SetColor(float r, float g, float b) { this->r = r; this->g = g; this->b = b; } void PulseText::SetPulse(bool active) { pulse = active; } void PulseText::SetRate(float rate) { this->rate = rate; }
  4. Good news. I will be doing small polishing stuff , add sounds etc.
  5. I only added the levels described above.You will need to add to git anything else (cutscenes,temple etc). Below a diagram on how the levels are linked at the moment.To enter vr level you click on the robot in the computer room.Level 4 and 5 when finished will load back Level3. So far is making sense to me, we can change anytime as needed, tell me what you think. Also im thinking to add an island map (there was one that looked good) and link that also to the level3.I think would be nice story wise if the VR level could load dream levels and also real levels (be like a teleporter). Cryo room + temple, ship exit is not linked yet Is a draw.io diagram , i can share if necessary.
  6. I created a new git repo , moved there only the ok levels + resources, and shuffled a bit the order. Level1 - Cryo room Level2 - Ai computer room Level3 - VR level with the monolith Level4 - The arcade dream level1 Level5 - The dream level2 Now the level 3 is a level hub , you enter certain commands and you can move to level 4,5 or come back anytime to the level3. But i have some big problems ... I had another try to add some gameplay to cryo room , but it crashes the editor every time i hit save.Im really annoyed by this dont know what to do.... i like the cryo level. For now i abandon this and start the game from the level 2.Also i cannot attach some scripts... and the crashing of editor starting to piss me off. My idea was to release a demo , we got some nice stuff here , but if you guys coming back is great. I added you the to new git: https://bitbucket.org/alexandru_afrasinei/forth-first-blood/
  7. We would be able to load gltf models?
  8. Yes you are editing the wrong one, send your email to Mdgunn to add you for the proper one. Sorry for confusion.
  9. Ah yes thanks , this is better , i send you the email for adding me with the editing rights. @Slastraf pm mdgun for the editing rights
  10. Mdgunn i know you are a bit busy with other things, can you commit the new ship maps ? i will try to help advance with it. I remember was lot of work there and i will have some more time in the next period for forth. Tell me if its ok for you , if you want to continue work on that for some time i will pick something else. Also we should consider creating the new cleaned up repository for the game. Slas also has some ideas about some new dream levels.
  11. Design doc We need to be able to edit the design document in the same time.I will create one Google doc from the current document. This come to me as Slas was saying he want to edit the doc.
  12. Depends on game I guess.I think for complex models the 3 lod models are widespread.So graphics section takes care of this.Maybe performance needs? Anyway I think this is good feature for turbo.
  13. aiaf

    Coroutine Sequences

    will be something similar to this in c++?
  14. 2111 means: option index 2 depth 1 parent 11 323111 means: option index 3 depth 2 parent 3111 This way the key is unique and i have a variable depth so i can access things in the above table. At begin we are at ["11"] i just draw the corresponding choices table: "Print command", "Print command input", "Select operation", "Input command data", "Clear command", "Execute command" Player click Select operation (that is index "3111"), draw the choices if they exits and execute the corresponding func. dialogManager.goto("3111") Its generic, works for any depth, single inconvenient is the key can get pretty long for higher depth. I could hide that from the user, by using a file with tab as depth specifier that after it generates the file as above. Ill send you the code when i come back to my computer.
  15. aiaf

    Evolution

    Te gui is missing a few examples but its really easy to use and very flexible. https://www.leadwerks.com/learn?page=API-Reference_Object_Widget_Button Btw the gui system will be available to turbo in a form similar to what we have now ?
  16. Load your dialogs from lua files(a table) and have them rendered.You need something generic for all kinds of dialogs and depths. We have something like this in the forth project using leadwerks gui. The choices table tells the next sub dialogs, and each dialog line has a function handler that gets called when option was selected. TerminalDialog = { ["11"] = { speaker = "Monolith", text = "Terminal active. Awaiting commands: ", navButtonType = "End Dialog", choices = {"Print command", "Print command input", "Select operation", "Input command data", "Clear command", "Execute command"}, func = UpdateTerminalDialogData}, ["1111"] = { speaker = "Monolith", text = "Monolith command:\n\n N " .. mNorthInput .. "\n S " .. mSouthInput .. "\n E " .. mEastInput .. "\n W " .. mWestInput .. "\n U " .. mUpInput .. "\n D " .. mDownInput, navButtonType = "End Dialog", choices = {}, func = nil}, ["2111"] = { speaker = "Monolith", text = "Current databanks content:\n\n N " .. northInput .. "\n S " .. southInput .. "\n E " .. eastInput .. "\n W " .. westInput .. "\n U " .. upInput .. "\n D " .. downInput, navButtonType = "End Dialog", choices = {}, func = nil}, ["3111"] = { speaker = "Monolith", text = "Pick type of operation performed when pushing data:", navButtonType = "End Dialog", choices = {"Concatenation", "Addition", "Substraction", "Multiplication"}, func = nil}, ["123111"] = { speaker = "Monolith", text = "Concatenation active", navButtonType = "End Dialog", choices = {}, func = function() selectedOperation = 0 end}, ["223111"] = { speaker = "Monolith", text = "Addition active", navButtonType = "End Dialog", choices = {}, func = function() selectedOperation = 1 end}, ["323111"] = { speaker = "Monolith", text = "Substraction active", navButtonType = "End Dialog", choices = {}, func = function() selectedOperation = 2 end}, ["423111"] = { speaker = "Monolith", text = "Multiplication active", navButtonType = "End Dialog", choices = {}, func = function() selectedOperation = 3 end}, ["4111"] = { speaker = "Monolith", text = "All data pushed", navButtonType = "End Dialog", choices = {}, func = PushTerminalData}, ["5111"] = { speaker = "Monolith", text = "Databanks cleared", navButtonType = "End Dialog", choices = {}, func = ClearTerminalDatabanks}, ["6111"] = { speaker = "Monolith", text = "Execute command", navButtonType = "End Dialog", choices = {}, func = ExecuteCommand} } Its 2 lua classes Dialog and DialogManager.I can send you the files if you want to have a look. Just trying to give you some ideas.
  17. aiaf

    Level01a

    Duh microsoft, Its mpeg4 , guess you could download the file and play it with vlc , or use a proper browser chrome/firefox
  18. Whatever library you use there should be built with MT or MTd(if you use debug version). https://docs.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library?view=vs-2019
  19. aiaf

    Level01a

    Here is a movie with the latest switch i made, there are 3 pyramids that can be selected like this. The player could open the way to enter the selected pyramid. Im not entirely sure i will do the 3 interior room of the pyramids, i dont know what to put in them at the moment.Maybe is better i stop. I have some problems with the buttons not playing the whole sound, i dont know what happens there. test.mp4
  20. Really good progress.Lots of work. Im close to finish with level01a and i will try to help here.
  21. Have a look at my cmake based project for leadwerks (works linux,windows): https://github.com/aiafrasinei/lep If you still need help with this i can do it.
  22. Occlusion culling means that geometry not inside the view of the camera, will not be drawn, for performance reasons. Is good to think of this when designing your level. But your scene seem simple don't know what the problem could be. I had at some point 800 instanced cubes in a scene, leadwerks has no problem with that.
  23. Necro posting , this just happen to me and its 2019. Was solved by driver upgrade.
  24. LEVEL: [level01a] Dream level 2 PURPOSE: let the player discover 3 VR commands, by telling a story and some quests MAIN GAMEPLAY: exploration, arcade, quests, too long to explain here RESULTS: - discover all 3 VR commands - partially discover cmds - exit the level In future choices here could affect more the "real" game world.The ship AI is already involved in the story. The 3 commands to discover are still to be determined.Initially i wanted to have the activate health station in here, but it doesn't fit anymore.And i think this should be introduced after cube/sphere attack because the level is long and don't want to interrupt too much the attack in the ship.Probably after repair of AI room? You get an electric shock and you go to dream level 2? Also in this level you will get your magic powers. Can you add this to the document, at the moment i don't know where it fits but it's purpose should be clear.
×
×
  • Create New...