Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

SCRAPSHIP (Done!)

A topic by 40wattstudio created Feb 16, 2020 Views: 26,861 Replies: 430
Viewing posts 241 to 329 of 329 · Previous page · First page

4 FEB 2023:


- Scripted the movement for the cargo boss enemy.  Possible directions of movement are up/down/left/right and diagonal in four different directions. 

- Fixed a bug where the player position would shift right after being hit by the battleship.

- Fixed some scrap spawning/scrolling issues.

QUOTE OF THE WEEK:

“I don’t believe in luck. I believe in preparation.” — Bobby Knight

Thanks for reading and have a great rest of your week!

11 FEB 2023:

- Scrapship is over 11,000 lines of code. There's a lot of it that can be consolidated, such as the battleship projectile hit detection which I fixed this morning. 

- The cargo ship can damage the player now, but there is a bug where it doesn't always register a hit. 

- Once I get that bug fixed, both the battleship and the cargo ship boss will be able to use some of the same code.

- The past few months there has been an elusive bug where the game crashes after warping to the next sector. I have it narrowed down to the "Scaling Earth" subroutine. Pretty sure it's because a number is going negative when it needs to only be positive for the math to work.

QUOTE OF THE WEEK: 

"A year from now you may wish you had started today." -- Karen Lamb


Thanks for reading and have a great rest of your week!

18 FEB 2023:

Scrapship has been in development for 3 years now! I started on 16 February 2020 and have been working on it daily ever since (excepting business trips, vacation and illness). How have I managed to stay motivated to work on this project for so long? I just do a little bit -- 1 hour -- every day. Some days or even weeks I feel like I'm making no progress, but others I feel like huge breakthroughs are being made. Ultimately, I have faith that the end result will be worth the effort. And I've certainly learned A LOT about game development along the way.  The game is certainly getting closer to done, slowly but surely. I'd like to finish this year . . . but I'm also not going to rush it. 


- Made an animation where the cargo ship guns power up to indicate that they're active. 

-  As seen in the gif a couple posts above, the cargo ship's guns were all red. Now, guns that are active are green and only inactive guns are red.  This also helps with the color contrast -- a red projectile coming from a green gun looks much better than a red projectile coming from a red gun. 

- Cargo ship can damage player

- Fixed the bug where scaling the size of the earth was causing the game to crash (a variable was resetting to true when it needed to stay false). 

QUOTE OF THE WEEK:

"You don't concentrate on risks. You concentrate on results." -- Chuck Yeager

Thanks for reading and have a great rest of your week!

(+1)

25 FEB 2023:

Got a LOT done this week! Yesterday I worked off and on most of the day. 

- As I write, I'm in the process of re-rendering the opening animation. This time it will take up the whole screen and not just a square portion of it. This will be much more immersive. Only downside is that the .png files are pretty large, but maybe I can trim them down some to make it more practical. 

- Speaking of trimming down .png files, I cropped all of the images for the battleships and carriers. These were greatly impacting load times. A single battleship graphics folder would be 15MB -- but after cropping the files I got it down to 3MB. Load times also decreased which is excellent. 

- The player can now destroy the cargo ship guns. But I still have to make the destroyed versions in Blender and some explosion effects in Embergen. 

- Also re-organized and simplified some of the code, especially for the player bullets. 

- How convenient, Blender just got done rendering, so here's a gif of the new opening animation! The game is meant to be played in a widescreen format.

- I have a business trip all next week, so probably not much in the way of updates next Saturday.

REMINDER: It's almost the end of the month! You've been working hard! Make those 1s and 0s happy! Back up your harddrive!


QUOTE OF THE WEEK:

"He who is not courageous enough to take risks will accomplish nothing in life." -- Muhammad Ali


Thanks for reading and have a great rest of your week!

4 MAR 2023:

No updates as I was on a business trip this week. And my back hurts (again). I'll elaborate more next week.


QUOTE OF THE WEEK:

"Stay hard! -- David Goggins


Thanks for reading and have a great rest of your week!

11 MAR 2023:

It feels good to sit again!

I promised last week to elaborate, so here goes:

If I were in an RPG and there were stats for "Back Strength" or "Back Health", I'd probably have stats like 40 (out of a possible 100). My posture sucks most of the time and it doesn't take very much for me to pull a muscle or something that messes it up for a couple of days. 

Now I don't use the standing feature very often, but I am grateful that I had the foresight to buy a standing desk (pictured below).

Problem was, even standing still was sometimes painful. So this time I went to a chiropractor because I really couldn't figure out what I did to hurt my back. Apparently my lower spine was torqued a bit to the left. 

After a couple visits and days off I started to feel better, thank God. So because of that, I was able to get back to work on Scrapship!

Updates for this week . . .



- Scrap can move from right to left.

- Cargo Boss guns can be destroyed

- Cargo Boss can be destroyed

You'll notice that there are still some things missing: The guns need explosion animations and the explosions in general need to be reworked so they're not all the same. I saw that Embergen (the software I use for explosions) will be moving to version 1.0 pretty soon, so hopefully I can take advantage of that to make more cool effects for blowing things up. 

In Other News . . .

There won't be any updates for Scrapship until 7 April. Yep, another business trip. This time I'm going to South Korea, so that should be interesting! I might still do the weekend update, but also maybe not . . . it depends on my internet situation over there. So if you don't see my devlog get updated the next few Saturdays, don't panic! I'm just busy with work is all. 

QUOTE OF THE WEEK:

"Small is not just a stepping-stone. Small is a great destination itself." -- Jason Fried

Thanks for reading and have a great rest of your week!

18 MAR 2023:

Almost forgot it’s Saturday! 

I was able to work on Scrapship a little in the days before I left for South Korea:

- Level transitions now work all the way from level 1 to level 5. Even the music transitions correctly. This is a pretty significant step towards getting the game done. 

- Scripted one of the background images for the final boss fight.


In other news . . . So yeah, I’m in South Korea now for a business trip. 18 hours worth of flights just to get here. But totally worth it (I think travel is one of the best ways to spend money). 

My hotel room has a flat screen TV almost the size of the mattress and a DESKTOP computer in the room. Of course the IT tech in me is saying , yeah probably not a good idea to use the Desktop computer, who knows what it has installed on it (keyloggers, etc). Besides, I bring my own computers.

Speaking of computers, this brings me to an interesting thought: How much do you think about the hardware that your potentials players use? Unreal Engine 5 looks bloody amazing, but one thing that does scare me away from it is the fact that it requires such a beast of a computer just to develop or play games on. If you’re targeting players in countries that don’t have the income to buy the latest graphics cards then you might be better off developing in Unity or Godot. Surprisingly, I read that electronics (especially phones) are more expense in South Korea than in the US. 

QUOTE OF THE WEEK:

“Set your goals high, and don’t stop till you get there.” — Bo Jackson

Thanks for reading and have a great rest of your week!

25 MAR 2023:

Weekend 2 of 3 of my Korea trip, so no Scrapship updates this week.

QUOTE OF THE WEEK:

"Live out of your imagination, not your history." -- Stephen Covey

Thanks for reading and have a great rest of your week!

1 APRIL 2023:

Weekend 3 of 3 of my Korea trip, so no Scrapship updates this week.

South Korea has been a blast! Last week my coworker and I found a PC cafe and played some Starcraft (when in Rome . . . ) and some Overwatch 2. A lot of the games on the PC's required a Battlenet account to play.

Looking at other players in the cafe, I saw that they played a variety of games, not just RTS or FPS. Some were playing a soccer game of some sort.  

On the metro, just about everyone is staring at their phones. One guy was watching a playthrough of some FPS and I saw a girl playing a Candy Crush-style puzzle game. I think it's fair to say that mobile gaming is still alive and well. 

On TV, I found an eSport event going on (RTS), but I also found a channel where two players were playing Go (basically Asian chess with black and white stones). This just goes to show that people like the classics just as much as the newer stuff. 

QUOTE OF THE WEEK:

"Failure is success in progress." -- Albert Einstein

Thanks for reading and have a great rest of your week!

8 APR 2023:

Finally back from my S. Korea trip -- and the jet lag sucks! It was 27 hours from the time I left my hotel to the time I walked in the front door of my house.

In spite of that, I was happy to sit back down to Scrapship and get going on it again. This week was mostly bug fixes and minor adjustments, but there were a lot of them:

- Fixed bug where earth would vanish when it was still on-screen

- Fixed bug where music restarted every time volume adjusted

- Music files stop and close when game ends

- Commented out scaling code for ships and explosions

- Fixed game tips

- Fixed opening animation graphics

- Adjusted player launch sequence (between levels)


