Point & click Adventure Games

Discussion and feedback on Construct 2

Post » Fri Oct 25, 2013 7:25 pm

@OlivierC - Oh, I was meaning the effect of the light coming from the windows being displayed on the floor sorry ^^ Is that an effect you made or part of the image? For changing the colour of the character, I would actually prefer the lighting example that comes with C2. We use that extensively in our current noire project to great effect! It makes it highlight only the parts that are under the light.

As for text, I took the selfSwitch idea from RPG Maker and that will make it easy to define what streams of text they will use. But, how you go about setting self switches and referencing them can get a little murky. And mainly, how many conditions and actions it takes to initiate and end speech is a huge factor. There is a lot of speech to be done in a game like that, so if you can set it in 1 action and 1 condition, you will do that chunk of the game 4x faster than 4 conditions and 4 actions. Then in the latter case, you imagine you spend 30% of your development time writing text, you just added 90% to your production time. Sure it will not literally take up 4x as long to simply copy/paste/drag those parts around, but the room for error increases and it can sap morale when you need to do it for extended periods of time, both big time wasters.

I am actually really interested in seeing how everyone handles text (and all other RPG elements really) in C2, as there is no real standard I have seen so far and these are the things I have worked on most extensively. Also, like mindfaQ asked, how did you handle movement? I use pathfinding, but my issue is that they never end up exactly where you click or get as close to the wall as possible, which yours seem to do.
B
28
S
8
G
5
Posts: 429
Reputation: 7,007

Post » Sat Oct 26, 2013 6:29 pm

[QUOTE=Tobye]There is a lot of speech to be done in a game like that, so if you can set it in 1 action and 1 condition, you will do that chunk of the game 4x faster than 4 conditions and 4 actions. Then in the latter case, you imagine you spend 30% of your development time writing text[/QUOTE]

@Tobye

Wow, hold on, you want to implement every single dialog in the event sheet? that's insane. First of, you need to use functions. This way, no matter how many actions it takes to display dialog, it will always take only one or two function calls.

Then, even if I don't know exactly yet how I'm going to handle dialog, one thing I'm sure if is that I'll have the logic implemented in a single event sheet and that the dialogs themselves will be stored in separate files and will import them at runtime, as XML or JSON,. This way I can edit dialog separately from the rest of the project, without needing to republish every time I correct a typo. Plus this allow you to support multiple language. You can auto detect the language with the browser object, then import the corresponding file. Ofr instance i'm french, so I'll write my dialogs in both french and english. If I dedect the language is french, I'll import the french dialogs, else I'll import english. I'll still leave an option in the menu to override this.
B
12
S
5
G
2
Posts: 132
Reputation: 2,627

Post » Sat Oct 26, 2013 8:37 pm

[QUOTE=Tobye] @OlivierC - Oh, I was meaning the effect of the light coming from the windows being displayed on the floor sorry ^^ Is that an effect you made or part of the image?[/QUOTE]

It looks like a static image. The room is created using a 1 point perspective and the light source is above the window on the right. Once you establish where the light source is going to be, you use the shape of the window to determine what light is allowed to touch the room and the objects in it.



@OliverC

I hope you don't mind that I posted a screenshot of you work. I'm following along with the discussion and I love discussing art. If you disapprove, I'll remove the image. Sebastian2013-10-26 20:39:18
B
14
S
7
G
3
Posts: 145
Reputation: 3,035

Post » Sun Oct 27, 2013 1:44 am

@OlivierC - Of course you use functions, but still how you use them adds up! You still need to know when to call which function and state your paremeters. Say for example you have on mouse clicked + is overlapping character: call function. First of all, you should only ever have to write that once and not for every character, which is obvious. But then also what if that character is unresponsive at the time? You don't want to have to add another condition saying 'is character responsive', so be sure to include that in your function.

And the more you get into it, the more little quirks may appear like timers - do you want them to stop when talking to someone? Just when talking to a specific person? And how do you event your speech? For every window of text you don't want to have to write 'is talking + talk page = X: call function that sets text to X'. Sure you will often have to refer to these, but making a neat way of housing all speech for a character under 1 set of conditions makes things easier.

So all I'm really saying is never get satisfied with how trim you get it, because there is always more to consider and easier ways to implement things. For my game most text doesn't require a single event, which makes life tremendously easier for the level designers/writers. But still I am always looking for new ways to add short-cuts that can reduce the need for events, or at least the number of actions and conditions and actions for more complex scenes. It's infinitely more important if you expect a lot of people to work along side you as you don't want to have to spend time teaching them how it works.

But about the XML/JSON, I had always thought you need an internet connection? I must say I haven't looked into it too much, I got turned off early on when there were still some issues with them. Maybe you could elaborate for me?

@Sebastian - ah okay, thanks for that. I don't suppose you would have any idea how to implement dynamic lighting like that in C2? I know it's possible as I've seen a few demos using it, but there was never a capx. To have shadowing and lights working like that, alongside shaders and spriter, would lead to some really amazing and versatile visuals!
B
28
S
8
G
5
Posts: 429
Reputation: 7,007

Post » Sun Oct 27, 2013 9:04 pm

Sorry I forgot to answer about that, yes the lighting is just part of the artwork, it's a low res 3d render, I modeled the room quikly in maya just for this test.

@Tobye : I see what you mean. But don't worry, I'm a former developer, I'm used to program with object oriented languages, I keep re-optimizing my events all the time. I'm planning to have a big recursive function for dialogue. Pauses and such things will be implemented in the XML. The function will then test for each new line of dialog who is talking, to whom, if there is a pause... It might even evolve into a full script which allows you trigger complex action (new character walks, one give an object...)

I started with XML to load the current scene you see (walk areas, collisions, light area...), but I read that XML just won't load on android devices, so I might switch to JSON, which works just fine but harder to edit manually.
B
12
S
5
G
2
Posts: 132
Reputation: 2,627

Previous

Return to Construct 2 General

Who is online

Users browsing this forum: lukewasthefish and 9 guests