Znirk's Forum Posts

  • Belated happy zeroeth birthday to everyone involved!

    Seriously, congratulations to wife-and-you, and a long and happy life to the Spawn of SoldjahBoy. Enjoy these early days (sleep is overrated anyway :D ) -- do you get any kind of paternity leave?

  • This is something the people in the interactive fiction scene ("text adventures") scene have spent a lot of time worrying about. See some of their discussion here.

    Farsimconcerned, a "good NPC" needs to:

    • be implemented well. You as the game designer have to figure out what you need this NPC to do as a game element, and make it do exactly that. It doesn't really matter at this point how "simple" your NPC's role in the game is: there are legitimate uses for characters that function as locked doors, information dispensers or kill-on-touch platform enemies. The point is that you need to make sure they actually perform that function, because anything else means that your game is broken.
    • be characterised well. This is a complex (and hard) matter of tweaking the art, animation, sound design and possibly writing if there's text interaction between PC and NPC. In a way, you have to become a director and actor in one, and make the NPC feel "right" and believable (within the game's setting), rather than, say, "the 50-hitpoint version of the generic monster". Mipey's point about "idle animations" has a lot to do with this issue, I think; but it needn't be limited to animation -- think e.g. No One Lives Forever and its H.A.R.M. grunts discussing which evil organization has the best health benefits. Consider the environment as well: Does your character have any believable in-game-world reason for hanging around where you put it?
    • be overimplemented. Not an issue with the instakill monster, but if there's any real PC-NPC interaction you'll have to step back and look at it from a player's perspective (or get independent tester feedback). This is particularly important if the PC-NPC interaction is a puzzle that the player has to solve in order to make progress in the game: Apart from the "solution", i.e. the one interaction you've planned out as the "successful" one, what else could the player plausibly try? Implement a few specific "fun failure" responses for interactions that make sense but happen not to be the ones on your map for Successful Outcome. This greatly redcuces frustration in a player who gets sidetracked while trying to work out the "solution". On the other hand, no need to go overboard -- you don't really need to implement a response for the PC trying to wall-jump off the village elder. The player who tries that is already having fun
  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Am I the only one on this board that finds this thread insanely offensive and sexist and insulting?

    No, you aren't.

    But then, the general atmosphere around here is pretty sexist anyway. The audience of this forum is adolescent males (of all ages), and I imagine any actual females who stumble in here will be driven off PDQ.

    So ... yes, this femstruct joke is annoying and childish, but in a way the audience has already self-selected into a group who won't find it all that offensive.

  • SuperV is on another forum I read regularly, and he occasionally mentions Construct. Took a look, started toying a bit, probably won't ever make an actual game (or at least not before I finish my first novel and make my first ten million bucks ;)

  • Python 3.0 final was released on December 3rd, 2008.

    Python 3.0 (a.k.a. "Python 3000" or "Py3k") is a new version of the language that is incompatible with the 2.x line of releases. The language is mostly the same, but many details, especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed. Also, the standard library has been reorganized in a few prominent places.

    What, if any, is Construct's schedule for switching to Python 3? Is it more of a "We'll worry about it when Construct is more mature" or "we need python module X, and can't switch before the module does"?

    (Just curious. I don't speak python, but that makes it all the more interesting whether there's a point to diving into version 2 at this stage.)

  • The Freesound project (formerly at the Universitat Pompeu Fabra): Free in the "cash" sense, but a little complicated in the legal department in that it uses a special sampling-related Creative Commons license for sounds. It's also mostly focused on samples for musical use, but you might find something you like.

  • Soundsnap has a massive library of effects and background sounds. You can preview ... uh, "pre-audition" anything they have, but as of recently you need to sign up to download any files, and pay a "membership fee" to download more than 5 files per month.

    On the plus side, the sounds themselves are royalty-free to modify and/or distribute with any game. (I'm not quite sure about the exact effects of their license -- the part where they don't want people selling bootleg collections of their content may mean that you have to either put the sound in a resource (not a separate file) or make some changes to it so it's not exactly their content any more.)

  • Wow, Niger in Africa has 233 out of 1000 births being made by underage (teen) girls...

    Not quite: It's per 1000 females-in-the-15-to-19-range, not per 1000 births. (Not that "nearly 1/4 of teenage girls have children" is any less worrying than "nearly 1/4 of new-borns have teenage mothers".)

  • If you want to generate sound by typing lists of numbers, check out csound. Anything you write can be midi-controllable as long as your computer can render it in real-time. (If you're not so much into typing, there's a few dozen graphical front ends that might suit you -- I'd suggest a look at blue.)

    Similarly, Nyquist, with a lisp-like language, for the CS students out there. Supercollider, for people with macs. (Kidding. It also works, reluctantly, on other platforms.) PureData if you prefer clicking over typing. Or, y'know, Buzz, which afaik is free but not open source.

  • Yup, x^y. Exp is the inverse of ln (logarithm with base e). See http://en.wikipedia.org/wiki/Exponential_function

  • Sounds a little hinkey, sorry I always tend to look for ulterior motives when I see the word free.

    Good idea, I think. Give their "EULA" a close read ...

    [quote:36495i1f]

    "Of course you have all the copyrights in whatever you create, but by accepting this license agreement in order to use our software, you automatically grant us a license to do anything we can think of with your work, up to and including stage performance. You, on the other hand, can't even distribute your own content without our permission -- not that it's even possible short of reverse engineering our tools.

    But of course, if we make any money off your work, we might give you some of it. If we feel like it."

    Not kidding, just paraphrasing.

  • I'm spinachless.

  • of course construct can easily handle it. Its just that it will be quicker and easier in Ren'Py i expect.

    ... a statement which may need a little explanation, particularly since I have a sneaking suspicion that Shii misunderstands the term "event-based" as applied to Construct. Sorry if you're totally clear on the concept. I'm basing my assumption on your question about keeping audio playing through several events, which I think is a really weird thing to ask if we're assuming the Construct sense of "event".

    By the way, it's perfectly OK to misunderstand stuff. I myself am not all that clear on this "visual novel" concept -- I'm picturing something like an illustrated and slightly animated, linear or perhaps CYOA-style branching, story; but I almost expect to be wrong.

    So, deep breath. Prepare for textdump in 3 ... 2 ... 1.5 ... 1 ...

    When people say that Construct is "event-driven" or "event-based", that's a programming technical term. It means that Construct programs aren't so-called "batch programs" which run through a to-do-list and then stop. Rather, a Construct program waits for "events" (with Construct, that's often things like keypresses, mouse clicks, sprite collisions etc.) to happen and responds to them as they occur.

    In other words: Instead of "Do A. Do B. Do C. Do D. If the result of D is below zero, do B again. Stop.", Construct works more like "Whenever n happens, do A. Whenever o or p happens, do B. Whenever q happens, do C.", with the implication that if n and p happen simultaneously, the Construct program will do both A and B.

    This is ideally suited for the more hectic kind of game, where a lot of things may or may not be happening at any given moment (Is the monster close enough to attack the perspective character? Did any bullets just hit anything interesting? Is the player pressing any movement buttons? Is the PC moving, or perhaps falling off a cliff? Has the background music ended and needs to be restarted?), and where there are only a few different "contexts" so that usually the same event calls for the same response.

    Now rewind to the top of this post, where I thought that Visual Novels are pretty much the opposite of such a game: Instead of few contexts and many possible events at any moment, such a program would have a lot of different scenes but spend most of its time waiting for one specific event per scene. Also, each scene would be a different context -- pressing [space], or whatever the canonical turn-the-page button is, should lead to scene 2 if it happens during scene 1; but pressing [space] again in scene two should probably do something other than restarting scene two.

    You can still do it in Construct -- particularly the shiny new Timeline object in the latest version (0.95.5, for posterity) would make a few aspects easier, I expect -- but it's a case where all the event-oriented Construct code would probably be more complicated to both write and read than something that looks more linear, movie-script-like. (Again, I'm merely assuming that Ren'Py is such a tool. I know little more than that it exists.)

  • I'm working on a visual novel-type game

    Just checking -- you do know about Ren'Py, right?

  • is exporting the game to run on other platforms still planned?

    - Pick up the SDL display class a previous user wrote and implement it with OpenGL, to provide an alternative renderer.

    - Look for people who can port this to other platforms.

    As I understand this, they want to split the job: They'll make an alternative runtime that uses SDL and OpenGL (which are available on several platforms) instead of DirectX (which is Windows-only); but the current Construct developers' version of the new "alternative renderer" will still only run on windows.

    But such an SDL/OpenGL version of the runtime will be much easier for someone else to port to a new platform. A port on the basis of the current DirectX runtime would have involved ripping out a lot of (DirectX-specific and therefore Windows-only) code and rewriting it to use something which works on the target platform (like frinstance SDL and OpenGL). But lo and behold, by version 1.4 or perhaps 2.0, the devs will already have done exactly that.