Activity

Th1n0

Shipped this project!

I, together with some friends, have made a 2d platformer game in which the main premise is fighting of evil shadow monsters with your flashlight. It was very fun to make even tough I did start losing motivation towards the end. The biggest challenges for me were definitely the flashlight at first, but then staying motivated to do really anything became a problem and I would wait for deadlines to get things done. I f had to give one tip based on my experiencers making this game it would be to work on you project whenever you feel motivated because you will get the same amount of work done in one hour when motivated as you will in ten while not.

Th1n0

The last thing i did before shipping was adding A* pathfinding project to use for the flying enemies pathfinding, I also fixed up the normal enemy since it was broken after changing the sprite. But now everything works and it will be shipped shortly

Attachment
0
Th1n0

Shipped this project!

Hours: 3.57
Cookies: 🍪 16
Multiplier: 4.49 cookies/hr

I built Conway’s Game of life in the terminal using ftxui to render it. In the beginning everything was hard since I don’t know a lot of c++ but then it got easier as I learnt more. I am most proud of my dead row / column skipping which skips any inactive rows leading to a massive performance boost,

Th1n0

I implemented a few more optimizations. I now check both rows and columns for activity and skip over any empty ones to increase performance, I also added some better UI and a readme. This has been very fun to make and I’m probably going to add some user settings later, but right now it is getting close to the deadline and I need to get the optimization sidequest done.

0
Th1n0

I just got done making the actual game of life in the terminal. I used ftxui for rendering and bitboards for keeping track of the cells at a low memory cost, roughly 8 times less memory then a array of bools. for every iteration I go through all spaces on the board and apply the rules to Conway’s game of life.

The video shows the Gosper glider gun being simulated in my terminal.

0
Th1n0

I was able to add FTXUI to the project, I had some issues since I have never used it before and I am still pretty new to development in C++. I added text boxes for each root finding method and a progress bar for the one that was currently running. Next I will either make it look better, try to add some inputs with ftxui like allowing you to decide what method to run and deciding settings in the program. Or I will implement another root finding method.

0
Th1n0

I have added three methods of finding the square root.
n1: The sqrt() function. I tried to find information about how it works but I’m not sure, but I thought I would include it so that I can compare my own methods with it.
n2: Integer testing, this method basically tries if an int to the power of two is bigger than the target number. And if so return that int, it isn’t very accurate but it’s fast.
n3: Integer testing for each number position. Does the same thing as number 2 but first guesses for the million number, then the hundred thousand number, then the ten thousand number, and so on until it gets 3 decimals of accuracy. A lot more precise than the second method and less looping for big numbers.
I also added a loading bar, ascii title, and an output for each method and now I’m gonna try to add FTXUI to make it look a lot prettier.

0
Th1n0

Hello world! This time was spent setting up everything so that I could actually run the program. I will now start working on the actual program.

Attachment
0
Th1n0

I have continued working on the pathfinding and it is basically completely done. It uses like a bunch of raycast to see what is in the way of the target and then gets the corner that is closest to the target but is reachable and then does that like then times to get the full path. It also uses a custom function for raycasts that go from corner to corner to make sure nothing is in the way for the whole width of the object. It then uses Vector3.movetowards() for going to the points.

0
Th1n0

So a lot of this time was spent doing a bunch of small things for the demo since a lot of things weren’t done and for each thing you do there are 2 bugs to fix but anyways after making the demo I started working on a new pathfinding script for my enemies. Right now it uses linecasts to see if there is anything inbetween the enemy and the target and if there is, it get the closest corner of the objects collider and goes there first. It is still kinda buggy but I’m working on it.

Attachment
0
Th1n0

I have added a lot of small things leading up to the release of the demo including: flashlight pickup, crate, flashlight min & max angles, and a shader for the enemies when they die.

Attachment
0
Th1n0

Ignore the super duper long time it’s because the hackatime didn’t work properly after we changed the project name. Anyways we have made so much progress on the game because the deadline is soon so now we actually have a character in the game and music and tiles and its so cool. Anyways most of my time has been spent on finishing the enemies and making sure the flashlight works properly with the new playersprite.

Super cool photo with the new playersprite and so many other things that have beem added!!!

Attachment
0
Th1n0

Today I made a thing called a prism bomb, right now it’s just a triangle but it will be something like a prism once we get the graphics in place. The way it works is, you shine your laser at it until it explodes, and then it send light rays in all directions. I also made improvements to the debug rays so instead of it drawing lines through objects which is inaccurate, it now draws a line between the start of the ray and the hit point, or a ray in the direction the real ray goes if it doesn’t hit anything. It’s gotten more difficult to work on the project the longer it goes on but it’s whatever except not really because we have a deadline but yk hopefully we get done before then.

Image: The remnants of a prism bomb explosion

Attachment
0
Th1n0

Today I was able to make the reflections show up in game using a freeform light. It’s not perfect since it kind of “leaks” light in some scenarios, it’s hard to explain. But anyways it works well for what it’s for. Which is some simple puzzles and maybe to make the final boss fight more interesting. Making it work took some hard work but I will try to explain it to the best of my abilities. So first it sends out one ray from the flashlight, which uses the previously developed reflection system to get accurate reflections. It then saves the reflections positions and uses it as points for the freeform light. Anyways you can see it working in the image and it works with any shape as long as it has a mirror tag.

Attachment
0
Th1n0

I have improved the flashlight by adding more settings as well as adding reflections. It can now reflect of mirrors accurately which will be used for puzzles. I have also started working on a system for lights in game matching the flashlight. Right now the normal flashlight uses a spotlight which is accurate but for the laser version I will be using a freeformlight. Sorry for not devlogging for 16 hours :(((!!!.
Image: stress test with a lot of reflections in different places.

Attachment
0
Th1n0

I have been working on a flashlight since it is one of the core parts of the game. I’ve made sure that it is highly customisable since we don’t know the specific details of how the flashlight should work. The flashlight also follows the players mouse.

Attachment
0