Hi there, I'm one of the Construct developers.
There is this object pane attached to layout editor, on which objects are always displayed as icons, you can scroll it up or down and... thats it?
I agree it's hard to use - what actually annoys me most about it is that it doesn't sort anything alphabetically, which does make it pretty useless for finding stuff in large projects! (Right now I'm sticking to just locating it in the layout editor!) The object bar is a relatively recent addition - it isn't quite "there" yet in terms of what it should be doing. Ideally in the next build or two it will also have:
- Alphabetical sorting (!)
- Filter like the event wizard (eg. type 'Tank' and get all objects with the string 'Tank' anywhere in their name)
- Small icons, list, icons only, text only, listview with details views (set by right click menu)
- Folders
- View only global objects, only layout objects, all, etc
These additions will hopefully make it much more useful for large projects, because right now it's really only useful for (very) small projects. Also, I don't know if you noticed, but the bar can be undocked and docked anywhere, or resized bigger for multiple columns, so if you have a multimonitor display or something, you could put it there with a bigger view to see more objects.
[quote:1nwu0wr9]In Construct, there are event sheets, in which any actions triggered by events/conditions for any objects are placed. Imagine you have tens or even hundreds of objects, and for each objects you have a few events and conditions that trigger specific actions - so you either need a huge number of event sheets, one for every object, or you get long, hard to read and manage sheets.
In Construct, things work significantly differently to languages - at first it might seem primitive, but you can actually very elegantly express code once you understand how object picking works, using subevents, for-each (and for-each ordered), containers, families and behaviors. It's a completely different paradigm to languages, based around manipulating lists of 'picked' instances, as opposed to sequences of explicit commands (which is all most languages really come down to).
Construct isn't really a scripting tool - Python was intended to be a way to get around some of the limitations of the event-based structure (eg. highly algorithmic processing with many variables and lots of data). I don't think we intended Python to be used solely to develop entire games, although you could - frankly I'm not very interested in programs which work like that either (they don't seem to go much beyond a gaming API for a programming language, like Allegro with a UI) - the event system is what makes Construct special. Right now I don't think Python in Construct actually works at all, it was broken a few builds ago! (Some users have noticed but I think most of us shrugged and carried on with the event based system) We do hope to have it fixed soon though.
Construct is still in beta (and will be until 1.0) and is only just recently emerging as a fully featured and stable piece of software. As a result, I don't think many people have attempted such large projects as you describe. That's probably why there aren't mature features for large projects yet, but I do hope we get that sorted for 1.0, especially since I'm planning some large projects myself!
As for event sheets, it also works a bit differently in Construct. Since it's a very high level programming system, event sheets tend to be ordered by what they do rather than what they are coding for. Instead of event sheets for each object and lots of functions, I think most people (including me) go with event sheets by their purpose, eg. events relating to "User interface", "Movement & Animation", "AI" etc. The main idea behind events is you can express ideas very compactly and briefly, so these event sheets shouldn't be jammed with thousands of events - just short fragments of events sorted by groups (basically event folders), and commented. This seems to work very effectively for everything I've done.
Try out the Ghost Shooter tutorial and Deadeye's Platform School at http://www.scirra.com/tutorials - it might seem a bit simplistic given your experience with C++, but it should give you a rough idea how things are generally set up in Construct. Generally the whole functions/file-per-class/statement-based paradigm isn't applicable to the event system.
Thanks for the feedback though, and I hope this helps explain things a bit