Point & click Adventure Games

  • I've been playing a lot of point n click games recently. One which i really liked was called THE WOK. It's available on fastgames. Another was Tiny Wheel. These little gems are niche but i'd like to know if such game logic and mechanics could be created with C2.

    And so i ask the more advanced users in the hope of a resounding YES!

    But please be honest here and don't be afraid to make a man cry. <img src="smileys/smiley19.gif" border="0" align="middle" />

  • I answered this when another asked a question.

    The answer is yes it can be done.

    The thing is. Game creation with an open tool like C2 isn't about "can C2 create Y game". It's about can you make the game with all the tools. C2 has a wonderful number of tools that you can make ANY 2d game. It has fantastic tools to make a platformer in minutes. But outside of platformer, top down, and some in the samples. Your going to need to put in a little more work.

    I managed to create a P&C demo in 10 minutes. After 4 hours I had

    scene changes

    scaling with the scene

    item pick up

    inventory

    positional and distance audio sounds

    however like any game moving prototype to a polished product is entirly a different story.

    Check out The Blue Code. It is a demo Point & Click adventure game done in C2. This is the facebook page.

  • Like pretty much all 2D games, point-and-click adventure games are definitely doable in C2. Getting the basics right - user interface, character animation and movement, camera and screen control - won't be too difficult, but the more advanced stuff like dialogue trees, quests and inventory management will require a pretty high level of knowledge of C2.

    To be completely honest, there are tools out there dedicated to this genre, and I do think you'd be better off using them in the long run. This doesn't mean "C2 can't do it", just that, in my opinion, you'll get better and quicker results from using software dedicated to the creation of point-and-click adventure games.

  • I have been using Construsct for a bit over a month now, only during weekends, so you can consider me more like a n00b than an advanced user.

    My goal is to make a point and click game too and this is what I got so far

    This is only a proof of concept, the guybrush sprite is only temporary of course and there is still a lot missing but I already got some cool features implemented, including menus, pause, collisions, Z sorting, depth, lighting, being able to control the game with mouse, keyboard or controller seamlessly, dynamic screen loading ( I have one single layout for all screens, the data are loaded from an xml file). All this was made only working on sundays of the last three weeks pretty much. Did not even have to ask for help, just reading the doc and searching this forum.

    I know there are tools like Adventure Game Maker which are pretty much dedicated to making point and click game but I liked the idea of making a game in HTML5.

    So yeah, it can be done and that's what I'm aiming at. I actually think the harder part will be to write a good story and design good puzzles, than making the game work

  • OlivierC I'm wondering how you went about the lighting? It's one of the few things left I haven't gotten into yet and I would like to see how it's done :)

    But yeah I agree the bulk of it is all pretty basic. I think the trickest part is how to handle text trees and cycles, because what looks good to start with can lead to hell if you get it wrong in just a tiny point. You really need to make sure it's super simple to implement and reliable.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I like the lighting system you have. I shoulder consider implementing such a thing. but I don't have light maps to go with what the scenes are(I'm not doing art).

    I got dialogue tree's going. Fallout style :D

  • Tobye

    "Lighting" is just a trick. I apply the Tint effect to the character sprite. Then I define three global variables for the reg, green and blue values of the default ambient light (100 if you want your sprite to appear with normal color). Then I create an empty sprite, to which I give three instance variables, also red green and blue values. I duplicate this sprite and position it to define areas I want the color of my character to change. I set the red green and blue value accordingly. Then in my even sheet, I test if the character overlaps a "light" sprite, in which case I set the effect's RGB with the values stored in the sprite, else I use the global values, the scene's default ambient light.

    Of course it take some testing to find the right values. In this test I set the ambient to 100 and he shadow areas to 60 for all the three values, but it does not have to be light/shadows only, you can play with colors to simulate different moods.

    Indeed, the dialog part is something i'm saving for later because it's complexe and i want to spend some time thinking about it. I studied the old lucasart game and noted down a few things that I'll have to take into account: some dialog options can only be used once, some others unlock only after you have asked a specific question or if you have done a specific action (talked to someone else, have aa specific item in your inventory, been somewhere...). Then the dialogs are not the same if you talk to someone for the first or if you come bakc (like "hello my name is..." the first time, and "oh, hello again dr jones..." after)

  • OlivierC: I guess you did use the normal pathfinding? Which grid size do you use? Seems nice and smooth, while being fast.

  • yeah only default plugins and behavior. I used a cell size of 5 I think, maybe even smaller, because the project is only 400*240 pixels, which is rather small. The original monkey island game, which I got the character sprite from, was only 320*240 (including the action menu at the bottom, taking a good third of the screen space). So I just made it a bit wider, for modern screens.

    This weekend I'm planning to implement the navigation between rooms, and if I have time, the interaction system. I want to do it like in monkey island 3 and Full Throttle: instead of having verbs buttons, when you click-hold on an object/character, a menu apprears, you hover the acion you want (take, talk, look...) then release the mouse. the reason I want to do that is because it would work fine with touch. Eventually I might use right click for mouse, to cycle between actions, like in sam & max or the Sierra game (kings quest, space quest...)

    Edit: Sorry for highjacking the thread, but hey, just prooving the point it's possible :)

  • 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.

  • 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

    @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.

  • 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?

    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.

    <img src="http://sebastianchamplain.com/temp/lightingEx01.png" border="0" />

    @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.

  • 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!

  • 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.

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