Jason T

Deep passionate guy that loves new experience and journey!

Installed SSL in Apache2 and Nginx hopefully for the last time ever...

Complete first mockup and improve name board

It's really hard to find sprites that works exactly the way you need it. It's even tougher when you need to deal with multiple resolutions.

The issues with using CSS sprites technique is that you predefined a definite height and width. For the sprites. So in the case of the bridge, this is not going to work if the screen resolution changes and the bridge will not be fully connected.

To overcome this issue, I created my own "sprite" technique using absolute image tag in a container with overflow hidden and manually adjust the position of the image I want. So if the container height increased, more portion of the bridge can be seen. This way, I manage to achieve resolution friendly sprites regardless of how many levels are the wooden planks.

After adding the sand background, I realize the fonts are quite hard to read, so decided to throw in more wooden design to bring out the text. It turn out quite well I must say. Manage to find most of the standalone PNG at https://www.pngfind.com/ Thank God!

Also improved the name board. The Team heading is now sticky. So the team header will stay even when scrolling down the name list and a second team header will take over when scrolling to the next team. Felt quite empty with just names. So added robohash https://robohash.org avatars for some freshness.

I'm very happy with how the whole thing turned out. Next week. It's time to start writing the code!

Add a grass sprite and a treasure chest

I added the grass to experiment with sprites using CSS. As the entire grass area is a single div, I had to create another absolute div that is full width and full height of the grass container. Then I run a loop and insert 2500 div that has a css background of the sprites.

After which made some adjustment to the z-index to ensure the treasure chest can appear at the top.

I think it's not looking too bad. I'm just hoping I'm able to find other sprites that would match with this current tile.

Adjust top space and insert a "scoreboard"

As i'm expecting about 18 names, it's best to set a height restraints and make it scrollable. As it become clear the purpose of this scoreboard, I'll revisit and tweak again and decide if I should make the scoreboard slide right to collapse.

Draft out the design of how it will look like.

Starting from the top, Grass | River | Ground. Black represents bridge that are built. Deep Grey represents the next bridge that needs to be built. Light grey represents bridge that is yet to be build.

Before using all the fancy tools, I figured I should just use plain HTML and Tailwind to create the markup and have a feel of how it will look like and how the
structure will be like in preparation for a more dynamic experience.

At this point, my key consideration is that will I be able to find image/sprites that conform to the size of my bridge? What if screen sizes changes, will everything mess up? Should I use background for the image instead of image source?

This basic design is still missing some elements.
1) Scoreboard
2) Mini Games Questions

There will also be another design which serve as an external controller that players will see on their mobile.

Alot more work to go!

Technical Planning

The entire idea behind this app is players are able to build bridge to cross over the river and eventually obtain the treasure. Though the UI is going to look like a tile based game. I dont intend to use canvas to create the app. Instead I'm going to attempt to use Laravel Livewire and AlpineJS to replicate the functionality.

Planning Livewire and AlpineJS prove to be quite a challenge. But the reason why I decided to use AlpineJS too instead of just livewire is because of the animation.

If i'm just using Livewire, I wont be able to animate the "appearance" of a bridge. So instead, I'm thinking of using Alpine to bring out the bridge but use Livewire to manage the data.

This concept is personally confusing for me. But let's see how far can I go as I start developing on this app.
Andy Hartnett

I love the idea of using the TALL stack. I think there is opportunity for learning as well as teaching here. As you build cool stuff for this app you can share it with the community.

0 Likes
Jason T Author

Hey Andy! haha sure! I'll be happy to share my learning as I start coding for the app :)

0 Likes

Analyse product and extract keywords of importance.

If we simply analyse the entire product title, it will not prove to be productive as there are some unnecessary keywords. So it's important to clean up the keywords and remove common wordings too.

Tweeted a simple function to count words https://twitter.com/jasontxf/status/1375350231592620036

100 Days streaks! Wow... have never hit such streaks before in my life!

Congrats!

0 Likes
Fajar Siddiq

STEAK 🥩OR STREAKS! 🔥

0 Likes