Kurosuke (working title)

Show off your games, demos and other (playable) creations.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Kurosuke (working title)

Post by tentus »

Maybe I should post less often? But then there'd be even less reason for people to post on this topic... so conflicted.

Anyhow, version 101226 introduces crates, though I've commented them out of the beta levels I tested them in. Simple, physics-y guys that can be shoved and rolled around (depending on the whims of the map author). Speaking of mapping, I've added multiple new "brushes" to the ingame editor, though it required some rewrites to the code that probably hurt performance a little. Eh. To make the editor easier to use I've also added a brush list to the right. I've probably also introduced some nasty bugs: water in particular has me worried.

I've also added "panning" and "waiting" modes to the camera object, paving the road to cutscenes. Right now you can see panning in action by hitting "enter" during singleplayer: the camera will pan to the center of the player. The fader class also has some new functionality that will probably be useful to future directors (maybe not). I have shuffled some files around in the plugins directory, which doesn't affect anything externally but will make the code more organized for future readers.

Edit: addition minor edits later in the day fix a level saving bug, introduce companion hiding (this will be important to the story, but is useful ATM in editmode) and maybe fix a bug with external controller support.
Kurosuke needs beta testers
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Kurosuke (working title)

Post by tentus »

Posting less completely failed. Hm.

Well, in the versions since I last posted, I have done substantial rework to the editor to make it more powerful, splitting a good part of it off to a separate class. This has caused more than a few bugs, but we're on to something. While doing this I have also cleaned up some of the geometry classes, making them have default values can such.

Actually, a few quick Lua questions for the more knowledgeable members of the community:

Is there an elegant way to establish defaults for function parameters? for example, in php you can do this:

Code: Select all

function foo(par=1){
  // stuff using par
}
Which means that if you just call foo(), "par" has the default value of 1.

Second, does Lua have aliasing? Google gives me a bunch of WoW crap, I'm looking to do something like this:

Code: Select all

function foo(par, par2)
  local target = table[child][subchild]
  if par2 ~= 1 then
    target = othertable[child][subchild]
  end
  target.x = par
end
Kurosuke needs beta testers
User avatar
Robin
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands
Contact:

Re: Kurosuke (working title)

Post by Robin »

tentus wrote:Is there an elegant way to establish defaults for function parameters? for example, in php you can do this:

Code: Select all

function foo(par=1){
  // stuff using par
}
Which means that if you just call foo(), "par" has the default value of 1.
In Lua, the standard way of doing this is:

Code: Select all

function foo(bar)
    bar = bar or 1
    -- do something
end
tentus wrote:Second, does Lua have aliasing? Google gives me a bunch of WoW crap, I'm looking to do something like this:

Code: Select all

function foo(par, par2)
  local target = table[child][subchild]
  if par2 ~= 1 then
    target = othertable[child][subchild]
  end
  target.x = par
end
That seems like valid Lua, but what do you mean by "aliasing"?
Help us help you: attach a .love.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Kurosuke (working title)

Post by tentus »

Ah, thanks, that's handy to know.

Aliasing is basically where you give a shortcut to a variable, without copying it or anything. It's mostly useful if you have the same code that can be applied to several disparate items: in my level editor, the function for moving level geometry and moving items is exactly the same code except that it deals with different global tables. I'd like to consolidate the code to as few lines as possible.

Edit:
You were totally right, that was valid Lua, I made a foolish mistake (not double-checking that the subtable existed before creating the local variable). Gahh I hate it when I make noob errors.
Kurosuke needs beta testers
User avatar
BlackBulletIV
Inner party member
Posts: 1261
Joined: Wed Dec 29, 2010 8:19 pm
Location: Queensland, Australia
Contact:

Re: Kurosuke (working title)

Post by BlackBulletIV »

Very nice game!

Found a couple bugs in level 2. First one happened when I was moving rather fast and ran into an enemy. I was almost touching the ground, more level with the enemy than above him, but I still knocked him off by supposedly jumping on him.

The second one was when I was in the water. For some reason, one time when I jumped in I couldn't use the up button, so I had to press down and then press up.

EDIT: Found another one. I had grabbed the level ending token, and then fell off a ridge. As the level was fading out it came up with the "You have perished" screen.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Kurosuke (working title)

Post by tentus »

Thanks for the feedback! A couple comments/questions:
1: Did you just run into the enemy or was there jumping involved? The calculations for landing atop on enemy are pretty basic, so sometimes the math gives answers that are technically right but in terms of gameplay wrong.
2: I think the water was allowing the player to walljump after exiting, which then led to other hairy issues. I reworked how avatar collision with water works to prevent that.
3: You had perished by falling to your death. It wasn't a gameplay error so much as a level design fail on my part. I'm reworking the level to prevent that.

Doing the reworking has have led to several additions to the level editor, which is my chief focus at the moment. Most objects now render details about themselves in the editor, which can be useful to the person editing. I'm currently fleshing out the level saver, trying to get it to efficiently output the many components that make up a level. I've also added default values to most of the components so that even if the map is saved wrong it can be read in at least partially right.
Kurosuke needs beta testers
User avatar
BlackBulletIV
Inner party member
Posts: 1261
Joined: Wed Dec 29, 2010 8:19 pm
Location: Queensland, Australia
Contact:

Re: Kurosuke (working title)

Post by BlackBulletIV »

1. Sorry, yes jumping was involved. Yeah I assumed it was the result of basic mathematical calculations.
2. Ok cool.
3. Yeah I realise that. I was just thinking that it would only take a simple check to see whether or not the level had been completed and if so, choose not to display the death screen.

Sounds good. Good luck!
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Kurosuke (working title)

Post by tentus »

Version 110106 adds a lot of finish to the editor, now supporting every level object in the save process (talk abut tedious coding). I also cleaned up a bit of redundant game code, cramming eight mulit-part loops into two function calls.

The more visible addition to the game is a bomb weapon, which you can see by hitting rshift in singleplayer. I'm still ironing out its properties, but I have hope for it. Next projectile is probably a boomerang of sorts, but if anyone suggests a cooler idea I'll implement it instead.

Please tell me if you run in to bugs!
Kurosuke needs beta testers
User avatar
BlackBulletIV
Inner party member
Posts: 1261
Joined: Wed Dec 29, 2010 8:19 pm
Location: Queensland, Australia
Contact:

Re: Kurosuke (working title)

Post by BlackBulletIV »

How do I use the editor?

Also, in the new version I found it really hard to get out the water. I eventually got out on the left side and did a huge run and jump to get over to the other side. It wasn't this hard before, is it just me?

By the way, I can't shoot lightning anymore or use that bomb feature you mentioned.
User avatar
tentus
Inner party member
Posts: 1060
Joined: Sun Oct 31, 2010 7:56 pm
Location: Appalachia
Contact:

Re: Kurosuke (working title)

Post by tentus »

The water is trickier, I am considering giving the player an extra boost when leaving it, or possibly an extra jump.

As for the lightning: I missed an n in the level file, so all kinds of fun errors were happening. They should be largely fixed now, to see the new weapons go to level 3 in multiplayer versus (I give you a full holster there) and hit shift to cycle though weapons. The new ones are kinda buggy, I'm still ironing out their behaviors. Also I think lightning is getting spawned in the wrong place, I need to check in on that.
Kurosuke needs beta testers
Post Reply

Who is online

Users browsing this forum: No registered users and 112 guests