skymen's Recent Forum Activity

  • Jumping in;

    IMO the game engine market is rapidly evolving and I am very worried that Construct will not be able to keep up with engines like GDevelop or Godot being supported by grants and donations, eating away at significant chunks of market share.

    The free version of C3 as it stands is very limited and I understand that it is not something that can change without reducing license sales. However, have you considered doing a timed "free trial" of a paid version? Something like 14 days of having the full engine unlocked, once per account before having to pay for the full thing. It would make it far easier for a lot of us to recommend the engine to developer friends looking to try it for real.

    On another note:

    I'm also working on something else to highlight games made in Construct, but it's going to take some time to put together.

    Laura_D if you need me to hand over the work done on madewithconstruct.com , its database, or its domain name, let me know and I will gladly do so.

    Also, on the topic of recommending the engine, I was at the poki office 3 days ago (Poki is a web games portal I've been working with for a while: poki.com ) and I made a presentation about the work my company has been doing to push web games forward and a lot of that talk has been Construct related. It has also sparked a lot of discussion with Poki staff about the state of game engines for web games.

    I am planning on sharing that presentation in the following weeks, as it's not exactly geared at web games but rather games made with web technologies.

    In general, I think changing the appearance of Construct can be a community effort, because at the end of the day, an engine is only as good as its community. I'm not as active on the forums as I used to be but that's something that's important for me and it's why I've been working on so much free open source things around Construct. We cannot recommend an engine to power users without power user tools and tutorials, which Construct severely lacks.

  • Chiming in on the topic of 3rd part developers taking some of that weight:

    I've been contemplating making a brand new Steam NW.js plugin around the new steamworks.js which seems to be much more actively maintained.

    My main issue right now is that I have never used the lib before and I don't have much time to learn it, and don't think I will have much time for it for at least a few months.

    That being said, if someone else has time for it, we've recently set up an Open Collective to crowdfund Free Open Source 3rd party stuff for Construct with some folks in the Construct community.

    I invite any dev that would be up for the challenge to reach out and we can set up a project for them (we've already funded one project and others are on the way)

    opencollective.com/construct-community

    That way everyone could chip in to fund the development of this new plugin and it could resolve that issue, while also avoiding long term issues that come with important addons like these being closed source and abandonned after a few years.

    On an unrelated note, I would also like to add that indeed the lack of File System access for the WebView2 export is sad. I already advocated for Tauri as an alternative to a custom export maintained by Scirra as it would make developing addons for it much easier. Tauri has the same benefits as the Cpp WebView2 export, but also has full File System access (as well as a bunch of NW.js equivalents) it also has cross platform support, and lets you write Rust which means extending the app with native stuff (like steam support and such) much easier for 3rd party devs.

    I understand that using Tauri might also come with a bunch of challenges of its own. Also Tauri suffers from the same issue Ashley's WebView2 wrapper has with Steam overlay.

  • Ah well, I don't know how easy it is to detect Proton :/

    + even if you were to detect proton that wouldn't even give you any info on wether you're running on a regular Linux machine or on Steamdeck.

    I guess we're back to trying to implement steamworks.js

    The alternative would be to do some machine profiling using CPU, GPU and screen size info to try and make an educated guess but that's not really a great idea.

  • Nevermind, run this function and it should work

    function isRunningOnSteamDeck() {
     try {
     let os = require("os");
     let info = `${os.type()} ${os.release()} ${os.platform()}`.toLowerCase();
     let list = ["valve", "steam"];
     return info.includes("linux") && list.some(x => info.includes(x));
     } catch (e) {
     return false;
     }
    }
    
    console.log(`Is running on SteamDeck? ${isRunningOnSteamDeck()? "Yes" : "No"}`);
    
  • Hey,

    Greenworks doesn't support that method. It was added in SDK v 1.52 and greenworks support stopped at 1.42.

    The best solution would be to write a new Steam addon using steamworks.js (or implement that directly)

    github.com/ceifa/steamworks.js

  • I've talked about this subject in the past and made a feature request in a past suggestion page.

    I also looked into it and tried to hack it into the engine, but from what I've seen it's pretty hard if not impossible to do with the way C3's rendering is done at the moment.

    I agree it would be really useful if this became a thing.

    Mikal and I both experimented with making pixel shaders that can repixelify a layer with linear sampling. That might be worth a try.

  • As I stated in the github report, I really think UIDs hold C3 back in many ways. I understand moving everything to UUIDs can be a big change, especially for backwards compatibility, but the alternative is trying to do a band aid fix that will not work.

    I full agree with Tokinsom here, UID shuffling makes C3 unusable with source control nowadays, which is a huge issue.

    For backwards compatibility, UIDs can stay, and UID shuffling can also be kept for a while, but instances should start getting referenced using UUIDs or SIDs (like object types and other editor elements), especially internally.

  • You do not have permission to view this post

  • That code uses undocumented internals of the runtime. Do not do that! It can and will break at any time and we will not provide any support either.

    Oh yeah for sure forgot to specify. I just assumed that was a given, forgot we were in a big thread with many people that check in while not necessarily being aware of that.

  • While I agree with the fact that it should probably be added as an action, if you need this for any reason, know that it's fairly easy to do in JS.

    let templatePerObjectClassMap = c3_runtimeInterface._localRuntime._templateManager._templateDataMap;
    for (let templatePerObjectClass of templatePerObjectClassMap.entries()) {
     let typeIndex = templatePerObjectClass[0];
     let objectClass = c3_runtimeInterface._localRuntime._allObjectClasses[typeIndex];
     let templateMap = templatePerObjectClass[1];
     for (let template of templateMap.entries()) {
     let name = template[0];
     let data = template[1];
     }
    }
    

    if you know the object you wanna check (which you most likely do) you can get its object class using

    	let myObjectClass = c3_runtimeInterface._localRuntime.GetInstanceByUID(uid)._objectType
    

    you can now check if the template name exists by doing something like

    function templateNameExists (objectClass, name) {
     let templatePerObjectClassMap = c3_runtimeInterface._localRuntime._templateManager._templateDataMap;
     return templatePerObjectClassMap.has(objectClass.GetIndex()) && templatePerObjectClassMap.get(objectClass.GetIndex()).has(name)
    }
    
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You could use both effects. The first one to force the render to be limited to a specific amount of colors and the second one to replace said colors with whatever you want.

skymen's avatar

skymen

Member since 3 Aug, 2015

Twitter
skymen has 102 followers

Connect with skymen

Trophy Case

  • 9-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • x34
    Coach One of your tutorials has over 1,000 readers
  • x2
    Educator One of your tutorials has over 10,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x7
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • x3
    Lightning Draw First person to up-vote a new Construct 3 release
  • x2
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

22/44
How to earn trophies

Blogs

  • Skymen

    Sometimes I do some cool stuff in Construct. Sometimes I like to talk about it.