[SPOILERS] A little update on the next chapter


Hello there! I wanted to share some progress on my game before I release the 3rd chapter later this month (and try to apply for a spot in Catalog but sssh don’t tell Panic yet)!

I have been mostly procrastinating for the last few days so to get back on my feet I decided to implement some features, fix some bugs and see where it leads me. So let’s talk game design, what my next project will probably be and the “Market Strategy” of Weirdlab Inc. shall we?

Updates on the game (with spoilers)

Weirdlab Inc.’s progress is going slower now. I have had a 3 week “pause” to relax and to see the number of players gradually increase which was very validating of my project!

But I have still pulled up some work. Yesterday I made rotating mirrors that you can control! Pictured here, the rotating mirror and a laser being reflected on it

(As a reminder, chapter 3 is all about the “Laser hat” discussed in the previous devlog)

They work using some simple maths that I feel I should explain a bit

Explaining the mirrors

Diagram of the mirrors Every mirror (in this game) holds a few pieces of informations. Those namely are :

  • Their “rotation”/“angle”
  • A surface “line”
  • A normal vector of the surface

The line and the normal can be found with a bit of unexpensive maths and are only calculated when they change for performance’s sake.

In fact let’s reveal the part of the code that handles updating the rotation :

function Mirror:updateRotation(rotOff)
    self.rotation += rotOff
    self.normal = gtr.vector2D.new(1*math.cos(math.rad(self.rotation)), 1*math.sin(math.rad(self.rotation)))
    self:setRotation(self.rotation)
    local _sx = math.cos(math.rad(self.rotation-90))
    local _sy = math.sin(math.rad(self.rotation-90))
    self.surface = gtr.lineSegment.new(self.x-_sx*16, self.y-_sy*16, self.x+_sx*16, self.y+_sy*16)
    local offset = 5
    self.surface:offset(self.normal.dx * offset, self.normal.dy * offset)
end

Not the most threatening code I’ve made in this game so far :) Then we handle laser’s reflecion. I won’t show all the code of that because it’s a bit of a mess and also because I don’t feel like open-sourcing the game for now (even though if someone 10 years in the future wants to remind me of this, I’ll probably open-source it)

Basically what you have to know is that we take in the vector of the laser and the new vector is

incident.dx - 2 * dot * self.normal.dx,
incident.dy - 2 * dot * self.normal.dy

And that’s in short how the laserhat system works in Weirdlab Inc.

the “Market Strategy”

Weirdlab Inc. is in a… weird state right now. Releasing in Early-Access was a good idea however the end goal for me is to publish this game on Catalog. I will upload the full game on both itch.io and Catalog and the price will be the same.

There is also a question of how to “market” the game. I don’t quite feel like constantly spamming the Playdate Squad server and subredit so I’m asking myself how to make the community “aware” of my game. I believe players, have the most important role in helping with marketing. If you have enjoyed Weirdlab Inc. so far please don’t refrain from sharing your experience!

The last option I have is well, making devlogs! Sharing insight and knowledge on game-making so that others following my path will have a better map than I had and “building in public” this enormous project of mine.

Conclusion

Again (I won’t say it enough) thanks to all of those who already bought the game. Know that there will be a price increase when the 3rd chapter releases so this is really your last chance of getting Weirdlab Inc. for stupidly cheap. (tipping appreciated but don’t force yourself).

If you happen to make reviews for Playdate games, just reach out for me on the Playdate’s Squad @oxey405 and if you do review games then I’d be glad to send a key no strings attached!

Thanks again for reading and supporting my work! Chapter 3 coming soon!

Get Weirdlab Inc

Buy Now$2.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.