Thndr's Forum Posts

  • Unless they did some major change, no the browsers are all Safari but branded with other brands. So, Chrome, Opera, Firefox etc, are all Safari but with the "looks" of the other browsers.

    Correct, they're all locked into Apple's iOS WKWebview engine due to Apple's stranglehold on their OS.

    With iOS being 12% of the marketshare and declining it's not really a viable platform to specifically target for HTML5 dev unless you have a wrapper that works and you really want to release for iOS. The company I currently work for has an iOS app and it's constantly updating the web app to become more and more feature comparable so they can finally advertise people using android tablets for the major work rather than relying on iOS. (Currently they're still significantly behind on that due to corporate directions, but eventually the web-app will have the same features and the iOS app can be discontinued in the future.)

    Apple would have to spend time once again to improve their webkit engine, or allow other engines to run without wrappers.

    The only real reason to dev for Apple in the past was the user-base, now... not so much. While 12% is not insignificant, it's not something your game will die without.

  • At least with C3 and Chrome's new feature for saving offline would make it so you would only really need a wrapper for iOS and consoles.

    Which IMO iOS itself is developer hell and not really a big market compared to android, which allows browsers and html5 technology to progress rather than rely on Safari to be crappy or other devs to make a less crappy wrapper. Yeah iOS devices usually just work, but they're usually really limited too. It's just the consequence of Apple's direction for the platform. Even though they're anti-flash they seem to be slow to adopt many features, if they work properly even after adopting.

    The rest of those are just those where you can have a wrapper or play via browser html5. I remember back when the WiiU came out that the Youtube webpage in their browser ran faster than the Youtube app they had due to HTML 5 technology. With the Switch basically being a tablet maybe we'll be able to see easy ports to that as well just like android. (Unless nintendo worked with nvidia to built a unique ecosystem from the ground up, but it looks like it could just be a super modified android/linux OS.)

    The problem with the console browsers on those devices is that they're hardly optimized and updated, much like iOS's safari. So even if the games half work there's no real hope in having them completely work without issue.

    Then you have to rely on other people porting browser technology and relying on them to optimize it for a different hardware platform, usually closed source or slowly developed. The slow progress in making things actually work like a real browser through the wrappers, witch each wrapper having their own unique subset of features, rather than them all working together to make a system with many features and allowing the person wrapping it to choose what to use.

    All of this is when HTML5 was just breaking the mold too, so only recently have we seen better results from said wrappers due to the demand caused by C2 (and other html5 dev tools) and the wrappers not being adequate. They're still not as good as the desktop browsers or even the desktop wrappers (nw.js // electron).

    But hey, at least you won't need a wrapper for Android once the chrome feature is out of beta

  • There already is a three.js plugin, albeit 3rd party:

    The only "issue" is there is no 3D view in the editor, which is fine in my opinion as C2 isn't really a 3D game maker.

    I do agree there should be more first party support with C3 compared to C2. I don't expect a first party plugin (which would be nice) but I do hope they allow the Editor UI to be modified and have editor plugins that can add in a new window/panel. This way at the very least users can not only make a 3D game via a plugin, they can better modify the game through an editor plugin made to display a 3D editor window/panel.

    Hopefully the news we receive over the next few weeks about the new features will be good.

    Honestly I have never been a fan of the Fusion line myself.

    If you're looking for a different multi-platform editor https://godotengine.org/ is a good choice IMO, albeit a little more complicated. The only export it uses a wrapper for is HTML5 as the rest are native exports, and it has an experimental FLOW scripting system that can be used.

    I'd use it more myself other than playing around in, but what I tend to make needs web technology//javascript libraries which C2 covers (and I assume C3 will, hopefully even better due to the entire program being HTML5)

    > I believe we can disregard any differences between win7 and win10 Chrome stops being updated for win7 or win7 can't benefit from specific functions.

    >

    > Especially since in C3 it's all browser based and even works fine on a ChromeBook

    >

    >

    The only major changes between win10 and win7 that are coming is new CPU support for AMD Ryzen, which I doubt will affect browsers. > Someone will probably at the very least make an open source driver for ReactOS that may work with Win7 just fine for that.

    https://www.reactos.org/

    >

    Huh, Chrome stops being updated for Win7, the op system C2 is approved for???

    Typo sorry, I meant until chrome stops being updated.

  • There is an existing paid third party plugin that uses three.js to produce 3D exports that you can do with Construct 2 at the moment

    Editor is still 2D so building complex environments would probably be tedious.

    I assume C3 will work fine with that plugin, but they haven't released any information on how it reacts and stores the plugins, let alone the modularity/customization options beyond CSS theming.

    I believe we can disregard any differences between win7 and win10 until Chrome stops being updated for win7 or win7 can't benefit from specific functions.

    Especially since in C3 it's all browser based and even works fine on a ChromeBook

    The only major changes between win10 and win7 that are coming is new CPU support for AMD Ryzen, which I doubt will affect browsers. Someone will probably at the very least make an open source driver for ReactOS that may work with Win7 just fine for that.

    https://www.reactos.org/

    Windows 7 will be going strong for quite some time even if unsupported by MS

  • With Construct 3 being browser based it could provide an environment where Scirra could easily make an sound panel or at the very least have an SDK that allows you to use existing javascript audio tools in a custom panel.

    Hopefully we'll have some news on how they're handling things but from their existing screenshots things look promising.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Check the value of "self". It's saying that it can't get "trigger" from undefined.

    So my guess is "self" isn't the right value.

    self.runtime is probably undefined so you can't get further values.

    You can even use the browser debugger to stop at that line so you can inspect the values.

    I think I figured out how to deal with it.

    Since the function I'm calling in the API has it's own THIS and SELF tags I had to specify the it outside the trigger call

    Acts.prototype.listenTo = function (topic_)
    {
    	var c2self = this;
    	APIThing.Messages.listenTo({topic: topic_}).then(function(message,msgInfo) {
    		c2self.msgContent = JSON.stringify(msgInfo);
    		c2self.runtime.trigger(cr.plugins_.PluginName.prototype.cnds.OnProvMessage, c2self);
    	});
    };[/code:1a86eokk]
    
    With this code it's returning the JSON info I need .
  • I ran into a slight issue trying to use an API that works fine on a normal page but is giving me some issues through C2.

    [quote:3vw215xn]c2runtime.js:16296 Uncaught (in promise) TypeError: Cannot read property 'trigger' of undefined

    • at messageEvents.cb (C2runtime)
    • at self.provider.getPost.then (API)

    The line in question on the C2runtime was:

    self.runtime.trigger(cr.plugins_.PluginName.prototype.cnds.OnProvMessage, self);[/code:3vw215xn]
    
    Looks like the self modifier there might be applying to the API's listen promise/function, so there might be a better way for this to be executed. An earlier version of the API worked no problem with just BrowserExecJS but due to updates to it using promises, I'm having to delve into the SDK a little to try to make things work. I'm not used to working with Promises so there might be a simple solution I need.
    
    Here's the runtime code for the plugin I'm trying to setup. Currently the only actions are Connect, Listen, Send, with an expression for the message and condition to trigger when a message is received.
    [code:3vw215xn]
    	// called whenever an instance is created
    	instanceProto.onCreate = function()
    	{
    		
    		this.msgContent = "";
    		
    		APIThing.Messages.setProvider('providername', {server: 'localhost', port: 5001});
    		
    		var self = this;
    	};
    
    ...
    	//////////////////////////////////////
    	// Conditions
    	function Cnds() {};
    	
    	Cnds.prototype.OnProvMessage = function ()
    	{
    		return true;
    	};
    	
    	pluginProto.cnds = new Cnds();
    	
    	//////////////////////////////////////
    	// Actions
    	function Acts() {};
    	
    	Acts.prototype.listenTo = function (topic_)
    	{
    		APIThing.Messages.listenTo({topic: topic_}).then(function(message,msgInfo) {
    			self.msgContent = JSON.stringify(msgInfo);
    			self.runtime.trigger(cr.plugins_.PluginName.prototype.cnds.OnProvMessage, self);
    		});
    	};
    	
    	Acts.prototype.sendMsg = function (topic_, msg_)
    	{
    		APIThing.Messages.sendMessage({
    			topic: topic_, data: {stuff: ((msg_).toString() + '').toString()}
    		});
    	};
    	
    	pluginProto.acts = new Acts();
    	
    	//////////////////////////////////////
    	// Expressions
    	function Exps() {};
    	
    	Exps.prototype.message = function (ret)
    	{
    		 ret.set_string(this.msgContent);
    	};
    	
    	// ... other expressions here ...
    	
    	pluginProto.exps = new Exps();
    [/code:3vw215xn]

    2D flowchart systems like that are pretty much completely different to events.

    They're pretty similar in my opinion after working with both smart contracts and node-red. (only a minor amount at the moment.)

    I'd love to see flow support in C3, although it's not a priority.

    With a proper flow translation you can easily convert flows into the tree structure events and normal coding uses.

  • You do not have permission to view this post

  • Would it be possible to have it as a DLC/add-on option for Steam so I can stay up to date through Steam?

    I keep track on the website anyway but it would be a nice convenience since I already have C2 through Steam.

  • Workshop Support for GDT - Greenworks updated as well

    Seems like they updated their plugin to have workshop integration. High hopes for C2 potential for native steam games once 0.11 is stable.