Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 12:38:41 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsLeilani's Island
Pages: 1 ... 61 62 [63] 64 65 ... 67
Print
Author Topic: Leilani's Island  (Read 409797 times)
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1240 on: October 03, 2020, 11:33:52 PM »

Boss Ending

During the boss defeat sequence, Kuila usually jumps off-screen to escape from Leilani. However on this particular level, there's poison across the bottom of the screen, so it looks kinda silly. (I do enjoy that the splash effect kicks in so it really looks like she just jumped into the water Cheesy )



To fix this I remembered some fan art that Louard posted in this very thread! With permission I added an escape sequence based on this gadget:



And Louard provided some ideas for tweaks to improve it further - having her turn around to face Leilani while flying away feels really good.



Switch Blocks

I've also been experimenting with bringing back an old mechanic. In this post I showed off blocks that toggle on/off when a switch is hit. Here's the old gif:



As far as I recall I barely touched the mechanic since then. I tried using it in a level and wasn't very happy with it, and lost interest. But now I'm bringing it back.



Aside from polish (visually connecting adjacent blocks together, animations for the blocks sliding in and out) the main difference is the switch that toggles the blocks. The weird grey block with the red lever in the old version wasn't interesting to use, and also didn't really read like a switch visually. You could hit it from underneath, or roll into it. I mainly implemented it this way as a shortcut - it's just another type of block (like the yellow breakable blocks).

The new version - a yellow button - is more fun to use and gives me more control over how the player can toggle the blocks. The button has a direction, so the sideways ones can only be hit by rolling into them (or kicking an enemy from the side, etc) while the upwards ones have to be jumped on.

The buttons also toggle on and off themselves, so you can't repeatedly hit the same button over and over to toggle the blocks. This makes it a more important decision whether to hit the button or not, because the button to toggle the blocks again may be hard to reach, for example.

Finally the buttons also have some collision on them which comes and goes as they toggle on and off, which can occasionally lead to using them as platforms to climb walls. It's nothing that couldn't be done by placing one of the toggle blocks themselves, but it's fun for the buttons to have a dual purpose like that.

I have some ideas with how to use these platforms now - so I'm looking forward to putting a level together.
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #1241 on: October 04, 2020, 01:43:19 AM »

Juicy post as always. Kiss Coool, this Boss clear anim. Switches are good, opening possibilities to level design and if puzzles made from them are ok difficulty, it's keeping player focused on one place, prolonging gameplay here and there.
Logged

kevin andersson
Level 1
*


Producer/ Designer by day and Programmer by night


View Profile WWW
« Reply #1242 on: October 05, 2020, 12:11:13 AM »

Great post! Feels like there's so much cool stuff in the game. Do you know how long you've got left on the project?
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1243 on: October 05, 2020, 03:03:13 AM »

Is this game going to ship with a level editor? Because you know someone will make a computer with those switches if you do, right?
Logged
EJlol
Level 0
**


View Profile
« Reply #1244 on: October 05, 2020, 03:20:27 AM »

The levels are made with Tiled which you can download for free. The question should be "can we play our own levels"? Wink
Logged
JobLeonard
Level 10
*****



View Profile
« Reply #1245 on: October 05, 2020, 04:04:27 AM »

