[0] Spacewar WIP [1/2]
- Conlan Walker

- Sep 17, 2021
- 4 min read
Updated: Sep 23, 2021
As far as I can remember, on the day of my assessment, I wasn't able to complete
as much as I wanted. This is likely due to my lack of knowledge in Construct,
with only two hours allotted to use it. That time wasn't meant to produce a
finished project or anything, rather simply to gauge skill I think.
I was hoping I'd be able to complete that project without the hindrance of the
25 event maximum that the free version has after the assessment, though I
don't actually have a paid version of Construct, myself.
If I'd known about portfolio reviews a bit earlier, I would've taken a few
more screenshots of the early bits of the Spacewar framework thing.
I don't really like getting weighed down with shoulda woulda coulda(s), so I
might as well show what I did manage to jot down:
This video's dated Tuesday on the 14th, and this is about as early as I can get in terms of records. This day is special, because it marks the first day of actual work, uninterrupted by
Monday's internet outage just a day prior.
Anyway, I'll call this "version 1", only because I consider version 0 to be the progress made on that assignment day (version 1 had the same sprites as version 0, btw.)
There is a very large bug in the video, as it was recorded solely to demonstrate that bug.
All that aside, there are still a few notable features that version 1 had that version 0 didn't:
The screen's brightness and gamma are affected when player 2 flies near the sun (player 1 wasn't being worked on at the time)
Player 2's bullets bounce off of the sun
Player 2 can crash into the sun, letting player 1 gain a point (not shown in video)
Overhauled the way player 2 moves around
For each time a bullet is shot, or that bullet bounced off of the sun, a sound effect is chosen at random out of a list of them
Added a cool-looking 7-segment LCD font for displaying stuff
I didn't alter the collision polygons for any of the sprites in version 1, as it wasn't pertinent at the time to implement them (also I didn't know about them). As for the bug in question, the bullets orbiting behavior wasn't intended nor wanted. I think the bug was likely due to the way angles and bullets work. I still had a few ideas for features not detailed in the tutorials, Like an afterburner/sprint feature, bullet anti-spam, a score bar that rocks side to side instead of a number score, being able to shoot yourself when a bullet ricochets off of the sun, et cetera.
After adding some quality of life/common sense improvements that I scarcely remember, I
needed to add an explosion effect to the game, or else each death would lack half the
punch it deserves. The only problem is that I'm not that great at most visual forms of art,
so I came up with an idea that could change an existing explosion into something
transformative. All while still resembling an explosion, despite its low resolution.

My solution to this was to take a stock explosion, quantize it in a monochrome fashion, rotoscope it, change its hue to yellow and orange-red, before finally downscaling it
to 32x32, and cleaning up a sharpened and more saturated version of that 32x32.
(The rotoscoping process alone took like 2.5 hours, which is why I only got around to doing one frame of this.)
Now it doesn't even look like it was taken from a real photo.
My next step was to create a background, as complete pitch-blackness is not only boring,
but it might also be completely disallowed altogether.
I knew I didn't just want a still image of some dots, so I wanted them to twinkle a bit, though I wouldn't know how to properly animate each star properly. This was until I thought 'why animate each one individually when I could simply animate them in clusters?'
And through that, came this:

I split up a total of 20 stars between 4 groups of 5, which I would animate separately.
The entire animation was to have 6 frames, with a rolling brightness for each group.

Shown above are the possible brightness levels for each star in a group, from 1 -> 3 (0 is just completely black).
The brightness levels for each group over each frame is detailed in this chart:

For example, the brightness of the red group on frame 1 is 0, the brightness on frame 6 for the green group is 3, et cetera.
Finally, this all leads to what I'll now call version 2, which is the game's current state:
Now to list the most notable features that version 2 has that 1 doesn't:
Player 1 now has full functionality, with it even being able to shoot itself
Proper explosions were added (with random sounds for it)
The containers for the sprint and antispam bar things are shown
separate engine particle effects for the ships were added, with player 2 generating 2 particles instead of 1.
The game's controls will pop up only once at the start of the game, and not after each subsequent layout reset
The animating background is shown, however if I have time I might redo the animation, as it appears somewhat choppy with only 6 frames

Not present in the video but the image above, I changed the sprite collision hitboxes
The player 1 sprite was changed from an ugly light-blue red, to a comparatively nicer-looking few shades of blue
Bullets now have a fade effect, with .25 seconds of sustain, and 1 for the fade itself
The screen's brightness and gamma are now affected by the minimum distance to the sun between the two players, instead of just comparing player 2's distance
There were a few points where I had difficulty sizing and placing sprites to match the screen's dimensions, and there were some times where I just eyeballed it while really zoomed in to compensate for the lack of accuracy.
Version 1 and 2 were mostly made on Tuesday and Wednesday respectively, with Thursday
being dedicated to setting up this blog, and the website it resides in by extension.
That pretty much wraps it up in terms of where I'm at now, though in the future I won't write as much for my devlogs as I did here. This was mostly to gauge what kinds of information is actually worth saying next time, and what is so insignificant that it's not even worth mentioning.

![[158] Most Important Brick in the Least Important Wall](https://static.wixstatic.com/media/df100d_f70be6ae4318455fbbc605cd1069c6ee~mv2.jpg/v1/fill/w_980,h_410,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/df100d_f70be6ae4318455fbbc605cd1069c6ee~mv2.jpg)
![[157] Mail Order Sacrifice](https://static.wixstatic.com/media/df100d_e284fa6c51b04524bab9d3cf9f1f6441~mv2.png/v1/fill/w_980,h_382,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/df100d_e284fa6c51b04524bab9d3cf9f1f6441~mv2.png)
![[156] Moat of Babble](https://static.wixstatic.com/media/df100d_091e451794b14aecb494a16c15c966c3~mv2.png/v1/fill/w_980,h_705,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/df100d_091e451794b14aecb494a16c15c966c3~mv2.png)
Comments