Fengist's Forum Posts

  • Originally it was designed for blogging. Since, it's evolved into something much, much larger. If it's a bit overwhelming, take a look at other content management systems (cms) like Joomla or Drupal. For what you're wanting to do, a CMS is probably the right direction.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Why not just use Wordpress?

  • Yes, you can do this. However, both of the questions you've posed recently revolve around external websites (Google, Twitter, etc.). The best way to do this IMHO would be to create the page yourself using HTML and CSS and use an Ajax call to load it into this plugin:

    construct.net/en/make-games/addons/190/html-element

    Then, send the contents of the form back to your website.

  • The main issue I see here is the lack of a simple way of layouting various elements. A better way of controlling their placement. (As Fengist also pointed out)

    You proved your point even better than you imagined...

    I had to disable the 'worker' which crashes any project on my laptop.

    Failed to load texture: ReferenceError: document is not defined
     at C3.Gfx.WebGLRendererTexture._CreateStatic (texture.js:1)
     at C3.Gfx.WebGLRenderer.CreateStaticTexture (webglRenderer.js:1)
     at Object.func (webglRenderer.js:1)
     at c (asyncify.js:1)
     at b (asyncify.js:1)
    (anonymous) @ imageAsset.js:1
    Promise.catch (async)
    LoadStaticTexture @ imageAsset.js:1
    LoadStaticTexture @ imageInfo.js:1
    LoadTextures @ type.js:1
    LoadTextures @ objectClass.js:1
    _Load @ layout.js:1
    Start @ runtime.js:1
    Init @ runtime.js:1
    async function (async)
    Init @ runtime.js:1
    self.C3_InitRuntime @ runtime.js:1
    a @ 0e643a61-99d1-4bba-81d4-a8b8db3efbaa:1
    (anonymous) @ 0e643a61-99d1-4bba-81d4-a8b8db3efbaa:1
    
  • My experience with RPG maker is that everyone spends all their time writing their own GUI because they don't like the GUI the engine comes with. Most of the addins (like Yanfly) start by undoing the GUI. If you look at what is requested on their boards it is about the same here--they want a user interface--just not the one they get with the game engine.

    UI's should be unique across games and apps. The UI is the first thing the user sees and therefore makes the first impression. No plugin or hard-coded UI element is going to satisfy everyone. However, there are basic elements to any UI that are severely lacking in Construct. These elements, like panels and scroll boxes form the basis of UI's. As it stands, we only have the simplest of controls, buttons, text boxes, etc., controls that are related mostly to user input. Nothing exists to help manage the placement of these controls and, in my case, I have to run through every single control each time a layout is shown or the browser gets resized and manually move and resize them to what I want.

  • Fengist - I think you missed the bit where I wrote this:

    > ...I'm just trying to find a way of doing it that doesn't oblige us to do a lot of wrapping around low-level JavaScript APIs. Construct is generally much more high-level than that, for example giving you Sprite objects, not just an OpenGL vertex buffer to fill out.

    No... I was writing the reply, got distracted with a customer, came back, finished and posted it and then saw your reply. I decided to leave it so you'd know at least what's in my head.

    It's good to know though that you haven't strayed from your original concept.

  • If you think moving to unity because you have to write a bit code in construct is going to speed up your development time you gonna be in for a surprise...

    I spent years working with Unity and yea, it's a huge pain in the ass. Especially when the latest version comes out and breaks half the crap you created in the previous version. The reason I chose Construct for my latest project over Unity (and this was weeks of internal debate) is because of the plethora of code and finite details I'd have to wade through in Unity to accomplish the same task. That and the fact that the Scirra team actually communicates with it's customers, something Unity has yet to embrace without charging for it.

    However, if I'm going to have to wade through code anyway finding workarounds to a limited set of UI elements...

  • Hey! I just made a suggestion in the C3 idea website for the 'grid object' that I proposed above.

    https://construct3.ideas.aha.io/ideas/C3-I-1043

    I don't know if is too vague. So if someone here have any new details or ideas to share, let me know, so I may edit the suggestion text with more info.

    Please vote!

    That's similar to an element I'd like to see, which is a basic UI element in most other IDE's, call a panel. I mentioned this in another post a couple of months ago in yet another thread about the GUI.

    https://www.construct.net/en/forum/construct-3/general-discussion-7/life-saving-suggestion-144108?kws=panel#forumPost975906

  • Isn't that the whole point of the event system though? To reimplement what you can do in conventional coding?

    This. Exactly. Ashley, every reason you've presented so far for NOT doing something is because it can be done in JS or HTML. Wasn't the original purpose of Construct to insulate the end user from the vast majority of that? If I'm going to have to write half my project in JS anyway, what's the purpose of buying Construct? Why not just download Unity, which is free for development and a lot more powerful and it works with both JS and C#. I've seen so many answers lately that say, 'oh, just do that in JS now.' Well, the whole purpose of me buying C2 AND C3 was so that I didn't HAVE to screw with JS (much).

  • [/img]

    You would make an own html/css/js website, with the functionality you need, load it into your game via iframe, then write some javascript to shovel data back and forth between your game and iframe? Sure it´s possible but... rather overcomplicated?

    In theory, I could possibly build this in Construct. The effort it would take would be... well I don't want to think about it. The easiest way would be to pass the data off to a website, have PHP build the HTML and then pass it back to the client via an Ajax request.

    In Delphi, which I mentioned above, assuming I had the data and images, 30 mins to an hour.

  • Well, that's pretty much what the iframe object can already do, but securely by default. Is there any particular reason that doesn't do what you need?

    Lots.

    One of the reasons I've been promoting the HTMLElement plugin is because it allows users to click on various HTML elements and pass those clicks to Construct functions. THAT alone is a HUGE step above a simple Iframe. HTML is a coding language in it's own right. It took me 2 days to get the code in Construct to work and display 2 layouts, make Ajax requests, parse Json results, etc. It took me over a week just to get the HTML for ONE GUI element working well enough that I was satisfied and, as you saw in the link above, I had to create that on codepen.io. Customization requires extensive knowledge of CSS and JS and even CSS is becoming a massive nightmare trying to keep up with all the browser specifics. If I want to display HTML, sure I'll use an Iframe. If I want to create a GUI, the Iframe is damn near useless.

    I have mentioned that I still program in an ancient language called Pascal. Delphi is the IDE I use to develop in. Delphi is called a RAD (Rapid Application Development) platform because you can quickly build an app with simple controls. I have literally 1,000 elements that I can drop on a form, everything from visible buttons and scroll boxes to encryption methods and pie charts. The publisher of Delphi only created a handful of these. The vast majority were created by the community. The reason there are so many of these plugin modules is because they too are created in the Delphi environment. Once you learn how to code in Delphi, you can create these plugins.

    I know how to code in Construct but I can't write a plugin. I took a brief look at how to write plugins for Construct and threw my hands up in disgust. Even a basic 'hello world' plugin was going to take a huge amount of effort just to learn JS beyond the basics.

    Delphi and Construct have one thing in common that attracts me to both. Rapid development. I didn't have to learn the intricacies of any language to begin building with Construct. I only had to rethink some syntax.

    My suggestion is something I understand you've already considered. Make creating plugins easy. Make it so that if I have a knowledge of how to use Construct that I can create my own. You give me that power without having to spend months learning JS and OOP and callbacks and not only will you see me creating GUI elements, you'll likely see the plugin collection expand massively.

    YOU do not have to reinvent the wheel here Ashley You only need to give your Construct users the ability to create their own wheels with a limited amount of facedesking and I'm fairly certain that the work that's being suggested here will be handled by your community.

    Here's the proof of the concept.

    wiki.delphi-jedi.org/wiki/JVCL_Component_Overview

    They currently have over 600 'components' for Delphi in their open source library. All of them created by the Delphi community.

  • This sounds like you tried to create a UI and got frustrated at your own bugs so now you want a UI template? You can probably find some premade files somewhere. I tend to avoid using html elements and use sprites, much easier to handle. Also you can't blame Construct 3 for your own bizarre approach to making an inventory UI. I made an inventory with a background image, a sprite for the slot to display an item, and an array.

    Let's see you create something like this with just sprites...

    objectlistview.sourceforge.net/images/fancy-screenshot.png

    I got a better challenge for your sprites. Create the editor.construct.net using editor.construct.net. Nevermind the underlying code, just duplicate the layout. Hell, I'd applaud you if you could just recreate the properties bar!

    You're going to find out REALLY quick just how difficult that is because of the lack of basic UI elements in construct like list views, and resizable panels.

    Here's the problem as I see it. The team at Scirra have a locked-in mindset that Construct should only create mostly mindless graphic oriented games like platformers. The problem is, Scirra has never deviated from that mindset. Look at how many platformers and similar genre games there are on the market now. Millions. Trying to create a platformer and make it successful in today's market is akin to facedesking. It's painful and you rarely accomplish anything.

    Now look at this game:

    scorzy.github.io/IdleAnt

    It's an old style text based strategy game. It starts out easy but as it progresses, you start to see the challenge. Trying to create a game like that in Construct would be nightmarish. I know, I'm attempting a game in a similar genre. Because of the lack of GUI elements, I'm having to create the entire GUI out of custom HTML and CSS. Let me give you an example:

    codepen.io/Fengist/pen/oOjgBw

    That's a skill tree I'm working on before 'importing' it into C3. And even there, it doesn't work half the way I want. And, I'm having to use plugins because something as simple as an HTML panel doesn't even exist in Construct.

    Construct has the ability to create so much more than just games. It has the power to create full blown web apps. Everything except the user interface that is...

  • Two short questions:

    1. I want to center text vertically in the HTMLElement text box. I played around with the 'Inline Style' property, but did not find a satisfying solution so far. Vertical alignment seems to be particularly difficult. Any ideas?

    2. Square roots in LaTex appear beautifully in Fengist's example (using the online MathJax inclusion), but not in el3um4s (using the offline MathJax inclusion). I don't understand why. I might understand the code once I get more used to JS, but I thought I might ask anyway.

    I can give you some help with the first one.

    CSS

    w3schools.com/howto/howto_css_center-vertical.asp

    The inject css will let you load your own style sheet and I can say without a doubt that anything inside the HTML element can be affected by it.

  • And, if you look in the project I wrote, there's one line of JS. If you add that to your project, you won't need a button to parse. It'll do it automatically.

  • Well, keep in mind I didn't spend a LOT of time on this and I know for a fact the logic has flaws. For example, I'm not iterating through every ant to see what it's status is or to give it instructions. Consider this to just be a very, very crude idea and a rough example of how to implement pheromones.