Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411469 Posts in 69368 Topics- by 58422 Members - Latest Member: daffodil_dev

April 23, 2024, 02:24:33 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsLeilani's Island
Pages: 1 ... 57 58 [59] 60 61 ... 67
Print
Author Topic: Leilani's Island  (Read 411405 times)
vanillacyborg
Level 0
*



View Profile
« Reply #1160 on: May 31, 2020, 10:13:20 PM »

I've been following this project for years and I just can't express how much I love everything about it. The amount of polishing and attention of detail you put into it is really inspiring! Thank you also for documenting your ideas so thoroughly (and even with code!); some of the stuff you posted here about how you design systems has stuck with me and it was really helpful!


To leave a little bit of feedback (I'm coming more from a design background):

(First of all, as a disabled person let me thank you for improving the accessibility of the game Hand Clap).

The medals shape in the Challenge still feel rather similar (silver and gold only). I'm being really nitpicky, but maybe some kind of pattern could help when designing a visual system based on hierarchy (e.g  if bronze have 4 sides, silver could be a pentagon and gold an hexagon or something like that).

The other thing I'm kinda waiting for (and I guess that is better left for the final polish stages) is your take on improving the game font, so I'll leave some ideas here about it:
  • You already kinda nailed the kerning, and that's half the battle won already Grin
  • lowercase text read a lot better than caps, though it still feels rather flat at the baseline (a little like how writing using a ruler looks)
  • Caps and numbers need work on shape and weight (S and R and curved symbols are specially tricky). And though I'm not a font designer I dabbled a little into it and I know how hard designing consistent numbers can be Cry

And that's it really.

Your gameplay is gorgeous and I hope Leilani gets all the hype it deserves!
Cheers!  Beer!
Logged
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1161 on: June 05, 2020, 04:33:12 PM »

(First of all, as a disabled person let me thank you for improving the accessibility of the game Hand Clap).

You're welcome! Accessibility is important to me. I need to write a proper devlog post about the various options I've added to Leilani so far to try and improve accessibility. Maybe I'll do that soon. Based on what you've seen of Leilani is there anything specific you'd be looking for in terms of accessibility features?

The medals shape in the Challenge still feel rather similar (silver and gold only). I'm being really nitpicky, but maybe some kind of pattern could help when designing a visual system based on hierarchy (e.g  if bronze have 4 sides, silver could be a pentagon and gold an hexagon or something like that).

That's what I was trying to go for but with 4, 6 and 8 sides. I felt like even numbers suited the digital style of the Challenge Mode UI better. I've made a note of the feedback though!

The other thing I'm kinda waiting for (and I guess that is better left for the final polish stages) is your take on improving the game font

Yeah this is something I need to do a polish pass on sometime. Thanks for your thoughts!
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1162 on: June 05, 2020, 05:23:19 PM »

The last couple of weeks have been a bit slow development-wise due to various things - just bits of time here and there - but luckily I was able to sit and do a solid chunk of work today.

Title Shine

I think I mentioned recently that I wanted to revamp this shine effect that passes over the logo on the title screen.


Old

It was done in a lazy way (a glow sprite for each letter overlaid and animated in code). I've now done a much nicer hand-animated one. This was a bit of an indulgence for me, just spending time polishing something unnecessary that I wanted to see improved! My reward for reaching my new playable build milestone a couple of weeks ago.


New

I also reduced the amount of black in the logo to freshen it up. Eventually I'll improve the title screen background too.

Statistics system

I did a first pass at implementing a statistics system. This records various values during gameplay which I'll have various uses for. Here you can see the debug after playing through a couple of levels. It tracks the number of times each powerup type has been collected, and the best completion times for each level.



One place I might use these is to display the player's best times for each level in a Records screen. The statistics are divided into 4 'books'. There's one for each of the game's three save slots - so those track your best level times when playing that save file, and erasing the save file clears the stats. There's also a global book which tracks all-time stats across all three save files and isn't reset when deleting a file - so that provides a permanent record of fastest times without caring which save file the record was achieved in.

Another use for the statistics is for contextual in-game control help popups that I'd like to implement soon. For example, when the player is standing on top of a vertical tube entrance I could show a hint that pressing the Roll and Down buttons will enter the tube. I could use a statistic to track how many times the player has entered a tube from above, and stop showing the control hint after they've successfully done it 3 times (for example).

The statistics also have a timestamp, which could be used to aid the player get back into the game after not playing it for a while. Using the same example, even if the player has entered tubes from above 100 times, if the last time they did it was over a month ago then maybe it's worth showing the control hint again as a reminder.

I want these kind of hints to be tasteful and not overbearing - and would probably also provide an option to turn them off somehow. But I think indicating how to control and interact with the game is worthwhile.

On that subject..

How to Play

I've also made a start on the How to Play screen. This uses the sprite compression system I previously made to display short videos inside the game.



This will show the most basic inputs, but also tell the player about optional little tricks they can do (such as the quick re-roll). I'm happy to provide a resource within the game for curious players to learn about optional trick like this. There'll be enough secrets to discover in the game without also making Leilani's movement needlessly obtuse!
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1163 on: June 06, 2020, 12:59:49 AM »

An indulgence for you is an indulgence for all of us here Tongue

Quote
I did a first pass at implementing a statistics system.
Surprised in retrospect that you didn't have something already! Will be interesting to see what you learn from it Smiley

That how to play section is niiiiiice
Logged
laxwolf
Level 2
**



View Profile WWW
« Reply #1164 on: June 09, 2020, 02:14:10 PM »

Revisiting tigforums after a while and wow, cannot believe how far this game has come. It's absolutely stunning and my eyes are glued to the gameplay videos.

Can't wait to play.
Logged

Solo artist, modeler, designer, and programmer.
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1165 on: June 09, 2020, 06:39:59 PM »

Thanks laxwolf Smiley

Quote
I did a first pass at implementing a statistics system.
Surprised in retrospect that you didn't have something already! Will be interesting to see what you learn from it Smiley

It's not sending online telemetry or anything to me so I don't get any data in that sense - but I might add the data to playtester log files to at least be able to use it there to be able to get a quick idea of which parts of the game they played.

Control hint popups - visuals implemented

I'm doing a short and early update this week in anticipation of being too busy to post over the weekend.

I've worked on the visuals only for the previously mentioned in-game control hint popups. What I mean by this is I've made the system that shows the appropriate text, in a bubble, at an appropriate position on screen. What I haven't worked on is any of the system that chooses which hint to show, and when. For now, here's a quick example for which I hard-coded the "Run" hint to appear and disappear at certain times.



In the final version I intend on the hint not showing up this quickly; the player would be idle for at least a few seconds before popping up the hint.

The system currently has two presets for where to position the bubble - either above or below Leilani. The bubble is also constrained to not go off-screen. I also did mockups where the bubble was placed in the bottom-middle or top-middle of the screen, but I think it's more noticable if it's attached more closely to Leilani's position.
Logged

empika
Level 1
*



View Profile WWW
« Reply #1166 on: June 10, 2020, 01:08:06 AM »

Lovely update, as ever!!

I'm sure you have it in mind already, but statistics systems like that are also great for achievments, both in game and for steam etc  Hand Thumbs Up Left
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1167 on: June 10, 2020, 04:57:50 AM »

So Foone recently posted a mini-thread on how games used to fake transparancy, and now I cannot unsee how you are basically copying fake transparancy glitching out on purpose Cheesy

https://twitter.com/Foone/status/1270273487270105088
https://twitter.com/Foone/status/1270288456275509248
Logged
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1168 on: June 10, 2020, 03:35:05 PM »

Lovely update, as ever!!

I'm sure you have it in mind already, but statistics systems like that are also great for achievments, both in game and for steam etc  Hand Thumbs Up Left

Thanks! Yeah I didn't think about it when writing the post but this is a potential usage of the statistics system at some point too.

I didn't go into much detail about how the system works, but it supports storing the highest ever value for a stat, or the lowest ever value, or simply a number that can be incremented. The numbers can be either floats or ints. So it works nicely for storing records but also for tracking how many times something was done, or how much time has been spent rolling, that kind of thing.

So Foone recently posted a mini-thread on how games used to fake transparancy, and now I cannot unsee how you are basically copying fake transparancy glitching out on purpose Cheesy

https://twitter.com/Foone/status/1270273487270105088
https://twitter.com/Foone/status/1270288456275509248

I never really thought about this sprite flickering in retro games looking transparent on CRTs - it makes sense though. I know some Game Boy games used similar tricks that relied on the slow/blurry update of the LCD.

I don't think it's unusual to still use sprite flickering to represent invulnerability periods, so I didn't intend it specifically to be a kind of retro throwback - though of course it does fit the old school look of the game. Mario Odyssey is an example that still flickers the character on and off in this way! https://www.youtube.com/watch?v=Gkx_DdJw7xE&feature=youtu.be&t=50

Which is a nice segue into mentioning that Mario Odyssey also makes heavy use of dithering effects similar to those in the twitter thread you posted! https://twitter.com/chriswade__/status/924071608976924673
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1169 on: June 20, 2020, 07:52:13 PM »

Control hint popups - continued

Hello! I've barely done any work on Leilani since the last post due to various reasons. Today I was finally able to get back into it a little bit, so I can at least do a devlog post for the week!

The control hint popups on the game's first screen now are now a bit less intrusive and have some rules governing when they appear:



The zones in which the popups can be shown are set within the Tiled editor:



Most of the other control help popups throughout the game will be context-based - for example telling you how to kick or drop and object if you're holding an object. But for this first screen I wanted to define exactly where each popup would appear.

Being inside the trigger zone isn't enough - there are additional rules that decide when to show the popup. For a while I was trying to decide how best to implement these rules, initially imagining some kind of data-driven system where I could set all the parameters within the level editor. In the end I decided just to hard-code it! The rules are fairly complex and could vary for each type of help popup, and I don't think there'll be enough of them to warrant making a smart data-driven system.

Using the "Run" popup as an example - it'll only show up if Leilani has been inside the trigger zone for 5 seconds, and if Leilani has run less than 3 tiles distance since the start of the level. To achieve this I added a new statistic which is the distance Leilani has run. I did similar things for the "Jump" popup (which goes away after jumping a few times) and the "Roll" popup (which goes away after entering the tube).

These popups are re-shown if the player dies and restarts the level, which is intentional - since it's the first level of the game, I'm happy to provide a little refresher of the controls to players who need it after dying. I still need to implement the rules for preventing these popups from showing when replaying the level after beating it the first time. But it's a little victory to get a bit of work done after having to take a break, so I'm happy with this progress for today!
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1170 on: June 21, 2020, 03:39:35 AM »

Elegant as always  Smiley
Logged
oahda
Level 10
*****



View Profile
« Reply #1171 on: June 21, 2020, 06:06:57 AM »

Updates look great. <3
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1172 on: June 26, 2020, 12:52:32 PM »

I have a few different things to update on today!

Firstly I did some polish to the control popups. I also started thinking about what new levels to work on next, and added couple of new gameplay mechanics for those.

Control icon combination

The game's directional inputs are entirely separate from each other - that is to say, as far as the gameplay is concerned, there's a LEFT, RIGHT, DOWN and UP input that are essentially unrelated.

Each of these inputs can be bound to whatever key or button the player chooses. When displaying these inputs on the screen, we get the binding for, say, the RIGHT input, which might tell us that it's bound to KEY_RIGHT on the Keyboard device. Or maybe it tells us that it's bound to the INPUT_LS_RIGHT button* (moving the Left Stick to the Right) on a Controller device.

(*it's not a button obviously - it's a control stick - but the act of moving it to the right is a binary on/off action so it's treated the same as a button.)

We then ask the relevant input device what icon to display for INPUT_LS_RIGHT, which returns "$keyRight;" for the Keyboard or "$xboxLSRight;" for the Controller. These are IDs for a custom font character that will be displayed.

Here's an example showing that you can do a downwards kick by pressing RIGHT, DOWN and KICK. First, the Keyboard version:



This seems to be a reasonable way of displaying this input on a keyboard. However, if we do the same for the Controller:



The way the RIGHT and DOWN inputs are displayed with separate icons feels really awkward. Even if the game is reading the inputs separately, as far as the player's concerned it's a single input - moving the stick diagonally.

I added a new system to provide combinations of icons. In this case, after getting the bindings for RIGHT and DOWN, instead of asking the Controller device for the icon for each separate binding, a new function is used where both bindings are provided at the same time. If two compatible bindings are provided then a single combined icon can be returned. If the bindings are not compatible then the two separate icons will be returned and displayed as before.

In this example, the Controller device knows that INPUT_LS_RIGHT and INPUT_LS_DOWN can be combined into a single icon - "$xboxLSDownRight;".



This now looks much more natural!

By default for controllers, the directional inputs are bound to both the Left Stick and the dpad, but the Left Stick is the binding that's displayed in these situations. It's possible for the player to rebind the controls only to the dpad, in which case the dpad will be displayed in the control popup, where it's also combined into a single diagonal icon:



And, if for some reason the player chose to make their life difficult by binding RIGHT to moving the Right Stick to the left, and DOWN to moving the Right Stick upwards, the icons for those bindings are combined too:



Control Popup animation polish

I gave the control popup some smoother animations when appearing, and made the 'tail' of the thought bubble animate.



I also made the colour of the bubble slightly blue - I feel like it makes the white text more readable.

Powerup Plants

Powerups are normally spawned from hitting blocks. These produce a single powerup, and that's it. In some cases though, I want to be able to give the player access to unlimited powerups. An easy example would be a level that's designed to teach the player how to use a certain powerup - such as the fire leaf - and requires that the player uses it to progress. If they took damage and lost the powerup, they'd be unable to continue.

One solution would be to design the level in a way that prevents the player from being hurt, but this would be very limiting. Instead, I've added these plants that will spawn the relevant powerup if the player doesn't have it. So they can take damage and always go back to find another powerup.



Volcanic Rock Blocks

Finally, I'm trying out a new type of block that can only be destroyed using Fire Leilani (or bombs/explosions...).



I've been resistant to add this for a while - my issue is that it maybe feels too artificial or obvious as an obstacle. If you see it, you know that you need the fire powerup to destroy it, so there's not much thought that goes into that. My initial instinct was also that this takes away from the player's ability to play in multiple different ways as there's a single solution to the problem.

However, I'm no longer sure why I was so against it Grin Firstly, I'm allowing bombs/explosions to destroy the blocks too, which provides the possibility of alternate ways to destroy the blocks without needing the fire powerup (although I can still avoid this by not including bombs or missiles in the level). Secondly, depending on the level design there's no need for the player to feel funnelled into a single solution to progressing - maybe these blocks are in the way, and can only be destroyed by Fire Leilani, but there could still be alternate routes through the level that end up at the same place.

The advantages of adding this block type are being able to explicitly create a need for the player to use the fire powerup. Previously the bubble has felt much more useful - floating allows Leilani to cross gaps, and also offers protection from being hurt. On the other hand fire has mostly only allowed Leilani to do what she could already do, but faster.

Sprinkling some fire-Leilani-specific shortcuts or secrets throughout levels should give the player some incentive to use both powerups. And for harder levels / challenges, it's a clear indicator that the player is expected to be able to make use of fire Leilani's abilities.
Logged

Zorg
Level 9
****



View Profile
« Reply #1173 on: June 27, 2020, 04:14:48 AM »

Can those blocks be destroyed by exploding enemies?
Logged
vdapps
Level 5
*****


Head against wall since 2013


View Profile WWW
« Reply #1174 on: June 27, 2020, 12:50:30 PM »

Lovely game! Wishlist-ed on Steam! I have 2yo kid and laptop with controller connected to TV. Can't wait to play it with him! Following your devlog! Beer!
Logged

Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1175 on: June 27, 2020, 01:21:42 PM »

Can those blocks be destroyed by exploding enemies?

No, when enemies die it's just a visual 'death' explosion - not a damaging explosion like from bombs and missiles that has gameplay effects.



Perhaps the recent change to make the big enemy's death look *more* explosive might make it a little misleading. But I think it should be easy enough to grasp that a missile or bomb can destroy things that other objects can't.

Lovely game! Wishlist-ed on Steam! I have 2yo kid and laptop with controller connected to TV. Can't wait to play it with him! Following your devlog! Beer!

Thanks! Coffee
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1176 on: June 28, 2020, 08:39:32 AM »

I think as long as the explosion is smaller than the enemy that explodes it feels ok

Also, you basically reinvented ligatures for icons Kiss

https://en.wikipedia.org/wiki/Orthographic_ligature
Logged
Ishi
Pixelhead
Level 10
******


coffee&coding


View Profile WWW
« Reply #1177 on: July 03, 2020, 04:08:28 PM »

Bubble Tutorial Level

This week I made the whole bubble powerup tutorial level!



It makes ample use of the powerup plants to keep supplying the player with powerups, and the layout is designed to encourage use of the bubble.

This level was pretty quick and easy to put together - it helps that I had a clear goal for what I wanted the level to achieve, which gave me some focus. It also required very little new artwork/features. The background is reused from a previous level, but with the rock pillars added to it.

The background could use a little more work - the top half is a bit empty - but I'll probably leave that until later.
Logged

JobLeonard
Level 10
*****



View Profile
« Reply #1178 on: July 04, 2020, 03:53:50 AM »

I dunno, clear blue skies have their own charm (plus it really highlights the floating bubble power)
Logged
oahda
Level 10
*****



View Profile
« Reply #1179 on: July 05, 2020, 05:01:17 AM »

Love all these little touches! I actually hadn't realised until now that powerups change the accessory in Leilani's hair, that's so clever and so cute! Kiss
Logged

Pages: 1 ... 57 58 [59] 60 61 ... 67
Print
Jump to:  

Theme orange-lt created by panic