Fimbul's Forum Posts

  • Meanwhile, there's nothing keeping you from modifying the existing sound plugin and adding those features, except perhaps your knowledge of JavaScript or the C2 Api.

    Granted, it will break compatibility with existing projects unless you create a new plugin, and it won't work in the arcade, but I think it's a pretty viable option if you really need the features and know your user base.

  • Thumbs up! This is a minor thing for me, but if it improves project organization, I'm all for it! I even have some code specific to test projects and it would be great not having to delete them

    It could even bundle the plugins along when you save the capx.

    How would it handle a plugin/behavior that already exists in general? I'm guessing it would use the project-specific version, right?

  • No, there is no way to edit the "raw" code produced by construct 2. You're welcome to try - you can skip minifying and the output is open - but I don't think it's understandable, or even if it is, it's not worth the effort. The way to work around those limitations, since you know javascript, is to learn the API and write custom plugins - they work great for the majority of the cases, even if it takes some thinking.

    Yes, there are loops - while loops, for loops, foreach loops, ordered loops, it's all there.

    There are also functions now, albeit a bit primitive since they aren't first class citizens, and they don't really know what scope is.

    It is possible to organize your code, and I personally am always trying to steer scirra towards improving the event system to make things more manageable (I think this is way more important than cocoonjs/awesomium/windows 8/etc, but they have to make money), and it's not like they're slacking - the newest additions are containers and functions, and they work well enough (though they could be improved a lot).

    Overall, however, writing raw javascript code will always give you more power, but remember you'd be writing a whole new engine, complete with collision detection, object picking, memory management, drawing, loading...

    Writing plugins may be more work than cramming a solution inside your own engine, but it's not that much work, the cost of writing an engine is gigantic, and the end result if you do write a construct plugin is an extremely modular piece of code that can be shared with the community and reused in other projects.

    I used to think it was a bother writing custom plugins for every little thing, but now I honestly think it's worth it.

  • This suggestion doesn't make any sense. I'd love to see construct for Linux, and mac users will probably want a version for their wretched excuse for an operating system as well.

    So far though, Construct 2 on Windows 7 is pretty sweet. There are much bigger problems to tackle in development.

    Edit: You are absolutely correct Arima, sorry!

  • Astrosus, it uses TCP from what I've seen. The gameplay is too basic, too, but thanks for the contribution!

    We need UDP to enable twitchy fast-paced real time gaming with HTML5.

  • I'm digging this topic off it's grave since the HTML5 spec has been finalized and 2012 ended.

    Kyatric, as the video said, DataChannel would be ready by the end of the year, do you have any news on it? I'm trying to dig around the web but so far I'm out of luck.

  • kappie7,

    ambitious projects like yours tend to fail, especially those run by volunteers. I have a couple techniques to deal with that, but they all take a ton of work.

    If you really believe in this project, here's a task for you: create a design document of AT LEAST 50 pages, containing location, setting, story elements, game mechanics, monetization schemes, technical roadblocks (and proposed solutions), spending forecasts, mockups (your first post shows a sample, you need one of those for each mechanic, even if it's just a drawing on a napkin).

    You'll also need what's called a "Work Breakdown Structure", which is basically dismembering the project into multiple components, and making them into a "unit of work" that a single person can produce. So, for instance, you might have a section called "map", and it in turn is divided in "fixed map" and "generated map", with an explanation accompanying each of those.

    You'll probably quit once you start writing the document, so instead of creating a humongous .docx file, post regularly on this topic instead. This way you won't be paralyzed by needing to make a huge blob of text, we'll all be able to discuss the project, you'll attract more volunteers, and the whole forum will get to see your work come to life.

    Just my two cents.

  • Zeische

    I'd love to work on your project! Are you accepting help?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • random(0, 1024) will produce a number between 0 and 1023

    random(1024) will produce a number of 1024

    What? No, that is incorrect. random(1024) is the same as random(0,1024)!

    If it were like you're saying, it would be a bug, because it would be the same as typing 1024.

  • Ashley, what about the variable grouping being used only in the IDE? This way nothing would have to change on the underlying engine, and we'd still be able to organize our variables

  • No, you will not. Buying the program does not guarantee, or even increase the chances, of any additional support.

    The forum is run by volunteers, and is based on a mutual exchange of knowledge, assets, and in some cases even money - a community.

    This means we have no obligation of providing support. This is the same in all forums, except for those that specify support is provided in the forums explicitly.

    While Scirra does provide great support in the forums, your primary methods of learning construct 2 are still the manual, tutorials and experimentation. A more effective use of the forums, should your topics not be answered, is to use the search function to see if your questions have been asked before.

  • I'm a bit bothered with the fact that we're limited in our variables, whereas pure javascript is so powerful.

    I'm having to make lots of custom plugins to counteract this simple problem: You cannot nest variables, arrays are not associative (which is fine) and limited to three dimensions.

    Since you are limited to one level, you cannot add variables to variables. So something like player.options.name is impossible to achieve. This goes back to my feature request requesting a way to categorize variables. I'm not asking for variables to actually BE inside one another, as in javascript - this can (and probably should) be a purely IDE thing. We need to be able to assign variables to groups, and assign those groups to subgroups - that is all.

    Now onto arrays. If you are making a 2D tiled map, for instance, you can use an 3-dimension array to store information about your tiles: X and Y are normal coordinates, and you use the numbers in Z to store your information, so 0 might be "tile ID", 1 might be "tileset ID", 2 might be "is this an obstacle?", 3 might be "is this animated?" and so on.

    When you make a 3D tiled map however, stacking tiles on top of each other (making blocks - as in dwarf fortress or tibia), you need the third dimension to represent an actual coordinate, losing the ability to store values. You then need to create another array, and store a pointer to a position in this other array.

    It would be nice if we could add variables of type array into objects instead, and use bracket notation to work with them - thus freeing us to work in more than 3 dimensions.

    *<font size="1">For those that don't get this technique, you simple create two arrays - Let's name them "coordinates" and "values".

    You use X, Y and Z to refer to coordinates, and since you can only store ONE value, you store a sequential number. Your "values" array is two dimensional. Your X dimension is sequential, and your Y dimension is your values, so 0 might be "tile ID", 1 might be "is this an obstacle?" and so on.

    If you want to know the properties of a tile, you check the "values" array at position x=(whatever is stored in the "coordinates" array for that XYZ coordinate) and y=(number of the property you want to know about).</font>

  • > It's been on our todo list a while. It was an oversight when we originally implemented global variables - for now a number being 0 or 1 should do.

    Is there an easy way to toggle a number between 0 and 1 as though it was a boolean?

    Sure. Just set Number to abs(Number - 1). It will change a zero to a one, and a one to a zero.

  • Love the suggestion! You can think of it as a virtual variable or a really simple getter.

  • When people buy something they are paying and buying now, they are not buying someday or wishful thinking unless disclosed to them not available but upcoming features.

    The export is not Construct, but some other software, I think it should be clarified that Construct does not natively export directly to the advertised platforms and requires a 3rd party to do it.

    But scirra never did say it exported natively to iOS, Android, Windows Phone, Windows 8 or even Desktop. In fact, they didn't even say it was easy, regardless of whether it is native or not.

    While it's a bit of wishful thinking to emphasize Desktop and Android equally, since it works orders of magnitude better on Desktop than Android/iOS/Winphone/win8, there are some games published on those platforms, to it's not "false advertising" by any stretch of the imagination.

    It's harder to target mobile, and mobile versions of games are always less capable than desktop versions (unless you plan for mobile first), but isn't this universal? I know for a fact that GM or MMF games for mobile aren't as capable or performant as their desktop counterparts.

    TL;DR; Yes, it's a stretch. But then again, all competitors make the same stretched claims. Also it's not false advertising because it is indeed viable to publish on those platforms.