How WiwinGAZE was made


Kinda late? Anyway...

Ideas for WiwinGAZE appeared around spring of 2022. It was much simpler, hovewer. Initial idea was just to make Lunar Lander-like game for VectorBoy but with levels, as joking around not having any editors. Idea was put away for long time.

Sometime in May I made FLY! for TIC-80. It was experiment at fitting gameplay into small amount of code (like TweetTweet carts doing this, but cheating by using map and sprites). It was about white man flying around, trying to not hit walls or collide with chasing enemy. It was parent of WiwinGAZE in terms of physics: later similiar physics for flying will be used again. After trying out this little game Salvia said that she would like to see expanded version with multiple actual screens, and that's when I remembered about VectorBoy and first ideas of levels-based game.

Very first prototype was made in strange way. I was practising with music for VectorBoy, but wasn't satisfied much with result so I started to make physics prototype in same file, this is why very first prototype of WiwinGAZE called music.lua. It was consisting of game character and two walls. I decided to use just straight vertical and horizontal lines as walls for simplest approach. I also made bouncing from walls as trying to make rage game. It also reminded me about other game developer sharing that he make bouncing of walls instead of regular collisions because it's easier. I think it was like this...

So after this physics test and how walls would work I started to make actual game. First thing to do - level system of course! It was much simpler in first days, because main point was just to make working walls. The way of drawing walls and colliding with them was already there, but I also was need to turn these 2 walls into actual levels and loading/deloading system. I made it by having array, filled of amount of walls per level and walls coordinates themselves (x1,y1,x2,y2), and other array for storing current level walls. Same principle was applied to game objects. Loading made by inserting values in current level array from array with all levels by starting from certain position, reverse logic applied to deloading.

Objects are simple: they consist just of type, x and y coordinate. Objects drawn by shapes, and used for variety of scenarios. First objects were used for giving resources, but later such entities as foes or "script" objects (buttons, nuke, etc) appeared.  Some of them went unused: player was supposed to have limited lifes, but later I thought that it's bad idea, especially for rage game with no precise controls, so heart object which give life wasn't used just like big door. Small doors in game weren't fitting well to coordinate system we used to make levels, so I later made big door with better fitting size, but it also was unused. Big doors would behave like small doors, still asking for just 1 key as usual. "Script" objects set certain variables to certain values to start "scripts", for example moving walls or launching anti-aircraft defence.

There was supposed to be some reason why entities like this exist, or what player doing, so game got plot, based on AD. No more to say here.

I can't say how exactly I came up with idea of water. For some reason I had excessive fantasies about adding sharks to game, but it was hard to draw one by shape, so now we got fish. They appeared actually before water, which works very simply by substracting oxygen when player located below water object.

Salvia made most of levels (I think I made 1-2 out of 6, not counting 7 level which is just box with boss) ironically. Even more funny that she couldn't beat first one for long time, while it was supposed to be training easy level for practising controls and seeing enemies and stuff in saf-ish conditions. Sadly, making levels was hard task. At first, levels would been drawn by Salvia on paper with grid, then I would type each wall and object manually into tables by referencing to paper drawing of level.

Sounds and music were added at last moment, just like ending. Some tunes were taken from music.lua prototype, and enough sounds were made to indicate being underwater, hit, playing siren, and pushing wall. 

Game was supposed to have different end: boss would utilize a lot of movements and attacks using built-in ability to smoothly rotate shapes, and boss himself would be totally different. More stages were in plan, including wandering around MicroCastle and fighting with its commander, but I and Salvia thought that made stuff already would be enough, so 7th final stage with boss was made quickly. 

SPOILERS

Alternative end can be triggered by finishing fight with Megan while being dead. I came up to this idea after noticing that fight ends when boss leaves screen, but it doesn't check health of main hero, so I decided to add unexpected surprise for those who decide to skip fight by not participating in it

SPOILERS END

Edit: yes, WiwinGAZE was supposed to have TIC-80 port. Two simple prototypes were made, but I decided to spend more time on new projects because of certain events.

Get WiwinGAZE

Leave a comment

Log in with itch.io to leave a comment.