Jump to content


Beta Testers
  • Content Count

  • Joined

  • Last visited

Community Reputation

158 Excellent

About aiaf

  • Rank
    Advanced Member

Profile Information

  • Gender

Recent Profile Visitors

6,383 profile views
  1. 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; }
  2. aiaf

    Still Here

    Good news. I will be doing small polishing stuff , add sounds etc.
  3. aiaf

    Still Here

    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.
  4. aiaf

    Still Here

    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/
  5. aiaf

    The flat earth

    This flat earth thing just shows how bad the education system is.Maybe astronomy should be mandatory study ...
  6. We would be able to load gltf models?
  7. Yes you are editing the wrong one, send your email to Mdgunn to add you for the proper one. Sorry for confusion.
  8. 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
  9. 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.
  10. 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.
  11. 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.
  12. aiaf

    Coroutine Sequences

    will be something similar to this in c++?
  13. 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.
  14. aiaf


    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 ?
  15. 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.
  • Create New...