C3 Architect Request list

  • You can update variable settings in the Debugger. However if C3 is running on JS backend such as Node/NW.js. Then it may be possible for "Exposed variables". However having created grid math in Unity that support "exposed variables". Unless the basic code supports grid math updates. Then tweaking the vars won't update the grid. And upadting the grid everytick seems to be overhead on the game logic. However a grid Plugin with exposed variables could be an other matter. And work nicely. I'll put in the exposed variable idea into the the section where the IDE supports live runtime.

    I sympathize with you on the create by object name. I've sooo desired it myself. unfortunately due to string safety and obfuscation I suspect that this will never be in. however what you rmostly wanting is a switch case object creation, and maybe we can see this in C3 if the request for custom objects, and object reference get's added.

    image textures are in the request.

    Ladders are based on a plugin feature and don't really require architect changes. I've seen many ladders in various C2 platform games.

    if( player is over ladder[spriteObject] && controller.up)



    Do you mean you want the project properties and the layout properties in their own window?

  • Grid was just an example

    Have a look at this.

    In UE4 it's called a "Construction Script" - which more less are events that run only in the editor. And this blow my mind when I start using/learning UE4. Modifying, placing, whatever you can think of you can do with objects in the editor. Probably that kind of control we will never have, but even a small amount would be amazing.

    "due to string safety and obfuscation" yeah I heard that a lot, but still with NW.js everyone with only few mouse clicks can take all your assets (graphics, sound, code... everything) without any problems whatsoever - even easier than with browser game versions. So "safety" is kind of contractual

  • shinkan

    I'm not arguing about not wanting it. I agree with you, but Ashley reason is solid from his point of view. I don't see it changing. There are some points that I don't think he will and that's one of them.

    Well. I don't know what Ashley is putting in C3. I have no idea if he has looked over the document. I have no idea his opinions on it. However. Custom windows, with full gui and ctx acces will allow developers to create similar window as a BluePrint. Also I have requested custom data objects to store complex data, and I have put in the request list that any work done in an IDE Plugin can set values on an Object. So that visual statemachines, Blueprint, bezier curves can be made in C3. I say again. I've made the architect request, what happens is in Ashleys hands. I would love to make an IDE plugin that can do grid setup, landscape generation into the layout by way of IDE Scripts. All that yummy feature stuff is in the request list.

  • Obviously what we are doing here is just a "wish list" (from our, game developers point of view) of things that could help and make stuff easier in future game development. And it's entirely up to Ashley (and lets hope his future team, as a more than one person working full time on C3) to have a look and consider our proposals.

    Things like "Construction Script" or beloved "native exporter for every platform" probably will never happen

    But there's a lot of other stuff in this thread that are to good (and in some cases essential) to simply be ignored.

    When C2 showed up for a first time (maybe few releases later...) it was great, wow, cool and all sweat and sugar. This is a true, I was amazed about a huge difference between C2 and CC. But it was 4 years ago. Meantime technology changed UE4 showed up, then Unity realized that it would be nice to have some kind of an update after a long time. and other engines get updates too etc etc... But unfortunately C2 is still in same spot. We had a few big updates, few technological addons to make everything work better, faster and smoother, but besides that... ?

    Simple things, easiest and obvious one took forever to add... and there are still some idiotic things that probably will never be fixed.

    How long we have been waiting to be able to use different hotspots in Tiled background for example. Or to use Tab in properties panel, hell Tab is still not working for grid setup....

    So my biggest request for Ashley for C3 is to not fuck this up this time. Unfortunately after CC must say "again". C2 is very stable and ready for making games, but with all this small issues still looks unfinished. And in a year or two when C3 will be released I can bet that C2 will still have this small issues

    ok. I'm off-topicing to much.

    I want this thread and your list to evolve and be alive! because what I can see after only 4 pages is very usefull and must have. And in very depth of my heart I really hope that Ashley will consider what we are doing here.

  • Pretty much everything in here, yes please

    Somethings I didnt see in here yet:

    • possibility to set a global seed for all random functions (random(x,y) choose(x,y,z,...) )
    • build in noisefunctions (simplex, perlin ...)
    • resize layout on runtime, or else behaviors work outside the layout too e.g. pathfinding
    • possibility to get the real world time ( yyyy/ mm/ dd/ hh:mm:ss )

    Something I saw and want to emphasize:

    A dark GUI pleeeease, there is a reason why all professional software nowadays goes with a dark GUI, its mutch easyer on the eyes then retina burning white.

    I know u can create your own color palette, and i did, but you cant color everything + the icons are black and gray what isnt the best for a dark theme

    Something that will never happen:

    Online collaborative editing of your game in real-time like heroengine, run arround in your gameworld with friends sticking "post-its" on everything that needs some work ...ahhh it was so mutch fun to work with

    Something to think about:

    I know most of the things kept easy in c2 to keep c2/c3 itself easy and quick to learn, and thats a good thing. But maybe we need something like an advanced mode or tab for more experienced users that are past this first learning curve.

  • Mostly because this is a architecture feature request list. The base components that will allow such features. Though sometimes I can misplace or overlook the meaning of a feature.

    For example math expresion in property fields added.

    you can make a plugin that has noise functions so that's not really architecture as C2 can do this.

    I believe plugins/behaviours do work outside the layout. Just use unbound scrolling.

    I've requested the engine to be NodeJS and use CSS. That would allow for incredible theming.

    HeroEngine isn't an IDE or tool. It's a core game system. However I have requested that the engine support networking capability. So that such a feature could be made. Even is Scirra doesn't do so.

  • jayderyu

    sadly pathfinding doesnt work outside the layout even with unbound scrolling

    Yes you are right, some are more like feature request, i guess.

    But for example that all random functions work with a global seed and you are able to choose this seed, is very important if you want something procedural generated in your game.

    On a personal note, I really dont want c3 to get like unity, where u have to buy plugins for everything.

    For really specialised things, like the "collaborative editing thingy" it is awesome.

    But on the flipside...

    • developers dont feel the need to add feature xy anymore because there is a plugin for that
    • plugins rely on individuals (updates/bugreport/compatibility)
    • plugins add costs (thats ok as long as it isnt a core feature what should be in the engine)
    • there is often more than 1 plugin for each feature and each works a littlebit different

    how can u tell which is the best for your needs? which is the most reliabl plugin dev? which is the easyest and are there any tutorials for this plugin? you dont know, so you have to start wasting time to find out.

    I know there are many pros and I think everybody in here knows that. Its just a reminder that, while we all love plugins, there are some downsides to them and that we have to consider them too, when we tell ashley what the new version of the software we all grown to love should be like.

  • I'm not sure, but maybe you should file a bug report for the Pathfinder. Games are allowed to be played outside of the layout. Especially in a procedural generated game.

    The way I see it. $10 is worth easily worth saving 2 days of work. In fact I work with Unity at my company. I have purchased a handlful of $10-$20 plugins that saved me months of work in total. $50 to buy or $5000 to make?

    And even with the Store out now. People still make free plugins. So I have no worries

  • jayderyu At least to have some tabs on top in the left column. Currently th process looks like this: Aim for bottom-right corner to select tab, move tot he top-right corner to select either layouts or project folder, and them scroll across the screen to the properties bar. I know I can move those bars around, but it still requires navigating between bottom and top of the screen.

    Few more things that popped out last night ( thought I'm confused now where should I post those ):

    • Pin behavior: Allow for pinned object to still move in relation to its parent. Simple example would be an elevator platform with spikes that pop in and out.
    • Pin behavior: Having Activate At Start option that would pin automatically to overlapping object.
    • Effects: Ability to toggle effect On/Off within Properties bar
    • General: If an option has maximum value, like for example a colour ( 0 -255 ), it would be beneficial to have a scrollbar, instead of only text to enter.
    • General: Again, Object preferences pop-up window, with all it's data in one place, nicely layed out. Such preferences window could also hold local objects events. For example ability to create local events for behaviors in that property window, independently from main event sheets. However by doing so, an event sheet with objects name is being automatically created in sub folder named by objects name.
  • Lot's of great examples, some are very C2 oriented.

    But I am hoping that C3 will be something more then just major update to C2

    First, I think we need a forum for C3 to have multiple, better organized, threads

    Some realistic suggestions (yep, there is overlapping with other people) :

    • I would like that we have less confusing way of calling objects and instances, and to have all items (sprites, layers...) available by reference (pick object), in recent updates there was tendency to correct that so I am assuming it will be a way to go in C3.
    • Second, some scripting language for runtime object manipulation in traditional way inside IDE (not js sdk) where you could write some object manipulation code (if not creation) and some game rules in a more complicated way, but not js sdk complicated. Something like lua scripting in some games. For example in current event sheet when you call some script function, popup with editor opens, you write some classic code with multiple switch cases, ifs, fors referencing objects in scope, work with data and such, and close editor when you finished. In event sheet is just script name and/or short description. I know that many things could be done with current functions, but it is not very readable (or elegant) in some cases, also universal functions (dealing with many types of sprites) are practically impossible
    • Also something for better documenting and management of project. Some changes to code are very hard to implement if you didn’t plan all in advance.

    And now impossible (native multiplatform, that dream we can’t fulfill):

    As I see all game related stuff is drawing on canvas. On Android it is equivalent of drawing on the SurfaceView. But there is some other functionalities like location services, storage… and some other goodies that came with HTML5.

    My suggestion is that those things should be treated differently and maybe in that way we could have wrapper-free mobile games. I know that with WebKit some things should be better, still haven’t tried on device, but as I see it, it is still a wrapper, even thou built in. What I would like is real native app, but without wrapper, and I think it is possible. Unity, Xamarin all have native apps with some kind of wrapper, thus big, slower… On the other side is Eclipse/Android Studio with small, fast apps, and never again development (must admit that there are games I haven’t updated for a long time because of them)

    And now for the suggestion, contact that guy that makes Basic4Android (also iOS recently) and make some collaboration. Why, because I don’t know what kind of black magic he uses, but he has VBA ide (3mb in size) that can do almost all as Android Studio, live debugger is even better because allows runtime variable value change. And best of all, no wrapper or big overhead, Hello World app is the same size, totally java bytecode compatible, can even decompile to standard Java.

    Now as I see it, all game related (effects, box2d…) is still just drawing on canvas and should be possible to transfer to SurfaceView, for example libgdx is working fine on b4a. As for extra stuff, some libraries should be made, but again, don’t think it is that complicated. All functionality is already available in libraries, just some calls should be rerouted.

    So that’s my view, I know C2 is HTML5, C3 is probably the same, but it could make stride to multiplatform native, without dropping HTML5 support. Don’t know how exactly complicated is that, I stay mostly at least one level up from that abstraction when programming, but it looks doable.

  • I'm not against a native exporter, but I know Scirra won't do so. I know why too. Browsers do more than just execute JS. Browsers have huge amounts of features to take advantage of. For C2/C3 to support native would require breaking all those Browser features and linking to an abstraction layer.

    Is it impossible. No, but it's not going to happen as a two man team. If C3 proves so successful that Scirra expands to 100+ staff. Who knows.


    I'm hoping that SceneGraph based Object is added as a new core object. Pin would then be obsolete, though thep lugin would exist to be backwards compatible.

  • That is why I suggested basic4android for native support, it is maintaned by a single person, who is done wonders, showing that much can be done if someone know what to do and how, Xamarin with all that people programming still has 5mb Hello world app on Android.

    But, don't want to turn this thread in pro/contra about native support, I was wondering if we could get animation system like in Unity, at least triggers, and some simplified states, morphing frames would probably be too much, but one can hope.

    Also some tighter integration of sounds and objects, so we can assign sounds to objects or, now when I think about that, maybe easier solution would be to link specialized sheets to objects, not just for sound, but animation management, instance functions (not just varibles) as well, thus mimicking classes which I think is already suggested somewhere.

  • Agreed. This is not a pro/con for native support.

    You did remind me that I would like Object EventSheets, but outside of better organizational programming. I have been unable to convince Ashley as of yet. but I'm going to put it in . However if Ashley supports the idea of a SceneGraph root object, then I'm not sure if Objective programming will be needed as much. Because every world object would be just the same object anyways.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • SceneGraph concept looks nice as I understand it, it would be something similar to Unity approach to GameObject.

    But it doesn't necessarily exclude Object EventSheets. With Object EventSheets it is easier to implement multi language/resolution/graphics support, you just include/exclude Sheets. Right now only way to change Sprite image is through code. My way of dealing with this problem right now is Groups, not very nice after some time, especially since it is reference by name which I addressed before.

    If we are to get some resource management like in Android projects then multi language support won't be a problem, but EventSheets looks easier to implement with backward compatibility in mind. Even if you implement some property based support for graphics, resolutions, sounds... there are always some things that you need to do manually. Also possible include/exclude feature on export or loading level would also be nice for optimization.

    Mentioning Unity reminded me that Sprite at least should be some kind of a generic GameObject with extensive material(texture) property.

    What I hope Ashley has in mind is when to totally disregard our suggestions if that complicate usage to novice user

  • People, keep in mind that this thread is for architectural features in C3.

    I'm going to give a list of suggestions that ARE NOT APPROPRIATE for this thread:

    • Path Movement (I'm not talking about pathfinding, but a simple "follow the nodes" movement): If we can have plugins and behaviors drawing on the canvas, this will already be possible with the SDK, so this is a shitty suggestion for this thread, even if it is immensely useful for development. Same goes for bezier curves, for instance.
    • Instead of asking for pin behavior should take size into account, why not ask for expressions during edittime? this way we could set the X position of an object to something like "parent.X*parent.size+self.variable", turning the pin behavior almost obsolete (don't take the pin behavior out, though, beginners can still use it before they wrap their heads around variables)
    • AI Editor or similar. Ask instead for "plugins should be able to define and spawn their own editing windows, just like the sprite animation editor", this way we'd be able to create finite state machines, 3D map editors and all sorts of things
    • Instead of asking for multiple collision masks, why not ask for collision masks to be decoupled from the animation? This way different objects can share the same collision mask. Even better, why not ask for "collision mask" to be something you can store in a variable? Heck, it doesn't even have to be a "collision mask", it can be just a "mask", that we can crop, apply effects to, etc. Also who said masks have to be edited? Maybe I can just choose on a list from a few presets, such as a circular mask, or a square mask, or an editable mask. Maybe I can have a little "mask editor" where I can do operations such as "fit inner" or "fit outer"

    There's no point asking for features piecemeal, it's about asking for architectural changes that will enable us to create the most things using the least stuff. It's about making the engine versatile instead of a bag full of special cases (i.e. the tilemap and spriter extensions)

    Also, for people talking about exporters, this is crazy talk. Don't ask for "native XYZ exporter", ask instead for "an exporter SDK"! I may or may not agree with you, but at least it's an architecture request.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)