As fate would have it, I have another business trip starting next week -- Ft Drum, New York ( at least it's not the middle of winter). I just can't seem to get a break, can I? Fortunately it's only for a week and a half and then HOPEFULLY my schedule should be free for a little while. 


QUOTE OF THE WEEK:

How you do anything is how you do everything.


Thanks for reading and have a great rest of your week!

15 APR 2023:

- I use Embergen software to do all the explosion effects in Scrapship. They just launched version 1.0  a couple weeks ago, so I upgraded my version of it and started familiarizing myself with the new features. One of the biggest things missing in Scrapship right now are different explosions. I have a couple to work with, but obviously it'd be nice to have more variety. And now that I know how to use sprite sheets, I'm hoping I can have that variety with relatively little cost in game performance.

- So far I have 2 more scheduled business trips this year (4 weeks), so that's obviously going to cut into my development time but I'm hoping I can still get the game done or close to done by the end of the year. 

- I have a question for all of you: Do you prefer being able to play a game as it's being developed or do you prefer waiting until a game is completely finished?


QUOTE OF THE WEEK:

"If you don't have a strategy, you're part of someone else's strategy." -- Alvin Toffler


Thanks for reading and have a great rest of your week!

22 APR 2023:



Whew, glad that uploaded! It was 2.986 MB and the limit is 3MB!

- As you can see, I've been working with Embergen 1.0 this week.  Sorely missing from the game at the moment are explosions for minor hits on enemies. The above explosion comes pretty close to what I'm looking for although the in-game version will be much smaller. The actually rendering and exporting was pretty easy, but -- as before -- the hard part  was figuring out how to get the exported frames to look exactly like the viewport frames. 

In my RENDER--> Export settings I had to change my Alpha Blending Mode to Straight Alpha to get the right look. 

- I've found that 20 frames of animation is sufficient for these small explosions. Five frames show the explosion going from nothing to full blast. The next 10 are to ensure those pretty explosions stay on screen long enough for the player to see them. The explosion fades away in the last 5 frames. 

- Right now this folder of 20 frames is about 577kb, but I'll be able to get that even smaller by using a sprite sheet, which I successfully tested and integrated several months ago. 

- Ideally, each ship will have a different "minor hit" animation and possibly a different animation depending on what weapon you use.


QUOTE OF THE WEEK:

"An investment in knowledge pays the best interest." -- Benjamin Franklin


Thanks for reading and have a great rest of your week!

29 APR 2023:



- There are now two different explosions when you hit an enemy. A smaller one when you use the "rapid laser" and a larger one when you use the "scrap cannon".

- More importantly, I reworked all of the explosion animation code so that I can show multiple "damage explosions" at once. This took a while to figure out. But it had to be done because there's no point spending time in Embergen making fancy explosions that are only going to be shown once per enemy. 

- One of the nice things about Embergen is that it has a nice amount of PRESETS: 


So I can take a prefabricated effect that is close to what I want and adjust it to my purposes.  Right now I'm trying to make a lightning or electric discharge sort of effect (which they don't have  a preset for, but a few come close in principle). I also saw that they have Premium Presets, the first one being clouds. So if you don't want to buy the Embergen software, you can just buy some presets. Think of it as Kitbash but for explosions, clouds and particle effects. Pretty cool. I'm not affiliated with Embergen by the way, I'm just happy that I found an "explosion solution" that fits my minimal  budget.

- The majority of my development time is going to be in Embergen the next few weeks, with minor code adjustments to get the explosions to line up properly over the enemies. 

QUOTE OF THE WEEK:

"A problem is a chance for you to do your best." -- Duke Ellington


Thanks for reading and have a great rest of your week!

6 MAY 2023:


- It took all week and lots of experimentation, but I finally made a lightning effect for the "stun gun"! 

- Below you can see my Embergen node tree for it:


- I always seem to encounter this problem -- rendering bloom. The bloom effect with the lightning looks amazing, but trying to capture it in the final render is elusive if not impossible. So I took the animations to Aseprite:


Here are the Aseprite notes I took on how add some Alpha  while still retaining the bloom effect of the original image:

Open your first image in Aseprite and select "Agree" for "load the following files as an animation."

Click the Layer "Continuous" button in the timeline (links all frames together for changes) (rightmost arrow in above pic)

Click the lock button to upper left of colors to unlock color editing. (leftmost arrow in above pic)

Click down arrow and sort by brightness (or whatever)

Select Sprite --> Color Mode --> Indexed

Use eyedropper tool and click on a color

Change Alpha value (below the color rainbow, not the two color bars below it (middle arrow in above pic)


QUOTE OF THE WEEK: 

"Hide not your talents, they for Use were made. What's a Sun-Dial in the shade?" -- Benjamin Franklin

Thanks for reading and have a great rest of your week!

13 MAY 2023:

Hours of gamedev this week = ~9


- Final Boss can spawn in 3 different orientations (experimental)

- Enemies only become stunned after the final frame of the lightning animation

- Simplified main menu

- Enemies don't spawn when bosses are active

- Railgun won't scroll off screen and get lost

- Enemies won't hurt player when railgun is active


QUOTE OF THE WEEK:

"If you always do what interests you, at least one person is pleased." -- Katharine Hepburn


Thanks for reading and have a great rest of your week!

20 MAY 2023:

- Redesigned Final Boss model 

- Left and right guns for the final boss can be damaged separately



Above is the original model. But I quickly saw a couple problems with it. 

1) Too many unnecessary parts extruding out from it. This also meant that I had to zoom out to fit it all in the frame. By getting rid of the extruding parts, I was able to zoom in more for a larger, simpler image.  

2) I got rid of the right "machine gun". I still want there to be  a sort of "machine gun" weapon for the final boss, but not one that I have to have any fancy animations for (like on the battleship, which was an absolute headache to code).  Below you can see a preview of the new version:



QUOTE OF THE WEEK:

"A game is a series of interesting choices. " -- Sid Meier


Thanks for reading and have a great rest of your week!

27 MAY 2023:


- This week's update ties in directly to the Quote of the Week. Last week's Final Boss design was ok, but not entirely to my liking. So this week I experimented with a new design that you can see above.  I like how this version has more symmetry and it's given me new inspiration for how the Final Boss battle should play out.

- I also made a cool beam attack animation in Embergen and tested it in-game. 


QUOTE OF THE WEEK: 

"If you aren't sure which way to do something, do it both ways and see which works better." -- John Carmack


Thanks for reading and have a great rest of your week! Remember the fallen!

(+2)

Very inspiring to see such dedication and regularity in the updates, keep up the good work !

(+2)

Thanks for the encouragement!

(+1)

3 JUNE 2023:

- About halfway done with rendering some of the gun animations for the final boss. The left and right guns each have the three following states:

  • Banking Left, Idle, Banking Right
  • Damage level from 0 to 2
  • Disabled status (0 or 1)

If my math is right  3x3x2 = 18 different states for the final boss.

I've always liked banking animations in shmups -- they make movement look so much more natural. Plus they also inform the player what direction the enemy is going in. Without banking animations, there is no telling if the enemy is going to move up, down, left or right until it actually starts doing so -- and by then it may be too late for the player!

Having played a good handful of indie shmups here on Itch I've noticed that the better ones try and do some sort of animation for the player or the enemies. Sure, it's more work (sometimes a lot of work) but it really does look better in the end. 

This week's update is a bit short since I had (another) business trip last week, but the following week or two should be back to normal.  


QUOTE OF THE WEEK:

"It is a beautiful truth that all men contain something of the artist in them." -- Walt Whitman


Thanks for reading and have a great rest of your week!

10 JUN 2023:

- Started programming the AI for the final boss. It can currently move in 8 different directions.

- Left and Right guns can be stunned and damaged (no animations yet).

- Aseprite came to the rescue when I was trying to figure out how to crop multiple frames of animation all in one go. This cropping will mean smaller file sizes for that animation and more accurate hit detection against the player.

- I'm being deliberately scarce on gifs and images of the final boss -- to me, they should always have a bit of mystery to them until finally encountered.

QUOTE OF THE WEEK:

"I think that inside every adult is the heart of a child." -- Shigeru Miyamoto (Creator of Mario and Zelda)


Thanks for reading and have a great rest of your week!

17 JUN 2023:

- Sometimes I tinker around with side projects that give me new insights into how to do things. This week, those side projects taught me how to make my code both more readable and more practical. I implemented this into Scrapship by reworking some of the code and even creating a few new functions. 

- Previously, the vast majority of my sprites were positioned using hard-coded coordinates -- which I now realize is very awkward and inefficient. The new subroutines I created can now position objects relative to the dimensions of the game screen. A good handful of still images use this new method for positioning, but I still have to figure it out for the images that are embedded in arrays.

- I also worked on the final boss beam attack animation and came up with my best iteration of it yet just this morning. 

- Once the final boss is done (still got damage animations to do), it's just a matter of going over the game from start to finish and polishing as I go along. 


- Something fun. If you need something to do this weekend, I highly recommend walking around in nature and listening to the Skyrim soundtrack.  I don't get to do it as often as I'd like, but when I do it sometimes feels like living the game. 


QUOTE OF THE WEEK:

"Games shouldn't only be fun. They should teach or spark an interest in other things." -- Hideo Kojima (Creator of Metal Gear)


Thanks for reading and have a great rest of your week!

(+1)

Hey dude, I've been following you for a while. Interested to see where this ends up, and props to you for keeping on. 

(+1)

Thanks Alpha King and it's cool to see that you have a new project in the works!

(1 edit)

24 JUN 2023:

- Started creating animations for when the final boss gets damaged.

- Perhaps more importantly, I created a subroutine that handles sprite sheets. For shorter animations, I've found that it's still best to cycle through them the old way, but for longer animations of 100 frames or more, this new  subroutine works splendidly! With sprite sheets I can pack more frames into a smaller space than if I loaded them in individually. For my sprite sheets I've been using TexturePacker which is really nice and intuitive.

- I also discovered (rediscovered?) the Sprite --> Trim feature in Aseprite, so I've been using that to get rid of any unnecessary transparency around the edges in some of the larger images. Simple but excellent way to reduce file size!



QUOTE OF THE WEEK:

"Constraint breeds creativity."                         (I heard this one when I was listening to Episode 71 of The Game Design Round Table podcast.)

Thanks for reading and have a great rest of your week!

1 JULY 2023:

- Still working on the final boss attacks and animations. 

- In Blender I was having issues where the lighting//coloring on half of an object was slightly different from the opposite side. This week I learned that it was because of my normals. Going into Edit mode, highlighting everything and pressing Shift + N reworked all the normals so that the lighting and coloring was consistent. 

- I'm up to 11,500 lines of code now, so I've been cleaning up the code so I don't run into . . .

- A bug. This one had me puzzled for several hours. Thankfully I just got it straightened out this morning. A bug like this can be pretty demoralizing but a combination of reviewing log files and looking at the code base from a previous version helped me find out what was wrong.


QUOTE OF THE WEEK:

"When things get harder, and the obstacles get tougher, it just means you leveled up." -- Lilah Pace

Thanks for reading and have a great rest of your week!

8 JULY 2023:

- The final boss is coming along nicely! It actually looks and behaves a little differently than it did before. You can stun the left gun, the middle or the right gun individually -- and they're animated! The guns can also be damaged incrementally. 

- The only downside was that the final boss graphics took about 30MB (which for QB64 QBasic is a massive amount of data to load in). So I experimented with some different methods of drawing the sprites to the screen:

 

This is a WHOLE image. Notice all the dead space to the right of the gun. This makes the file size for this one frame 188 KB. Not cool. The only positives to this method is that 1) I can position every image off of the same upper left coordinate and 2) No cropping/trimming required.