Right, I forgot for a moment (don't tell Thorbjørn, and please consider donating to the project - the guy has kids to feed)

Let's pretend I asked about custom level loading support then Wink
Logged
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1246 on: October 05, 2020, 11:20:14 AM »

Great post! Feels like there's so much cool stuff in the game. Do you know how long you've got left on the project?

I don't have any concrete time windows or anything for completing the game. I'm now trying to be a bit more sensible in what new things I choose to add for new levels (such as reviving old unused mechanics like the switch blocks, or making bosses fairly similar to each other, or reusing existing tilesets and just adding a bit of lighting effects or a new background to make them feel fresh) with the hope of speeding up the development of the rest of the game a little bit. In terms of number of levels completed I'm around 40-50% of the way there at the moment. That's not a reflection of the overall development work for the whole game though, as many of the surrounding features like menus and whatnot are basically done. I even have the framework in place for the end of game credits Smiley

The levels are made with Tiled which you can download for free. The question should be "can we play our own levels"? Wink
Let's pretend I asked about custom level loading support then Wink

I don't plan on supporting custom levels. The game has too many combinations of elements that don't work together (as an example, if you turn on the toggle blocks behind a boss it'd probably glitch the boss through the floor or something). Editing levels for the game is also quite convoluted at this point - while Tiled itself is as lovely to use as ever, making a Leilani level in it requires many specifically-named layers, properties added to objects, and knowledge of the sometimes weird ways in which the game interprets the data in the level file. The boss/cutscene scripting system is similarly arcane, it works for my purposes but isn't user friendly at all.

Obviously this is all solvable in various ways (writing a custom level editor, or handling more situations during gameplay) but doing it properly would take more time than I would be interested in putting into it. (Not to mention the additional work of adding the framework for selecting custom levels/campaigns within the game, separate save files for custom campaigns, world map editor implications, etc).
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1247 on: October 06, 2020, 03:44:20 AM »

That's a task for the porting team when your game becomes a runaway success Wink
Logged
oahda
Level 10
*****



View Profile
« Reply #1248 on: October 09, 2020, 03:11:59 AM »

You can always release this stuff as is under the label "modding tools". Cheesy

Also great update once again, fun to see you implement that old suggestion!
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1249 on: October 28, 2020, 09:33:26 PM »

My devlog posts seem to be getting further apart - I intended to post one earlier but was always either too busy to do it, or not in the mood when I did have time. However I'm here now Smiley

Factory level finished

The factory level that leads up to the recently-added boss fight is now done, making use of the switch block mechanic that I recently brought back from the dead. I had bursts of level design inspiration mixed with lulls where I had no idea what to put down - but got there eventually. I consider the level to be just a first pass as it'll likely have some polishing at a later date, but good enough to move on from for now at least.

Red Eye event timer sequences

The level also features the also-recently-added Red Eye enemies, which will possibly be called Eye-Beams in the final game, not sure yet! In the post where I introduced them, I described a problem that I would tackle later:

I'm also not yet sure how to approach the timing of the enemy's behaviours. Most projectile-throwing enemies in the game - and also cannons and missiles - are currently driven by a global timer. Each enemy/cannon can be configured with a pattern that describes how often it fires something. This also goes for moving platforms. This allows me to synchronise various features of a level in a nice way.

It would be nice to be able to do this for the red eye enemy too. For example, first fire from tube entrance A, then after 2 seconds duck into the tube, come out of tube entrance B and fire again after 1 second, etc. This would all be synchronised to the same global timer, so I could create interesting but fair patterns that combine the red eye's energy projectiles with moving platforms or other projectiles. However, it would need some smart behaviour where once the enemy becomes active - by the camera moving within range of it - it would need to check the global timer and spawn in the correct place for the current moment, which could be at any tube entrance or even part way through a tube. I would also have to manually mark up each tube entrance that the enemy could appear at. I'm not sure if I'm explaining this well, but the simple takeaway is that I'm not keen on it Smiley It's a problem that I'll tackle in the future when I actually work on a level that uses this enemy.

I'm not sure how good my explanation was back then. The initial version of this enemy would go through a routine where it fires at Leilani, ducks into its tube and travels through it until it comes out of another exit, then fires at Leilani again. It had a certain rhythm to it - it had a fixed time between coming out of the tube, then firing at Leilani, and another fixed delay before it went back into the tube again. But none of this could be synchronised with other elements of the level, such as moving platforms or cannons firing missiles. The timing of the enemy would depend on when it came within view of the camera and became active.

This isn't always a bad thing, however I occasionally want to be able to control this and sync it up with other level elements. I came up with a solution to achieve this relatively simply.

Previously I have described the Event Timer system - this is what drives the synchronised patterns of other entities like the firing cannons by scheduling a sequence of actions on the level's global timer. Here is a visualisation of this system being used on a cannon:



The grey text shows the next action that will be taken when the pink circle has shrunk to the middle. White text indicates that an action has just been triggered. I could place multiple cannons with the same event sequence and they'd all fire in unison, regardless of when they became visible on-screen.



It makes sense to try and apply this to the Red Eye too to achieve what I want. But the series of actions it performs needs to be aware of which position the Red Eye is currently in in order to synchronise properly.

I had the idea of placing invisible entities at the tube entrances, each with their own sequence of events - these events are then relayed to any Red Eye entity that happens to be at the tube entrance. Here's an example both with and without the visualisation of the event timings.



All of the event timer sequences - the two at the tube entrances and the one for the cannon - have sequences of the same length, so they will all remain in sync. At the topmost tube entrance, nothing happens other than an "In" event telling the Red Eye to pop back into the tube. At the lower tube entrance, there's a series of four "Fire" events, then another "In" event that sends the Red Eye back into the tube - just in time to return to the top entrance and receive the "In" event up there, beginning the cycle again.

This is fairly simple to set up but gives me a decent level of control over the behaviours. It does have some issues, though - which I mentioned in the paragraph quoted above - but I basically decided not to solve them. This rather long gif demonstrates the problems:



The red eye is positioned at the topmost tube entrance when it is first activated, because that's where I placed it in the editor. It's not smart enough to recognise that it should actually be at the lower entrance at the current point in the sequence - so it sits idle in the top entrance and misses all of the first set of "Fire" events until it gets back in sync on the next cycle. This isn't worth solving in any complex manner as there are some simpler workarounds that could improve this:
  • Don't use such long event sequences, so it takes less time for it to sync up.
  • Position the entity at the tube entrance that they're more likely to be at, so when the entity activates it's more likely to be in the right place for the current part of the sequence.
  • In this particular case, spamming multiple "In" events on the upper tube entrance - throughout the part of the sequence where the Red Eye isn't meant to be up there - would be a good bandaid solution for sending it through the tube to where it's meant to be.

Later in the gif, the same issue happens again but it's caused by Leilani rolling into the tube and bumping the Red Eye backwards, interfering with its pattern. The same fixes as above could again help here. But what I'm more likely to do is to prevent the player from interfering with the pattern by capping off the tube entrances so Leilani can't go inside. Easy Grin

Rope Level finished!

Finally, I also finished another level since the last time I posted. This was in fact an old level - one which made a long time ago and was mostly playable - but was severely lacking polish and had various issues. There were four chips to collect when there should be three, it used old outdated tilesets, and changes to the rope mechanics (you can no longer roll uphill on a slanted rope) had broken parts of the level.

I polished it up all nice nice and also gave it a complete visual overhaul - it used to be a beach with an underground cave, but now it goes from canyon, to cave, to beach, to match my rough plan for where it should be located on the world map. I added some wooden supports around the level too, for the ropes to attach to - it looks weird when they just stick straight out of a rock wall!

Here's a before and after - in the first picture I'd already partially re-themed the level, but I then added the new wooden support tiles and a 'new' background (it's not entirely new, but just edited from pieces of another cave background already in the game).



That's probably all I'll show of this level - my aim at this point in the project is to reserve as much as possible so that the final game has plenty of surprises to be found! This may mean that I sometimes don't have much to show in the devlog - but I'll try to find a good balance.

Thanks for reading Coffee
« Last Edit: October 29, 2020, 05:38:31 PM by Ishi » Logged

oahda
Level 10
*****



View Profile
« Reply #1250 on: October 28, 2020, 11:24:32 PM »

Good update! Makes sense not to spoil too much at this point. Sounds like you're well on track toward release tho. Smiley Game seems to be so stable and with systems in place at this point that you mostly need to make more levels and add bits of polish like this red eye update? Still so immensely satisfying the way you've visualised things moving in pipes. Kiss
Logged

EJlol
Level 0
**


View Profile
« Reply #1251 on: October 29, 2020, 12:46:53 AM »

Is that a hidden entrance I see there at the right side? Well, hello there!
Logged
andos
Level 0
**


View Profile
« Reply #1252 on: October 29, 2020, 12:52:59 AM »

Loving the animations, they're so detailed!
Logged

vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #1253 on: October 29, 2020, 01:36:53 AM »

Juicy post as always! Gomez I like your "detailism". It's obvious how you care with every detail of game being nicely polished.
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1254 on: October 29, 2020, 04:40:23 PM »

Thank you all for the nice comments, it always brings a smile to my face to read them Coffee

Game seems to be so stable and with systems in place at this point that you mostly need to make more levels and add bits of polish like this red eye update?

Mostly, yep! I'll still be adding new enemies, mechanics, artwork, etc here and there, and some areas of the game like the world map need a lot of attention. Need to commission some additional music too as I need way more variety than the tracks I currently have. But the majority of the remaining work is just making the levels!

Is that a hidden entrance I see there at the right side? Well, hello there!

Who, Me?
Logged

walaber
Level 0
**



View Profile WWW
« Reply #1255 on: October 31, 2020, 08:48:16 PM »

just wanted to chime in and say I've been following the dev of this game for a long time, and I absolutely can't wait to play it when it's finished!  No rush, I'll be waiting whenever its done Smiley
Logged

Indie developer, especially interested in physics of the human body, currently working on untitled gymnastics/acrobatics game.
Suttebun
Guest
« Reply #1256 on: December 13, 2020, 12:20:55 PM »

Keep it up <3 Happy Holidays
Logged
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1257 on: December 13, 2020, 08:00:47 PM »

Keep it up <3 Happy Holidays

Thanks <3 Good timing as I was planning on finally writing a new post today anyway!

I've been very busy with non-Leilani stuff over the last month... my wife and I had a baby! That's why I haven't got around to updating this devlog in a while.

Leilani is certainly not dead and in the last week I've started to find time here and there to work on it again; plus I got some work done earlier in the month before the baby arrived.

Boat level

What I've been working on is a new level concept, a journey upriver with enemy-filled boats travelling the other way. Leilani will often have to make use of the boats as platforms while dodging/fighting the enemies there.



There's no major new tech going on - just the usual moving platforms that were already supported. The difference here was writing a system to spawn an endless set of these platforms across the level. It has a pool of 4 boats and activates them in the appropriate position where a boat should be. There are also pools of reusable enemy entities which it populates the boat with. An XML file contains various preset boat layouts, with the positions that the enemies should be on the boats. Then finally some data in the level file defines regions in which the boats can spawn, and which enemy layouts should be used within that region. So as the player progresses through the level the boats can contain different sets of enemies, or even be empty or altogether absent.

I'll be continuing to chip away at this level but probably won't write any major devlog posts until the new year. Thanks for reading and happy holidays to all Coffee
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1258 on: December 13, 2020, 11:17:10 PM »

 Coffee

Congratulations!
Logged
oahda
Level 10
*****



View Profile
« Reply #1259 on: December 15, 2020, 01:31:24 AM »

Best of luck! We'll be here when you get back. Coffee Boats looking good!
Logged

Pages: 1 ... 61 62 [63] 64 65 ... 67
Print
Jump to:  

Theme orange-lt created by panic