This is  a CROPPED image. You can safely delete the dead space to the right of the gun and anything below the gun. This shrinks the file size down to 60.7 KB. Major improvement! It also benefits from making it easy to position. But some manual cropping is required to get it this way. 

This is a TRIMMED image. This is when Aseprite trims all around the image so that all dead space is deleted. This shrinks the file size down to 59.6 KB. Now that doesn't sound like much, but here's a comparison of the folder sizes using the 3 different methods:

WHOLE IMAGES = 30 MB                           CROPPED IMAGES = 23 MB                   TRIMMED IMAGES = 18 MB

Trimmed images almost halve the original folder size! So clearly that's the way to go. But there is one problem with trimming images. When Aseprite trims the image, it also trims away the original position in the upper left corner. So now the individual sprite segments that make up the final boss no longer align properly. 

To fix this, I took the cropped image width ( or height) and then subtracted the trimmed image width ( or height). This aligns all of the images properly. 


- Now that I finally figured all this out, I can apply this same logic to other enemies in the game. 

- I'm on Threads! It was really cool being able import my Instagram profile to Threads on Day 1. I plan on posting there a little more frequently than I do on Instagram and sharing my thoughts on gamedev and a few other things as well, so feel free to check it out!


QUOTE OF THE WEEK:

[This quote comes from Episode 75 of the Game Design Roundtable Podcast]

"If you can't make it good, make it short."


Thanks for reading and have a great rest of your week!

15 JULY 2023:

- Final Boss can now drop bombs! This is in addition to the beam cannon attack that it already has. Because the beam cannons are easy to dodge, the homing bombs force the player to move around the screen more. 

- At the moment, only one bomb can be dropped at a time, but I'd like there to be a possibility of multiple bombs dropping for increased difficulty. 

- Not a whole lot of progress this week as I was on vacation, but well-rested now and looking forward to more progress next week!


QUOTE OF THE WEEK:

Never beg for a seat when you can build your own table.


Thanks for reading and have a great rest of your week!

(+1)

22 JULY 2023:


- Bombs now have an explosion animation! It's currently not very efficient (the sprite sheet is 2.8MB) but it works so I'm going to run with it unless I find a more practical solution. 

- Final Boss can now be destroyed. It's a nice challenge too! The bombs increase speed as the boss gets weaker. But the bombs will never outpace the player. Even so, you will be forced to move around a lot to avoid taking damage. 

- I also added text declaring how the final boss destroyed you (e.g. "The Final Boss hit you with its beam cannon", etc). 

- There is a bug that has been plaguing the bombs for a long time now -- sometimes they'll get "stuck" near the player and never detonate unless the player moves. It's very intermittent and therefore very hard to troubleshoot. It has to be fixed though so that will probably be one of my main focal points for next week.


QUOTE OF THE WEEK:

"Never be limited by other people's limited imaginations." -- Mae Jemison


Thanks for reading and have a great rest of your week!

29 JULY 2023:

- Bomb bug appears to be fixed. A huge part of that was reworking the log file code to facilitate better debugging. 

- I also figured out a way to consolidate the way enemy projectiles are handled. Now there is only one subroutine to handle the shots for battleships, the cargo boss, bombs and the final boss bombs. 

- My debug program is much improved now. The upper left of the screen shows what iteration of the game loop is currently being shown. This then matches up with the text in the log file so I can pinpoint what is going on in the code at a specific point in time. 

- Ok, so this last one is not Scrapship-related, but I was so amazed by this fact that I just have to share: Did you know that the clouds and bushes in Super Mario Bros use the same shape, just different colors? It’s true! Look it up on Google. I think that’s a good example of doing things efficiently. 


QUOTE OF THE WEEK:

“There’s a way to do it better — find it.” — Thomas Edison

Thanks for reading and have a great rest of your week! 

5 AUG 2023:

- As it turns out, the bomb bug is NOT fixed.  In the GIF above, the bomb is supposed to either hit the engine or the cockpit. But it's hitting neither and just getting stuck. A look at my log file revealed that this is because, for either segment,  only 1 of the 2 coordinate positions were met. 

Basically the game is miscalculating what the player middle x and middle y coordinates are. So apparently I need to rework that -- which is fine because I planned to do that anyways. :)

- Not much else this week as I just got back from another business trip last night. 


QUOTE OF THE WEEK:

"When the uncreative tell the creative what to do, it stops being art." -- Tony Bennett

Thanks for reading and have a great rest of your week!

12 AUG 2023:

- Bombers now have this cool scaling-down effect when they first appear on-screen! This was something I've been wanting to do for a while.  


- I was pressing CTRL + S to save in Aseprite when I noticed these coordinates pop-up on screen. They show you the x and y coordinates of where the trimmed image would be relative to the original image. Because of this, I did a test of trimming all the satellite images and then positioning them. This worked wonderfully and has 2 huge upsides: 1) Being able to trim away all that excess transparency = smaller images = shorter load times. 2) I can use QB64's _WIDTH and _HEIGHT functions to auto-return those values and use them for hit calculations! Now I just have to do this for the rest of the images in the game . . .

To get those coordinates, you press CTRL in Aseprite. Sometimes you may have to do the following for this to work: Make a stray mark anywhere transparent. Then get rid of it with the eraser. Then press CTRL and the coordinates should show up. 

- I also learned how to generate a Console screen in QB64 using $CONSOLE. This would be invaluable for debugging! The only problem is that the console window doesn't want to stay on top of the game screen where it would be most useful. 

- Started working on a subroutine so that the game will display properly at any resolution up to 2k or so. 

- Lots of work on the programming side to try and get things more consistent (naming conventions, etc). 

- A lot got done this week, but I also put in a lot more hours than usual. 


QUOTE OF THE WEEK:

 "Side content is meaningful because you can miss it." -- Joel Burgess (?)

Thanks for reading and have a great rest of your week!

19 AUG 2023:

Sometimes game design requires you to move backwards to move forwards.

 Though the game is 90% done now, there were a good handful of bugs that were impeding progress. I also didn't have any code for a critical aspect of the game: proper scaling for different screen resolutions. Instead of trying to fix bugs and implement scaling in a project with nearly 12,000 lines of code, I decided to "start over" -- which only means that I am starting with zero code and slowly adding things back in. 

And so far the results are amazing and well worth it! I've been putting in several hours a day so that has helped as well. 

- The game now scales properly up to the max screen resolution of 2560 x 1440. 

- The game starts in a Windowed Fullscreen mode that leaves the taskbar accessible. A press of the F key toggles Fullscreen mode.

- For the first time, you can exit the game or go Fullscreen while the game is loading. I accomplished this by embedding an "input listener" within each DO LOOP that loads the graphics.

 

- The settings screen has a nice little keyboard animation based on the keys the player actually presses. I had tried this before, didn't like the results and took it out; but the new version is pretty much perfect. 

- The sound and audio adjustment sliders don't have the "echo" effect bug if you hold down an arrow key for too long. 

- Text of any size can now be properly centered on the screen. (Last time I was just guesstimating the positions). 

- New troubleshooting tools include a logfile, a new buglist  and an in-game overlay that can be toggled on and off. It has already helped me solve a few problems. 

- In-game timers to keep track of how long it takes graphics to load. 

- 1,000+ lines of code have already been transferred over and re-worked. So it's going pretty quickly. 


QUOTE OF THE WEEK: 

"Sometimes you have to move backward to get a step forward." -- Amar Bose


Thanks for reading and have a great rest of your week!

26 AUG 2023:


- Player ship explosion now has more of a 3D look to it. I can also change:

  • Size of the particles
  • Speed of the particles
  • Duration of the animation

- Added option to skip the opening animation when starting the game. Can also be skipped while playing. Just about every game designer out there will tell you that animations/cutscenes should have a Skip button, regardless of how short they are.

- Settings can be accessed whenever the game is paused. Previously you could only access settings at the very beginning or between levels. 

- Assets are properly freed when you exit the game. This prevents memory leaks.


QUOTE OF THE WEEK:

"It's better for AI to be stupid than for the player to be bored." -- Ananda Gupta (Game Design Roundtable Podcast #93)


Thanks for reading and have a great rest of your week!

2 SEP 2023:

   

- You can't have a game called Scrapship without lots of scrap! This game was somewhat inspired by the movie Gravity  -- especially the parts where space debris is flying everywhere (right GIF). I spent a lot of time this week re-working how the scrap moves. Previously it only moved left to right or right to left. But now scrap  starts small in the background and scales larger as it gets closer to the foreground. 


- Reworked how the player ship is "put together". It still uses segments, but in a such a way that hit detection against specific segments will be much more accurate.

- The selector "loops around" on the main menu screen. So if you're at the topmost list entry, pressing up will take you to the bottom of the list and vice versa. Saves the player some keystrokes.

- Added a player win condition to the main game loop.

- Improved subroutines that handle image, audio and sound loading.

- One thing Scrapship needs more of is backgrounds. I found a program called Space Engine Pro that sounds very promising, especially because it can generate a ton of space-related content that can be used commercially. If you have any experience with Space Engine Pro ( or know of a good alternative) please let me know in the comments!


QUOTE OF THE WEEK:

"I see games . . . as the ultimate combination of art and technology." -- Todd Howard

 Thanks for reading and have a great rest of your week!

9 SEP 2023:


- Collecting scrap is no longer a thing. Instead, they can hurt you -- as shown above -- or you can shoot them down. Shooting scrap will allow you to repair your ship between levels. 

- Scrap gets outlined in green when it is in range (to hit the player or be shot down). Aseprite has an excellent outline feature that made this part nice and easy!

- Added a sound effect every time the player gets hit.


QUOTE OF THE WEEK:

"The only place success comes before work is in the dictionary." -- Vince Lombardi

Thanks for reading and have a great rest of your week!

15 SEP 2023:


Doing this devlog a day early as I have a last-minute business trip scheduled for tomorrow.

- Increased the variety of scrap

- Satellite generates scrap that can be destroyed after a small delay

- The scrap from the satellite can also damage the player if you run into it

- Fixed the layering so that scrap is properly assigned "background" or "foreground" relative to all other objects

- Fixed a bug where the left and right wing segments were sheared off

There won't be any major Scrapship-related updates the next 2 weeks, but I'll think of something gamedev-related to post and of course the weekly quote.


QUOTE OF THE WEEK:

"Golden rule of level design -- Finish your first level last." -- John Romero


Thanks for reading and have a great rest of your week!

23 SEP 2023:

This week and next I’ll be talking about other stuff —no Scrapship updates this week as I’m still on my business trip. 

Thoughts on the Unity pricing scheme:

When you fill out an application to start a business, one of the fields you have to enter is something like “Purpose or goal of your business” and from the books I’ve read, the usual answer is “To make money”. So on the one hand, I understand that Unity is trying to do just that. But on the other hand, I do think they went about it the wrong way. It really did come across as if a bunch of suit-and-tie executives on the 40th floor made the decision without even thinking to talk to actual developers about the sort of impact this would have. 

It’s good that they walked it back, but like I’ve seen a lot of developers say, trust is hard to earn back. I totally agree. 

I do think this has underlined the importance of staying flexible with how a game is made. At the end of the day, game engines are like tools in a toolbox. Some are better at certain tasks than others, but a small hammer can still drive in a nail like a big hammer can. Or even a flat side of a large wrench. 

I’ve heard of a lot of Unity devs talking about switching to Godot or Unreal but I’d like to propose a third option — code the game yourself in C# (the scripting language Unity uses). Now you’re not even using a game engine and have ridiculous amounts of flexibility. And yes, there may be a steep learning curve. 

Scrapship is not made with a game engine. It is programmed in QB64PE which is a more functional, modern version of QBASIC. The freedom of programming a game from scratch is unparalleled. Anything I want to do, I can, assuming I know how to do it. Some people might think that you need to already be a “master” of a programming language to even start making a game — I’m telling you that you don’t. Prior to making Scrapship, my knowledge of QBASIC came from modifying existing programs back in High school and trying to make my own, a 20-year gap, and then watching a Youtube tutorial series before getting back into it. IF . . . THEN, DO . . . LOOP, etc were my initial building blocks and I just added on to that knowledge as I went along. 

All I’m saying is, keep your options open — some people even make games in Excel! 

QUOTE OF THE WEEK:

This week I’ll be recycling a quote from one of my favorite vloggers, Eva zu Beck, who is currently halfway through a 60 mile ultramarathon this weekend. 

Running  a marathon is a lot like making a game in that both require tremendous amounts of discipline — especially if you’re a solo developer. What Eva found helped her was coming up with a mantra that would help motivate her through the low points. In one of her vlogs, she shared what her mantra was: 

“I GET to do this.”

Instead of imagining running as something she had to do, she reframed it as something that she was privileged to do. As she points out in several of her videos, girls in Afghanistan can’t partake in a lot of sports that we take for granted. 

There are lots of us here on Itch trying to fulfill our dream of making a game, but there are some places in the world where making or even playing a game is probably unheard of. A quick look at Wikipedia shows that the only game from North Korea is “Pyongyang Racer”. How sad is that? 

So when you’re getting frustrated with your game development and ready to throw in the towel, just remember that you are doing this because it was a dream you had. No, it’s not something that you HAVE to do, it’s something that you GET to do. 

“I GET to do this.” 

(+1)

30 SEP 2023

Last weekend of my business trip, then it’s back home and back to working on Scrapship!

While researching a quote for this week’s devlog, I came across some by the creator of The Sims, Will Wright:

“On vacation, I totally unplug. I don’t bring a laptop with me.”

“I find it refreshing to unplug from it for a while. You kind of forget how deeply you get embedded in it.”

Lacking context, I’m assuming the “it” he is referring to is “game development”. Assuming that’s the case, I totally agree. A vacation — or in my case, a business trip — can give one a pleasant rest from the rigors of making a game. 

So I haven’t been working on Scrapship the past 2 weeks, but that doesn’t mean I haven’t been doing gamedev-related stuff. 

I’m already thinking about my next game. 

I won’t say too much about it yet — things can change — but it will make heavy use of procedural generation, emergent narrative, and persistent states. 

If that sounds overly ambitious, it may very well be, but to that end I’ve laid out several “guardrails” to ensure I don’t scope creep the hell out of it. 

But if it all works out, this game will be “infinitely” replayable. Even I as the developer will be finding new things all the time.

On this business trip I’ve already got a nice long list of notes for how different game mechanics will work. Some of these I have already prototyped in the past.    

QUOTE OF THE WEEK:

“The programmers of tomorrow are the wizards of the future.” — Gabe Newell

Thanks for reading and have a great rest of your week!

7 OCT 2023:


Finally back from my business trip (and very very jetlagged!) Nonetheless, here are this week's updates:

- Adjusted the "scrapstorm" so that it looks like the debris is hurtling towards you faster. 

- As shown above, not only the player, but the satellite can also be damaged by scrap now. It will look better when I make some explosions in Embergen.

- Fixed a nerve-wracking bug where the player shots were getting cut short after destroying some scrap. Like seriously, I spent more time fixing this bug than anything else this week. Thankfully I got it figured out just in the last hour or so. 


QUOTE OF THE WEEK:

"Never trust a computer you can't throw out a window." -- Steve Wozniak

Thanks for reading and have a great rest of your week!

(1 edit)

14 OCT 2023:


- Spent a lot of time this week making explosions in Embergen! There are 4 just for the satellite:

  • explosion after being hit by player's rapid laser
  • explosion after being hit by player's scrap cannon
  • explosion when a satellite segment is destroyed (shown above)
  • explosion when the entire satellite is destroyed (shown above)

- Explosions can be a little random by having a different angle at which they're drawn. I had also experimented with random scale, but that complicated positioning and images scaled larger just don't look as good as 1:1 images. 

OTHER NEWS:

- Recently finished listening to episode 104 of the Game Design Round Table podcast. It mentioned a good website, whose writer is the source of this week's quote.

- I also came across this website that features news from around the video game industry.

- Haven't had too much time to play games, but I have enjoyed a couple hours with The Bloodline. It's basically a low-poly Skyrim made by a single indie developer. I asked him on Instagram how long he had been working with Unreal Engine 4 and he said "about 4 years", which sounds very reasonable for a project of that scope. 


QUOTE OF THE WEEK:

"Many players cannot help approaching a game as an optimization puzzle." -- Soren Johnson

Thanks for reading and have a great rest of your week!

21 OCT 2023:


This week I started looking at my options for making backgrounds in Scrapship.

The main goal is to have a wide variety. Every time you play a level, there should be a good chance that the background will be different. 

So far I’ve tried: 

  • Blender — I can make good planets — if I have good textures to work with. Can’t really get much of a bloom effect though when saving with transparency.
  • Unreal Engine 4 — Same as above, but does a better job of creating an atmosphere effect.
  • Textures for Planets — Has the ability to make tons of different planet textures — but at a lower resolution. 
  • Space Engine Pro — Lots of realistic variety and uses transparency, but in some of my testing the resolution is still too low.

- Above is a screenshot with an Asteroid background from Space Engine (jpg format). Looks nice, but the downside to jpg is that it will make it more difficult to create dynamic backgrounds that don’t conflict with different layers. PNG format can fix this, but at an often huge cost in file size. 

Currently I plan on working with Space Engine Pro some more to see what I can do, but I am also looking at another option:

GEOGEN!

So JangaFX, the company that creates Embergen (which is what I’m using for explosion effects), just recently announced that they are making GEOGEN which will allow one to make planets and geographical textures. From what I gather, it’s around the beta stage, so I might have to wait a while if I want to try it out.  (I am not affiliated with JangaFX btw, but I do like their software). 

Currently on a business trip this week and next, so there won’t be much in the way of Scrapship updates, but of course I’ll think of something to post.


QUOTE OF THE WEEK:

“Ideas are easy, games are hard.” — Rob Daviau (episode 105 of the Game Design Round Table podcast)

(The context behind this quote was if game developers should be cautious about sharing ideas for upcoming games they want to make. In his estimation, one shouldn’t be too worried — even if you have a great idea, actually turning it into a reality is such hard work that it is unlikely that someone would try and steal your idea and beat you to market.)

Thanks for reading and have a great rest of your week!

(+1)

28 OCT 2023:

Just got back from my business trip last night. Since there are no Scrapship updates for this week I'll share with you the latest cool gamedev-related things I've come across:

  • Saw a really good YT video between Jordan Peterson and Robert Sapolsky where they discussed Game Theory as applied to human behavior. Very deep discussion! Watch the video for +10 to your Intelligence.
  • In particular, I found this gem in the comments section. Great stuff if you're contemplating the next Skyrim or Dwarf Fortress. The post was by @BillWiltfong

This is the best talk anyone has ever done for giving game designers ideas on how to describe and stat out a human race in a fantasy RPG.

"Humans are the race of people who are driven, never satisfied, always yearning for a future they can never see. The limitations of their lifespans, far shorter than those of elves and dwarves, produces a people who strive in everything they do to transcend the limitations of their finite lives. Yes, they yearn for an eternity they cannot fathom, but the only means by which they can reach it is to find the greatest struggle, and face off against it. This is why humans have spread further from their homelands than any other race, and why humans are found in every climate and every niche. If it can be done, humans will find how it must be done, for the only option for a human to fail, and yet continue on in another lifetime with another effort, is to give the future to his or her offspring, set and prepared for even greater works."

- Also saw this Star Engine Tech Demo which looks really promising for the future of game engines. The real test though will be how easy it is to work with and how much support it gets. 24 minutes well-spent!


QUOTE OF THE WEEK:

"The path of maximal adventure is better than the path of infantile satiation." -- Jordan Peterson (from the video mentioned above, 1:21:42)

Thanks for reading and have a great rest of your week!

4 NOV 2023:

- Made lots of 4k backgrounds with Space Engine Pro this week. Steam says I've used the program for about 15 hours.

- The backgrounds are oversized jpg images that are then compressed, using this awesome online tool that I found. Compressing the images decreased the initial load time by half! Nice! Because the images are oversized, I can position them on the screen with a little variation.

- I continued working on planets as "middleground" objects and to give a slight parallax effect. But there were 3 problems:

  • Although Space Engine Pro can generate png's with transparency, it can only go up to 1024 resolution (in skybox mode). So all the renders were not very detailed.
  • Even small png's caused the game to lag noticeably.
  • Getting the planets to look right during level transitions was . . . not impossible, but not worth the effort that would be required to get it working properly.

- Obviously performance is better than "looking cool" so I made the decision to scrap the "middleground" planets entirely. 

- When a level is completed, the player will warp to the next. Above you can see a preview of that (minus the railgun which I haven't added back in yet). 


IN OTHER NEWS:

- Started playing Red Dead Redemption 2. All I have to say is, wow, the level of immersion and detail in that game is amazing. There were quite a few parts that felt more like a movie than a game.  

- Have you ever thought about how much you spend on Steam? I made a spreadsheet and calculated that I've spent over $800 on games -- most of which I haven't completed or even play anymore. Sad, isn't it? As a result, an early resolution of mine is to only buy games that are on sale.

- Star Ocean: the Second Story R just released -- so it's definitely not on sale -- but they did have a demo. And what a demo it is! I remember playing the original on the PS1 and couldn't get into it. But this new version is just fantastic! Loving the 2.5D art style.


QUOTE OF THE WEEK:

"True creativity flows only from stillness." -- Eckhart Tolle


Thanks for reading and have a great rest of your week!

(+1)

11 NOV 2023:


Put in quite a few hours this week, including most of yesterday! Above you can see how Scrapship looks when the whole screen is visible. The warping is because I'm forcing the game to change levels rapidly. 

- Added in all level backgrounds:

  • Levels 1 and 2 is a random planet background
  • Level 3 is an asteroid field
  • Level 4 is a random deep space background
  • Level 5 is a black hole

- Ensured that music changes during level transitions

- Added the titlescreen back in.

- Asteroids can be destroyed (needs an animation though)

- Added option for Captions On/Off as there will be some voiceovers integrated later.

- Mostly done adding the shield fighters back in. The big win here was that I was able to reduce file size 80% by trimming with Aseprite and hand-jamming coordinates to reposition segments. I plan on doing this same thing to all the enemies.

- After much thought, I also made some last-minute design decisions:

  • I got rid of the easy/normal/hard difficulty levels as the game is designed to adjust difficulty in-game anyways. 
  • Removed the railgun and ability to heal between levels. Because the game is designed for a short play experience (~15 minutes), I think it makes sense to have the game be harder rather than easier. So it will definitely be more roguelike in the sense that you only have one ship, one life! Also I was never happy with how the railgun looked as it was something I threw together in Blender.

Getting rid of things like this has also helped motivate me as it's less stuff to have to worry about. 

So how close to done am I? It's always hard to tell. The parts that are left to do have already been done before, they just need to be re-integrated into the new build. Lots of copy and paste, but also sometimes I have to recalculate coordinates and make minor edits to graphics.  

No promises, but things I will probably add in towards the end:

  • Gamepad support
  • Multiple languages for the captions (and maybe the audio?)


QUOTE OF THE WEEK:

"You must be prepared to work always without applause." -- Ernest Hemingway


Thanks for reading and have a great rest of your week!

18 NOV 2023:


- One of the harder effects for me to create has been the "electrocution" effect when you hit an enemy with the single laser. Thankfully I found this video that has an excellent (and up-to-date) tutorial on how to make lightning effects in Embergen. I tested about 10 or 15 different variations before settling on the one you see above.

- Also worked on scaling so that the game looks right at smaller resolutions. This is something that I have to do for each object that goes back into the game, so it's a little tedious. 


QUOTE OF THE WEEK:

"Every complex system starts as a simple system that works." -- Amy Jo Kim

Thanks for reading and have a great rest of your week!

(+1)

25 NOV 2023:

No updates this week due to Thanksgiving vacation. But here’s the motivational . . .


QUOTE OF THE WEEK:

“The only thing standing between you and your goal is the story you keep telling yourself as to why you can’t achieve it.” — Jordan Belfort

Thanks for reading and have a great rest of your week!

(+1)

Hey 40watts! Just thumbed through your devlog for the last three years! It actually made me emotional seeing the simple square asset prototype to now being a full blown indie game with mechanics and polished up graphics of your desired style. I wanted to ask if you need music and sound for project seeing as its at 80% completion. Making sounds and music is my fulltime job so I wanted to go ahead and reach out to see if you were in need of it :) Otherwise, keep going strong! Would love to see the final product in action. - Jake

(+1)

Hi Ohpal! Thanks for taking the time to look at my devlog, there's a lot of entries for sure. 

I already have music and sound effects for my game, but I do like to keep a list of potential composers / sfx artists for future projects, so I'll keep you in mind.

(+1)

2 DEC 2023:


- Continued reintegrating the shield fighters. It has rocket flames again. 

- Moving away from sprite sheets as it causes issues on lower screen resolutions. Thankfully I can still get the animations to look correct with little or no impact on performance.

- In previous versions, the player explosion particle effect happened in a sort of vacuum where all of the background images would be absent. I fixed that this morning, as shown above. So now when you get destroyed, all the background objects are still there and active.

- Fixed a bug where the electrocution effect was animating in random locations.


QUOTE OF THE WEEK:

"There is little success where there is little laughter." -- Andrew Carnegie


Thanks for reading and have a great rest of your week!

9 DEC 2023:


- Scrap is not just a threat to the player, but to your enemies as well! I think this is a nice touch in the name of consistency. It would be weird if scrap hurt you and not the enemy ships. 

- If you look at the right-most shield fighter, you can see a new explosion effect I made in Embergen. 

Some notes on the gif above:

- Enemies aren't moving because it's easier to test them for hit detection when they're stationary. Movement will be added later when I do the AI.

- This is what the full game screen will look like (hopefully not that small though, although I have tested it on a 7" monitor.) Ideally you'll have a 32" widescreen monitor.

- Very minimal UI and what UI elements you do see will be integrated into the environment. Above you can (kinda) see 2 of them: The orange dot on the player ship indicating what weapon is currently selected and the green outlines of the scrap indicating when they are a threat to the player. 


QUOTE OF THE DAY:

Sharing two that I just read in StephanRewind's excellent Atlantic '41 blog here on Itch.

". . . a good composition always alludes to something more, outside the boundaries of the canvas."

". . . you make a game for other players too, and you can't always assume that they'll play it as you intended."


Thanks for reading and have a great rest of your week!

16 DEC 2023:

- Trimmed and logged coordinates for the bomber graphics. Originally the bomber sprites took up 3MB, now they only take up 1MB!

BEFORE:



AFTER:



QUOTE OF THE WEEK:

"Software and cathedrals are much the same -- first we build them, then we pray." -- Samuel T. Redwine Jr.

Thanks for reading and have a great rest of your week!

(+1)

This is awesome! :D

Thanks BlueJumperFox, glad you like it!

23 DEC 2023:

- Now that the bomber sprites are all trimmed, I started putting the code back in so they appear in the game. Originally I was using a scale function to draw them, but found that the trimmed sprites have major coordinate issues. Basically none of the bomber segments were aligning properly and just looked like a jumbled mess. Really didn’t want to spend all week troubleshooting that so I took an alternate route where I just draw the sprites to the screen directly with _PUTIMAGE. 

- Not a whole lot of progress this week and next . . . but progress nonetheless!


IN OTHER NEWS:

Godzilla Minus One is a lot of fun to watch! Until yesterday I hadn’t been to a movie theater since before Covid. 


QUOTE OF THE WEEK:

“First do it, then do it right, then do it fast.” — Addy Osmani


Thanks for reading and have a Merry CHRISTmas!

30 DEC 2023:

- Started adding the bombers back into the game. All 4 types are assembled and drawn correctly and can also be damaged. 

- Fixed a graphical inconsistency where part of the bomber tail section would be floating unattached to anything if the middle segment was damaged while the wings were intact. 

- I forgot to mention this last week, but this devlog just passed 15,000 views. Thanks to everyone who has read, liked and/or commented over the years! 


- Scrapship is made using QB64PE, a modern version of the QBasic programming language. If you're interested in the QBasic programming language -- or just want to try some retro-style games --  check out the 5th QBasic Game Jam which is wrapping up soon. Although I'm always asked to participate, I usually don't since that would detract from my progress on Scrapship. But it is fun to play and rate the games and see what other people can do.


PLANS FOR NEXT YEAR:

I really want next year to be the year that I finish Scrapship. I was hoping it would be this year, but my job has a lot of business trips that take time away from game development. So  we'll see how it goes, although there is also a big possibility that I'll be changing jobs next year as well. Either way, I'll keep chipping away at this project until it's done. 


QUOTE OF THE WEEK:

"It's never too early to think about performance." -- Rebecca Parsons


Thanks for reading and have a great rest of your week and a HAPPY NEW YEAR!

6 JAN 2024:


- All-new bomber explosion which you can see at the very end of the gif above!

- Added back in most of the bomber code. The bombers above don't move as they're still in a testing phase while I work some bugs out.


The 5th BASIC Game Jam had some really good entries! My favorite two were a puzzle game called TapOut and a side-scrolling endless runner called Ruins of Zeugma.


QUOTE OF THE WEEK:

"If we wait for the moment when everything, absolutely everything is ready, we shall never begin." -- Ivan Turgenev

Thanks for reading and have a great rest of your week!

(+1)

13 JAN 2024:

- Bombers and bombs are finished.

- Started adding the Cruisers back in.  Almost done with that. Just this morning I was working on getting the attack animations to work again. 

- On the sticky note on my monitor I have 7 more TO-DOs before I can call the game done:

  • Cruisers
  • Battleships
  • Carriers
  • Cargo Boss
  • Final Boss
  • AI (for all enemies)
  • Other (voiceovers, gamepad support? minor adjustments, bugs, playtesting, etc) 


QUOTE OF THE WEEK:

"Always do what you are afraid to do." -- Ralph Waldo Emerson

Thanks for reading and have a great rest of your week!

(+1)

Keep up the good work buddy!

Thanks Trisani Studios!

20 JAN 2024:


- Finished adding the cruisers back into the game. 

- Created a new cruiser explosion animation. 

- Started working on the battleships. This is going to be tedious. As you can see from the screenshot above, just one battleship has a dizzying number of gun sprites to cover all the different firing positions and states. As with all the previous enemies, I huge change here will be the fact that I'm trimming all of the images to save space.

Above is one of the guns before trimming. As you can see there's a lot of wasted space above and left.  The real benefit to keeping it like this is that it allows me to place the image using just one x,y coordinate.  For all the guns in the first screenshot, I have to use Aseprite to get the updated coordinates which I'll then have to update in the code so they draw correctly. Hopefully I'll be able to draw more than one battleship to the screen without losing fps. The last build of Scrapship could handle one battleship but lagged with the addition of any other enemies.

I'll see how the "trimmed" battleships work, but if I deem it impractical then I'll revert to my original files (in the ORIG folder) and go with that.

- Also updated my version of Aseprite to 1.3.2. You can update Aseprite by going to their website.

- You can get spend a lot of time trying to make an explosion in Embergen -- especially if you're doing it from scratch. But a quick and effective workaround I've found is this: Take one of the presets and view the explosion from top-down instead of making an animation of the default camera angle. Then change some of the values to your needs.  This allowed me to make the cruiser explosion in less than an hour.


QUOTE OF THE WEEK:

"Those who keep learning will keep rising in life." -- Charlie Munger


Thanks for reading and have a great rest of your week!

27 JAN 2024:

- The first of four types of battleships is mostly back in the game. It can be drawn to screen and both guns can move and fire.  Lots of coordinates! I keep a stack of scratch paper for writing all the values down after I get them from Aseprite:

Then I have to program all that into the game:

Then I test it to see if it works properly:

Now I just got to do that workflow for the other 3 types of battleships and add the damage code back in.


QUOTE OF THE WEEK:

"To improve is to change, so to be perfect is to have changed often." -- Winston Churchill


Thanks for reading and have a great rest of your week!

3 FEB 2024:

If you look at last week's GIF, you'll notice that the forward gun "jumps" when it fires. This was a bug I noticed just after I posted my devlog. As it turns out, this bug was present in several other firing positions as well. I tried manually adjusting the coordinates and still couldn't get it to line up or display properly. I'm sure if I kept at it I'd figure it out, but troubleshooting it was taking quite a bit of time. In the end, I decided to revert back to the old battleship code and untrimmed images. One step back, two steps forward . . . 

- All 4 battleships draw to the screen and fire correctly. No "jumping" bugs.

- After doing some tests, I concluded that the trimmed battleship images didn't really improve performance all that much. Trimmed and untrimmed versions of the battleship still exhibit noticeable lag. But the real cause of this is not so much the battleship as the background which covers the whole screen and is drawn every iteration. So I might have to regulate the larger enemies like the battleships and carriers to "deep space" levels where the background is mostly black with no large background images to process. 

- To finish the battleships, I need to re-add the code for damage and make sure some of the animations still work.


QUOTE OF THE WEEK:

"Opportunity is a haughty goddess who wastes no time with those who are unprepared." -- George Clason


Thanks for reading and have a great rest of your week!

(+1)

10 FEB 2024:

- All the battleship code is back in the game. They can now be damaged and destroyed, as well as damage and destroy the player.

- Fixed a bug where the battleship gun explosions didn't stay aligned with the ship.

- Added all the variables required to make the battleship scale at different screen resolutions.

- Right now I'm thinking that the battleship needs to be strictly a "deep space" enemy against a minimalist background to keep the framerate up.

QUOTE OF THE WEEK:

"Let's optimize for player experience rather than what we think will make more money." -- Ron Carmel


Thanks for reading and have a great rest of your week!

(+2)

17 FEB 2024:

- The first of 4 types of carriers is now back in the game. So far it looks like I'll be able to use trimmed carrier graphics for a slight performance boost.

- Tested the battleships on my son's laptop and ensured that scaling works properly.

- Scrapship enters its 4th year of development! I never would have thought I'd be working on a "simple shmup" this long! But to keep things in perspective, I only do an hour of gamedev a day, excluding vacations, illness and business trips. Regardless, it is still a challenge to stay dedicated to a single project for so long. You might be wondering, does he ever feel like this?


And the answer would be "Yes, quite often!" I have a "dream game" idea that's been in my head for a while now that I'm eager to get started on. But besides all the motivational quotes I surround myself with, there is a particular meme that has been very helpful in staying focused . . .

QUOTE  MEME OF THE WEEK: (One of my favorites)


Thanks for reading and have a great rest of your week!

(+1)

24 FEB 2024

- Two of the four carriers are now back in the game.

- Restructuring the carrier code so all 4 types can use it.

SIDE NOTES:

This week I found some interesting YT videos about programming language speed, like Assembly vs C++ vs Python. It's amazing how much slower some high-level languages can be when tasked to run a "simple" task like counting to a billion. There were no "speed test" videos for QB64 (QBasic) though, so I made a little program to see how long it would take QB64 to count to 1 billion:



If I run it without printing to the screen, QB64 can finish it in 2.197 seconds. But if I uncomment my PRINT statement it takes considerably longer: 7.6 minutes!

I think speed tests like these are good for understanding what your programming language is capable of so you can pick the right language for the right project. Imagine programming a complex game like Dwarf Fortress in Python!


QUOTE OF THE WEEK:

"A comfort zone is a beautiful place, but nothing ever grows there."

Thanks for reading and have a great rest of your week!

(4 edits) (+1)

Nice to see you're sticking with your project until the end, you really understand the importance of finishing something you started! Props to you!

I just noticed your attempt to benchmark QB64, and I couldn't hold myself from giving you my two cents on that matter as I worked on developing benchmarking applications for embedded devices for 4 years of my life.

Your loop only has a print command in it, which basically has the same implementation on almost every language, it's a OS interruption basically (interop), so you're not actually measuring the performance of your language but rather measuring the OS interop to print a value. The interop sometimes hold the application until it has completely executed your task, in this case printing a value, so that's why it takes minutes to finish your test.

The simplest but accurate language benchmark I can think of is maybe a MD5 solver for a very long string, or something similar, anything simpler will most likely diverge from the actual purpose of the benchmarking.


Now there's a good overall simple rule to know if a language is fast or slow: How is it converted into machine instructions?

The fastest languages out there are the LLVM compiled languages, like: C, C++, Fortran, Rust and Zig

The slowest are the interpreted languages, like: Ruby on Rails, Python and JavaScript

There are also some languages that are not exactly interpreted, but something like compiled to a intermediate stage just to be translated into machine code, they are like the "half way" between compiled and interpreted languages, like: C#, java and Lua. That's why, although very slow comparing with languages like C++ and Rust, they are still quite fast (mostly what slow them down is a system called garbage collection).

As for QB64(I never used it) but it seems like they can be either compiled (not LLVM though) or interpreted too, so yes it can be very fast, just one step behind languages C++, Rust and Zig.

Hi FearCode! I'm admittedly inexperienced when it comes to benchmarking programming languages so thanks for the insights! Not exactly sure how I would implement an MD5 solver, but I saw on YT that another benchmark method is to see how many "passes" a programming language can make in 5 seconds when solving for all prime numbers. 

According to its creator,  "The QB64 compiler converts BASIC code into C++ code, and then uses a third-party C++ compiler (GCC) to compile the C++ code into an executable file."

For now I'm pretty happy with QB64, mostly because it's what I'm familiar with and pretty easy to work with. But if I need something blazing fast I'll definitely be checking out those low-level languages. I've played around with C++ a little bit, but I'd have to really dedicate some time to get to a point where I can work with it.

(1 edit) (+1)

Interesting, didn't know the compiler converts to C++, yes, then if you just switch away from GCC (to clang or msvc) it may be as fast as C++ itself (depending on how good this converter is, ofc)

About the video from dave's garage, it's okay-ish, but not enough, I use this site as a good reference, they are old timers, and have a lot of benchmarks from mandelbrot to reverse complement. As you can see: C, C++ and Rust are the fastest on an average of all their cases (note that unfortunately they don't use a LLVM for C and C++ which could make them even faster).

For games I do recommend C++, it's not only blazing fast but also the best in terms of content and tools produced for game development, but to be honest you can make a very good and efficient game on any language.

Java. for instance, I have a history with it and oh boy it's a painfully annoying language, specially for game dev, but still it was minecraft's first development language, it all comes to how you make it, as long as you leave the heavy lifting to the GPU you can even make hardcore games in python (that may be too much lol, Lua maybe?) 

So yes, if you're comfortable with QB64, go ahead I and finish it up in there, I know it will be just fine

(+1)

2 MAR 2024:


- I have a business trip the next two weeks, so I challenged myself to finish the carriers before I have to go. 

- Carriers are done! I made some pretty significant changes to them this time around.  The up and down carriers were being problematic so I removed them completely. For at least one of them, I would have had to rework the original Blender files to fix some issues and that would have taken who-knows-how-long.

- Carrier fighters can attack from up to 4 different directions. I wasn't entirely pleased with the old carrier fighter logic, so I created this new attack method for them which is much less math-intensive. And in my opinion it's a lot more interesting and fun.

- Scrapship is currently up to 11000 lines of code. There is only about 3000 lines of code left to transfer over and reintegrate. 

- As for my sticky note on my monitor, the only things I have left are "Cargo Boss", "Final Boss", "AI" and "Other". 

- 12 of the 16 sticky note tasks have been completed, so I'm about 75% done.


QUOTE OF THE WEEK:

"That's what games are, in the end. Teachers." -- Ralph Koster

Thanks for reading and have a great rest of your week!

(+1)

9 MAR 2024:

Still on my business trip so no Scrapship updates, but I am looking forward to getting back so I can finish it up. 

I’ll be changing jobs in the near future, but this shouldn’t affect development of Scrapship as I only need an hour a day to work on it.  If I’m unemployed I’ll probably work on it even more — it’d be a nice break from job hunting and studying for IT certifications.

QUOTE OF THE WEEK:

“Excuses are the nails used to build a house of failure.” — Jim Rohn

Thanks for reading and have a great rest of your week!

(+1)

16 MAR 2024:

Got back from my business trip a little bit early! Saw the winter weather in the forecast for Colorado Springs  and said "nope!" Apparently a lot of other people had the same idea. 

- This allowed me to get a little bit of work done on my return. I've started putting the Cargo Ship boss back into the game. So far it's mostly a matter of copy and paste, but there are a few minor glitches I need to iron out. If all goes well I should have it done by next week.


- Ever wonder who 40wattstudio is? Well wonder no more because I made a version of myself in Dragon's Dogma 2 Character Creator (free on Steam!)

Even with all the customizability, I'd say it's about 80% accurate. Needs to look about 10-20 years older and slightly less hair on top. And there was no option for glasses (or any other accessories).

Anybody else play around with the DD2CC? I think it's pretty cool and a great way to get people into the game before it comes out.


QUOTE OF THE WEEK:

"Create with the heart. Build with the mind." -- Criss Jami

Thanks for reading and have a great rest of your week!

(+1)

23 MAR 2024:

- Cargo boss is pretty much done but needs testing to make sure the scaling works on different screen resolutions. After this I'll be able to start work on getting the final boss added back into the game!


QUOTE OF THE WEEK:

"A game for everyone is a game for no one." -- Arrowhead Game Studios

Thanks for reading and have a great rest of your week!

(+1)

30 MAR 2024:

- Cargo boss is done! This includes scaling. 

- Final boss can be drawn to screen, take damage and shoot lasers. Currently working on the bomb attack it has.


QUOTE OF THE WEEK:

"Finding opportunity is a matter of believing it's there." -- Barbara Corcoran

Thanks for reading and have a great rest of your week!

(+1)

6 APR 2024:

- Final boss is done! I also managed to improve some of the hit detection.

- The single laser has some new functionality! It is the only weapon in the game that can be used to shoot down bombs, whether they're fired from bombers or even the final boss! 

- Now that the enemies are done I can start working on the AI!


QUOTE OF THE WEEK:

Your focus determines your reality.

Thanks for reading and have a great rest of your week!

13 APR 2024:

- Started working on the movement/AI! 

  • Shield fighters spawn in a variety of formations
  • Bombers swoop in and spawn in a variety of formations
  • Cruisers spawn in a variety of formations (in progress)


QUOTE OF THE WEEK:

"The most valuable thing you can make is a mistake -- you can't learn anything from being perfect." -- Adam Osborne

Thanks for reading and have a great rest of your week!

20 APR 2024:


- Cruisers can spawn in a variety of formations (down, left to right, right to left and cross pattern)

- Battleships can spawn in a variety of formations. 

- Also tested scaling works properly by running the game on a 7" display.

- Tried out Geogen to see what it was capable of in regards to creating planet graphics, but it's still very primitive (only version 0.2). There was a very promising program called Space Fabricator by Imphenzia, but it appears that the software is no longer available. 


QUOTE OF THE WEEK:

"Success has many fathers, but failure is an orphan." -- Tim Cain


Thanks for reading and have a great rest of your week!

27 APR 2024:

- Carriers can spawn in a variety of formations.

- Cargo boss AI is done. Also fixed some bugs:

  •  Explosions were in the background instead of the foreground.
  • Cargo boss "jittered" after becoming active.

- Final boss AI is done. Right now I'm making some changes to HP values and how different weapons react to different segments.


IN OTHER NEWS:

When doing a long project like a video game, it's a good idea to have smaller goals to work towards. For example, earlier this year I learned about this  Conqueror app (non-affiliated) and I've found that it's really good for motivating me to get outside more and exercise. I started the Great Wall of China virtual challenge in late January and just finished yesterday -- 161 miles in 90 days. Besides the health benefits of walking regularly, working towards short-term goals like this help you to stay consistent and remind you what success feels like. 

I also noticed that walking regularly helped clear my mind and gave me great opportunities to think about problems encountered while working on Scrapship. 

Some good ideas for other short-term goals: Reading a book, watching all the videos of a certain YT series,  getting a certification or degree -- anything whose completion can give you a great sense of accomplishment can help you stay motivated  on longer projects. 


QUOTE OF THE WEEK:

"The fears you don't face become your limits."


Thanks for reading and have a great rest of your week!

4 MAY 2024:

- Almost done implementing a new way for explosions to be handled in the game. Previously, each enemy type could only show one type of explosion. Now, each enemy  can explode up to 7 different ways, along with rotation and scaling variations. Makes the space combat look much more dynamic! Also, explosions have some logic to them so that weapons like the more powerful scrap cannon will always show larger explosions than weaker weapons. As you can see in the gif above, I still need to work on the hit detection a little so that explosions show up directly over the object instead of at the very edge of it.

- Reduced game load time to about 9 seconds (was 12 previously.) Because I can now scale explosion animations, I reduced the default size of some of the larger ones and also removed empty and excessive frames. 

- Trimmed some of the level backgrounds. Some of these were originally 3k pixels by 2k pixels or larger, so making some of these smaller by removing extra black space has also helped give a performance increase.


IN OTHER NEWS:

The BASIC programming language turns 60!  For those of you new to this devlog, one of the oddities of this project is that it is being written entirely in a modern version of BASIC called QB64PE. As you can tell by the 4+ years I've been working on this project, writing your own code is quite the challenge, but you end up learning so much more about actual game development than if you had just used a game engine. While most people associate BASIC with primitive text adventures and ugly pixel graphics, one of my goals with Scrapship has been to show how awesome the language can be for game development.


QUOTE OF THE WEEK:

"Don't count the days. Make the days count."

Thanks for reading and have a great rest of your week!

(+1)

11 MAY 2024:

- Simplified the explosion animation function and fixed a bug that was causing the game to crash when 2 different explosions were on screen simultaneously.

- Trimmed the rest of the level backgrounds. This brings the initial load time down from ~9 seconds to ~7 seconds.

- Adjusted the explosion animation coordinates for the satellite and shield fighters.


QUOTE OF THE WEEK:

"An essential aspect of creativity is not being afraid to fail." -- Edwin H. Land


Thanks for reading and have a great rest of your week!

18 MAY 2024: 

- This week saw a lot of minor refinements across the board, with the big end result being that I'm now in a "good enough" place to start working on levels. Maybe a minor bug here and there -- but that I'm aware of -- nothing game-crashing. There are always improvements that can be made, so I'm doing my best to squash my perfectionistic tendencies.

- Minor hit box adjustments for all enemies  -- mostly for animation purposes. 

- Fixed a long-standing bug where some of the shield fighters would overlap when in formation. 

- Shield fighters now have 5 different formation types.

- Started placing enemies in their respective levels.


QUOTE OF THE WEEK:

"You not believing in yourself is a tragedy. Stop that."


Thanks for reading and have a great rest of your week!

25 MAY 2024:

- Added a spawn timer for enemies. What's unique about this is that it adjusts based on player performance. If the player is doing really well (not taking damage, destroying lots of enemies, etc), then enemies will spawn sooner. But if the player is doing poorly (taking damage) then the enemies will spawn less frequently. This mechanic essentially gets rid of the need for "difficulty levels" since they are adjusted in-game automatically. Still need to work on refining this.

- Fixed a bug where the carriers had a missing frame of animation causing the game to glitch out.

- Fixed a bug where the cruisers caused the game to get stuck in an endless loop. Thank God for log files or I would have never figured this one out!


QUOTE OF THE WEEK:

"A negative mind will never give you a positive life."


Thanks for reading and have a great rest of your week!

(+1)

1 JUN 2024:


- Made some good progress on the AI this week. In the picture above you can see the player engaging a bunch of different enemies, including a battleship. There is a nice sense of unpredictability as to which enemy will show up next. 

The game handles the smaller enemies well enough, but I am noticing lag once the battleship (or any larger enemy) goes active. So to fix that, I'll have to find ways to trim down image sizes (most likely the level backgrounds) and/or spawn larger enemies when there isn't much activity going on. It's a balancing act between fps and difficulty.

Right now the logic goes something like this: Every time an enemy goes active, the spawn timer increases. Every time an enemy goes inactive by being destroyed or going off screen, the spawn timer decreases. Then on top of this there is a calculation based on how much damage the player has sustained. The game gets a little easier the more damage you take.

- I changed the outline of the scrap to red instead of green. My reasoning for this is because scrap can damage you and green almost invites the player to fly into it! So instead I tried a red outline, which communicates the dangerous aspect of the scrap better, but admittedly doesn't have quite the color contrast as green did. I probably just need to thicken the outline a little and it should be ok.

- Battleships can now flank the player if there is more than one. This also prevents the battleships from spawning on top of or too close to each other. 

- Fixed some more game freezing bugs involving shield fighters and bombers. Every now and then I'll see some other bugs but I'm not going to worry about them too much unless they actually cause the game to freeze or crash.


QUOTE OF THE WEEK:

"Challenge yourself; it's the only path which leads to growth." -- Morgan Freeman


Thanks for reading and have a great rest of your week!

8 JUNE 2024:

- Lots of progress this week, probably bringing Scrapship the closest it’s ever been to being released! I’m actually taking it to a friend’s house this weekend to have him try an early version of it.

- Fixed the load issues by scaling down some of the background images to 1/4 of their original size. Load times are now consistently between 6 and 10 seconds. 

- Infinite foreground asteroids in level 3.

- Added a new star background to the 4th level. This will allow me to spawn larger enemies without causing lag. 

- Increased final boss health to make it more difficult.

- Cargo boss now scrolls down the screen when triggered.

- Lots of bug fixes (and thankfully none of these were game-crashing ones). 


QUOTE OF THE WEEK:

“The only way to do great work is to love what you do.” — Steve Jobs


Thanks for reading and have a great rest of your week!

(+1)

Congrats on getting so far with the game. It looks amazing!

(+1)

Thanks TheMetalCarrotDev! Looking forward to finishing this project soon so I can start something new!

15 JUNE 2024:

- The game now keeps track of how much scrap you've destroyed. Added a scrap counter to the stats screen.

- Levels only transition when X amount of enemies have been destroyed and all scrap is off screen.

- Enemies now reset between levels.

- Cargo boss only appears when X amount of enemies have been destroyed. After this, it slowly scrolls down the screen and limits player movement to the X axis. When the Cargo boss is entirely on-screen there is now a slight pause before triggering the animation that starts the boss fight. 

- Fixed bug where Cargo boss was being destroyed prematurely.

- Fixed bug where player damage wasn't being persisted between levels.


QUOTE OF THE WEEK:

"Seek what sets your soul on fire."


Thanks for reading and have a great rest of your week!

(+1)

22 JUNE 2024:

- Finished level transitions.

- Cargo boss stays in bounds when scrolling on screen.

- Added a timer that determines how long each level is. 

- The entire game can be played from start to finish with the exception of some sort of transition to the credits roll and a few other minor things to fix. I certainly don't plan on adding anything new at this point, just adjusting things as they are. 


QUOTE OF THE WEEK:

"Challenges are what make life interesting, and overcoming them is what makes like meaningful." -- Joshua J. Marine

Thanks for reading and have a great rest of your week!

29 JUNE 2024:

Lots of minor additions and fixes this week as the game is very near completion:

- After beating the game, player will get to see a stat screen showing how many enemies they destroyed.

- Battleships deactivate if they are a certain distance off-screen.

- Carrier fighters are slightly brighter for better color contrast.

- Cargo boss can scroll down the screen faster if the player flies forward. 

- Deleted about 400 lines of code by simplifying types and removing unused variables.

- Fixed bugs where objects kept moving when the game was paused. 

- Fixed bug where stars were not scrolling properly.


Still the occasional graphical glitch here and there, but so far haven't encountered anything game-breaking or that would cause an unfair player death. AI still needs some work and I need to verify the game still works at different resolutions.

I happened to see that Space Engine Pro (what I've been using for my space backgrounds) just got a new update where you take high resolution screenshots. Although it's tempting to take advantage of this I know it's just going to cause lag because I've already had to scale down or use lower resolution versions of some of the graphics.

QUOTE OF THE WEEK:

"Don't wait for the right opportunity, create it."

Thanks for reading and have a great rest of your week!

6 JULY 2024:



Lots of progress on a variety of things. Also doing lots of playtesting to see if anything is broken or needs adjusting.


ADDITIONS:

- New galaxy backgrounds to level 4 to make it feel less empty (see screenshot above).

- Galaxy scrolls in and out during level transitions.

CHANGES:

- Only one carrier spawns at a time now to prevent overlap and lag.

- Reorganized hit detection code based on current level.

- Black hole speeds away faster when final boss destroyed.

OTHER: 

- Copied the contents of this entire devlog (minus comments) to Word so that there is an offline version.

BUG FIXES:

- Shield down animation restart glitch when hit with single laser.

- Battleship 225 image misalignment between the top and bottom segments.

- Objects not pausing on pause screen.


A big thanks to everyone for helping this devlog to reach 20,000 views!!! As I was copying the devlog to Word I was also moved by all the supportive comments over the past 4 years. 


QUOTE OF THE WEEK:

"You only fail when you stop trying."


Thanks for reading and have a great rest of your week!

13 JUL 2024:

- Battleships and carriers deactivate if off-screen for a certain amount of time. This also fixed a bug where  level 5 never triggered.

- Continued working on AI system. It's getting closer to where I want it to be.

- Fixed game-freezing bugs and glitches related to the pause screen.  The game could only be paused by stopping all the code that made things move. A truckload of boolean checks took care of this, but was causing all kinds of weird graphical glitches. Next I tried a different approach and made a special subroutine that would only display the objects, but even that experiment was all kinds of buggy. Ultimately I went with a much simpler pause screen to avoid getting rid of it altogether.


QUOTE OF THE WEEK:

"Perfection is not attainable, but if we chase perfection we can catch excellence." -- Vince Lombardi


Thanks for reading and have a great rest of your week!

20 JUL 2024:

- Made quite a few last-minute fixes to the game. Some of the levels were noticeably laggy and the level transitions themselves weren't my favorite. But in the end I think it's better to have a smooth and consistent gameplay experience -- even if it means removing pretty graphics. So I removed the skybox backgrounds and the performance is vastly improved -- no more lag! There are still background objects (stars, asteroids, planets). I might add a couple more small objects in for variety.

- The asteroid field in particular got a complete overhaul. Instead of using an asteroid skybox, I procedurally created my own and the final result looks very good!

- Reworked all the level transitions so that one level seamlessly blends into the next.

- I'm finally happy with the AI.

- The game is more fun than I thought it was last week. You can stay around and shoot down the enemies or almost play it like an endless runner and avoid most of them.

- Added voiceovers.

- As far as running the game on my PC is concerned, the game is probably 99% complete -- a couple bug fixes and maybe some more background objects, but that's all.

- Tested Scrapship on my son's laptop and the experience is the same for the most part -- there are some bugs that need addressing, but nothing game-breaking.

- Scrubbed the code to fix some inconsistencies and bugs.

- Looking forward to finishing this thing!!!


QUOTE OF THE WEEK:

"Find radical joy in the hardest of pursuits." -- Eva zu Beck


Thanks for reading and have a great rest of your week!

27 JUL 2024:

- Not much to report on my end, just minor changes and tweaks here and there. For the most part I’m just waiting for feedback from early playtesters to see if there are any last-minute bugs or changes that need to be implemented.  So I don’t exactly want to call Scrapship done, but it pretty much is. Unless some major game-breaking bug pops up or something you can expect to see it by the end of August!

QUOTE OF THE WEEK:

“If people are not laughing at your goals, your goals are too small.” — Azim Premji

 Thanks for reading and have a great rest of your week!

3 AUG 2024:

Playtesting continues. Expecting to release the game sometime this August!

- The full game will be 100% free. No ads and no microtransactions.

- Apart from the initial download, no internet connection is required to play Scrapship. I love offline games.


QUOTE OF THE WEEK:

“Consistency is what transforms average into excellence.”

Thanks for reading and have a great rest of your week!

10 AUG 2024:

- Got some good feedback this week from one of my early playtesters. Good to hear that Scrapship seems to be working fine on other computers and -- most importantly -- no game-crashing bugs. 


- Game will be released sometime this August!

- The full game will be 100% free. No ads and no microtransactions.

- Apart from the initial download, no internet connection is required to play Scrapship. I love offline games.

- No AI was used in making Scrapship . Everything is made by humans.


QUOTE OF THE WEEK:

"There is no hard way around hard work. Embrace it." -- Roger Federer

Thanks for reading and have a great rest of your week!

17 AUG 2024:

- Adjusted final boss so that it needs to have both guns destroyed before it can take damage. This makes it a little more challenging because it was way too easy to beat earlier.

- Added a brief animation when the final boss appears (it warps in the same way that some of the cruisers do).

- Improved battleship and carrier spawning/despawning.

- FIxed an issue with the galaxy background not scaling properly.

- Added difficulty settings -- Easy, normal and hard. This is based on the strength of your weapons. Easy = 2x more powerful. Normal = 1x power, Hard = 1/2 power.

- Biggest milestone this week though was going through all 13,000+ lines of code and adding/removing comments. Was also able to find ways to simplify some of the code by consolidating several IF . . . THEN statements.


- Game will be released sometime this August!

- The full game will be 100% free. No ads and no microtransactions.

- Apart from the initial download, no internet connection is required to play Scrapship. I love offline games.

- No AI was used in making Scrapship . Everything is made by humans.

- Full source code will be available for purchase for people interested in modding or programming. Apart from donations, this is the only way the game will be monetized. Let me reiterate again that the full game is 100% free.


QUOTE OF THE WEEK:

"We don't stop playing because we get old . . . we get old because we stop playing!"


Thanks for reading and have a great rest of your week!

(+2)

24 AUG 2024:

SCRAPSHIP

IS

DONE!

Whew! What  to say?  It's always been one of my "bucket-list" goals to make my own game. Thankfully technology has gotten to the point where it is completely viable to make a video game on your home computer.  But what really got me started was finding a thumbstick with some of my old QBasic programs I made in High School . . . nearly 20 years ago. Then I found that there was a newer version of QBasic, called QB64, that allowed one to run their old code on newer machines. That was a game changer! After that, I found an excellent Youtube QBasic series by SchoolFreeware that covered all the new QB64 features. The final project in that series? A Space Invaders clone. That was enough to get me thinking about the capabilities of QB64 . . . and what I could potentially do with it.

Development started early 2020, just before the pandemic. Released a couple demos where I was just toying around with different ideas. Started the whole project over once or twice.  It took over 4 years -- but keep in mind I was only working on it an hour a day unless I was sick, on vacation or on one of my many business trips.

Scrapship is far from a perfect game . . . and there are LOTS of things that could be improved on, but I am proud of what I was able to accomplish. Some of which I would deem rather complex (for QBasic at least). For me, the most remarkable thing is that I even finished it, because the truth is that Scrapship was never my dream game. A cool game, sure, but not my dream game. The secret to staying dedicated to a project for such a long time is consistency. Small doses of it, in my case.  Motivational sticky quotes help.

But now that it's done, I'm super excited about the future of 40wattstudio. For one, I just got accepted to WGU (Western Governor's University) where I will be pursuing my bachelor's in Software Engineering (C# path). This is mostly to increase my employment chances as I'm currently unemployed. In my spare time, I'm looking forward to working on some "dream game" projects I have in mind.  I won't share too much, but I've always liked Skyrim (and its incredible mod support) and I've poured countless hours into various versions of Civilization. So something along those lines. 


QUOTE OF THE WEEK:

"Dreams are watered by hard work."

Thanks to everyone for their support over the past few years and for making this one of the most-viewed Devlogs here on Itch.io! Have a great rest of your week!

(+1)

Well done! I've enjoyed watching the development of scrapship, really motivational stuff!

Thanks Spacepiano, happy to be of encouragement!

(+1)

Looks like my notes for my game except its on actual paper and its so much that I have a folder RESERVED JUST FOR those notes. And thats just the notes for one game. 

There certainly is a nice simplicity to paper that makes it good for a variety of gamedev situations. I keep a pile of scratch paper on my desk. 

(2 edits) (+1)

You're inspiring, I had hard troubles in my life making me give up my space shooter project but I am so happy to see you reaching your goal :)

Glad to be an inspiration! Hope you're able to finish your game someday.

Viewing posts 241 to 329 of 329 · Previous page · First page