December 2016 Game Dev: 2D PCG Shooter

Ashes, I managed to fix a few bugs tonight but my git had been acting strangely.

On attempting to push my code or pull yours I would just get a message saying “already up to date” without anything actually being transferred.

I have since realised that for what ever reason I appear to be working on my local copy of the master repo rather than my branch.

What is the safest command for me to use to shift my current Changes from the ‘master’ checkout on my machine to my local branch without risking overwritting any of your work or lying my local changes?

I’m okay with releasing a solid, albeit vanilla / mostly-generic PCG shooter. That’s cool with me. We can release a “sequel” next month and spend the month experimenting with game design and mechanics. That’s cool with me.

But, this has to look Good Enough. I personally really like your art style. Mine is hideous, and doesn’t match yours; I’ll try to fix this.

As for git: ah, git, you rarely cease to be a thorn in my side.

I assume by “my local copy of the master repo” you mean “the master branch.” You can work on the master branch. That’s not a problem. And you should be able to push changes from your local master to the server’s master.

First things first: copy/paste the folder somewhere (including .git folder) to back it up so your changes aren’t lost.

I think the problem is that you’re working on a detached head (read: checked out a previous revision and never went back to HEAD). To figure out for sure, you can try: git status. It should tell you which branch etc. you’re on.

If you’re not on a detached whatsit, you can try merging the current branch (git status tells you what it is) into your branch:

git checkout severok
git merge whatever (eg. git merge master)
git push

Let me know if this doesn’t suffice.

Three Hours Later: It looks like you weren’t able to get this to work. It’s 4am where you are, and I don’t see any commits :frowning: Please let me know if I can help you in any way.

Jazakallah, I was hoping it was as simple as that.

I will quickly merge it with your work now.

@ashes987 when was the last time you pushed your branch?

If I attempt to pull or merge your branch, it just states that it is all ready up to date.
When I checked out your branch I was able to merge mine to it without any issues, but not visa-versa.

Does that mean that your branch hasn’t changed since our last merge?

I fixed a few bugs in the last push, most notable including:

  • Various performance patches

    • AI now has target selection cooldown. Evaluating its’ target selection once per second rather than constantly. (Needs to be able to re-evaluate incase the conditions change ie NPC dies or player runs away).
    • Basic bullets for some reason calculated their trajectory every frame instead of just on spawn.
    • (remaining major source of slowdown appears to be code attached to user input, updating player vector, applying drift/acceleration, etc)
  • Bullets now only add collision effects (Sprite + sound) on screen.

  • Fixed bug with objects processing multiple times on death (IE NPC adding multiple crew, bullets spawning 2 sprites, etc)

I will be correcting the player screen wrap/warp and melee related glitches soon. I will also continue the melee and linux based sound glitch before attempting to push extra content.

I pushed my branch recently (yesterday, perhaps). I also merged my branch with your branch (and vice-versa) a few times already. I had to manually resolve conflicts once or twice, but generally, they merge trivially (no work required). You shouldn’t have even noticed.

You can see branch info here: https://github.com/MuslimGamer/Dajjals-Prison-of-Doom/branches

I’ll check in later.

I wish I had to deal with you at work.

I submitted some revised code to a subcontractor last week that he had to merge into his git.
He invoiced me $200 for it.

1 Like

Signing out.

I had a choice of a great tutorial or a quality game. I chose a quality game and slapped together the tutorial. I hope the game is easy enough to understand and pick up without a better one (the only thing is, how does the player know what an escape pod is? It has to REALLY stick out as “not an enemy” somehow.)

Bugs, bugs, bugs! Let’s squash those bugs! I didn’t realize you lose crew members sometimes when you die. That … sucks.

I:

  • Finished the tutorial; and added mouse support
  • Stopped NPCs from spawning first (or when there are no enemies – side-effect)
  • Added npc-pickup audio
  • Helped BloodMoney get his game to run from code
  • Deleted a bunch of dead code
  • Added a game over noise

I’ll work on the final story stuff (next, skip, and You Win!) and the Game Over screen bug next inshaAllah. I already started researching the game-over bug (hence the sound + cheat codes).

So far I have not considered any of our object art assets (Player, NPC, Enemies) to be the deliverable art. Most of them are place holders (EG, the player ship is literally just a triangle and the npcs are dots.)

I’ve mentioned since they were first created that the current sprites are place holders waiting to be replaced.

There is currently a 33% probability of losing 1 crew member / hit…
I liked the idea of the bonuses being a reward for good play, IE chaining successful collections while avoiding hits, so reciving a hit should remove some of the gained advantages forcing the player to play harder to reclaim them.

The only issue I have with these features is that they’re not discoverable by the player. The only way to make them discoverable is to add more UI. I added tasks for this. Can we finish the existing workload before we add/change anything more?

I’m literally panicking about how we’re going to finish this by end-of-day tomorrow. We need the buffer (1-2 days) to thoroughly test and, perhaps sadly, do all the art ourselves.

What do you mean by not discoverable?
There is literally a crew count that the player can see increase and decrease as they pick up crew and take hits.

The specifics of game mechanics are usually things that players pick up though experience and experimentation, or sometimes a wiki which is populated by things that have been worked out by more experienced players.

I am working on a few of the remaining bugs as well as some of the art assets.
You mentioned in the git that the planets might need to be replaced with pixel art to better suit the existing art style.

I can a quick misc object to briefly outline the players current bonuses on crew rescue, IE:
repair + / Speed ++ / Fire-rate + / Ammo resuply +
Either a colour coded message for each attribute or attribute labled as + or ++ as above.

It would be pretty easy to throw together a quick image grid will each attribute, then just reference the sub-image location using the crew count. and use that to spawn a misc image on the side of the screen that updates the image colours respectively

In UX, there’s this concept of “discoverability.” For example, if I show a row of grey icons for weapons, and the current weapon is a different colour, uses can discover that there are other weapons they can use. We leave them, essentially, a breadcrumb trail.

Some of our features are not discoverable by any means:

  • Which thing flying around the screen is a rescuable NPC and which is an enemy
  • The fact that your ship is now regenerating
  • Damage rate up, fire rate up
  • Crew loss

I argue that crew loss is not discoverable, despite the crew count, because in the middle of a heated battle, I’m looking at my ship, not glancing at the crew count to see if it’s changing. I may discover it by looking at the pre/post battle values, but only if I expect it to change. Why would I expect it to change?

You are a pixel art wizard, mashaAllah tabarakallah. But, the image looks blurry; can we go with the old methodology of “draw it small and scale it up (no-scaling) to 4x”? That gives a pretty awesome pixel-art look.

We’re not popular enough to garner a wiki, and it’s not on my TODO list. I’d rather have a self-standing game than one that’s puzzling until you read the wiki. (TL;DR: 20-30 years of industry experience suggests that almost no players ever read the game instruction manual.)

Can do on the pixel art, but I draw the initial image pixel-by-pixel so it will take longer.
Edit: Read that backwards… So you want me to make it small than scale it up to really make the pixels stand out.

I got pretty good at drawing pixel circles back in my minecraft days.
The image shading for shadows is just a little image region isolation and darken/lighten brush in GIMP.

I picked up a new peice of software for making GIFs today. It also lets me make image grids rather simply.
As an experiment I made a new player ship art asset.
The sprite has 4 thrust ports that light up based on how the player is moving.
Rear left + right for forwad, Front left + right for backwards, Front left + back right to spin on the spot ect.
I am using an image grid to load in the image then a small array of if statements to determine the ship movement behavior from player input before updating the sprite if required.

Works perfectly.

If we had time to really polish the graphics, I would make it a 5x7 grid where the X-axis has the ships getting progressively more damaged then referance that dimension using the player health.

That should hopefully be without any blur now

1 Like

Do you approve of the new ship design?
Or should I revert back to the primitive triangle with the thrust effects to maintain the retro look we have going so far?

It looks positively smashing. Great work!

Project manager hat back on: if you take care of the art, I can finish the tutorial and bugs. If you’re done first, instead of adding new art features (eg. ship thrusters above), jump back on bugs please.

I approve of the new ship design. My PM methodology with new ideas is “wait! don’t do that yet!” but if something is already done, it’s done, ship it!

Honestly I was itching to try out the new software.
It is mostly for animating gifs, so if I can I might add a simple wing-flap animation to the fly enemy.
…if there is time…

Anyway, signing off the the moment.
Today I mostly took a run at the art assets and looked into incorpating more dynamic images into the sprites along with some minor bugs/tweaks.

I still want to finish off the my shield and the screen warp bug, Insha Allah tomorrow.

Tomorrow I will mostly focus on polishing the art assets as best I can and I will add a little ship status notification indicating to the player what passive upgrades they currently have.

I am imagining a 2x2 grid of boxed text (sprite):

Repair-Crew         Engine-Boost
Fire-Rate           Reload-Rate

Colour coded from Invisible -> Red -> Amber -> Green to indicate upgrade status/level.

I can set up an image grid as I had done with the ship, and switch the image region on crew retrival to display the corrrect colour combination for the current ship upgrades.

If you like I can also swap out the player health and ammo counters for a visual representation.
Like an emptying clip.

If you have some ideas, I can take a run at re-doing the whole HUD in such a style

I’d rather take the simple approach (one day left?!?) and toss your ship status and 2x2 grid out the window. I can get away with (as I added on GitHub) spawning a small text that floats upwards and fades away at the appropriate moment, indicating:

  • Crew lost
  • Regeneration
  • Attack power up
  • Fire rate up

That’s Good Enough, IMO, to ship. What you’re suggesting, may still require thinking/understanding, so we can ship it if there’s time. Your planets look awesome to me; no need to redo them at a quarter the size and scale up.

If you want to focus on art, please do away with those horrible lens-flares I made. For the starfield, adjust the brightness and contrast (brightness -50, contrast +20) to remove stars until it stops looking noisy…


Roketfiq’s on board. I updated GitHub with the art, in order; he’ll work top-down, we’ll go bottom-up. I saw your note about annoying planets/scale: my plan is to make them more “faded” (decrease saturation and/or blackness) so they fade into the background. Ditto for the nebula. Leave that to me inshaAllah. I would LOVE huge planets that dominate, to give that “unique” feeling.

Let’s keep focused on bugs and finishing the intro for now. Tick, tock…

I can Fly!

(Transforms into Super-Saiyan 4 out of pure Project Manager Rage)

NoooooooooooOoOoOoOooooO!!!

Srsly though, can you please … put…the paint app down… and walk away. We have bugs to fix still :confused:

Relax. That is supplementry, not replacing other work.

I was feeding my son and could not afford the attention to debug things, so I spent 10 minutes animating the fly instead.

I am selecting tasks to maximise my achivements with the time and obligations avaliable.

Could you please add a config toggle for animation? Something like enable_animation which defaults to False. You can flip it to True while testing (but not check it in plzkthx).

I showed BloodMoney how to tweak the config file so I’ll let him do some balancing and take his input as “game design fixes.” I plan to move more stuff into config (whatever I can, really – any hard-coded values) to give him MOAR power.

P.S.

By the way, that planet you made was absolutely gorgeous. How did you make it?

Also, the player’s ship – black with a white outline, meh, probably not the best of choices. Something bright-coloured would be more visible.

Today’s the 29th. The sun sets on the final day of feature work, inshaAllah. If you can wrap up the bugs… I’m 15 hours behind you, so I get +15 hours to wrap up tutorial + bugs too. That gives us a full day to play-test, balance, iron out any kinks, and launch on time – perhaps with art from @roketfiq, if he pulls through.

Let’s do this.


Clocking out. I almost, almost got the tutorial tasks done. Just need another 10-20 minutes inshaAllah. Tomorrow inshaAllah.

Bugfixes please?

I will be back to work soon.
I was spending time with my family today, but tonight I will Insha Allah be tightly focused on the remaining bugs.

For those intrested, my pixel art planet is drawn in 3 stages.

Using GIMP, make a blank image (60x60, transparent background for this image). Set grid to visible and grid spacing to 1 pixel / 1pixel. This gives you a reference to make sure you are drawing the pixels in the right places and everything lines up right.

  • Draw pixel art circles for the planet and craters
  • Circles are very easy to draw, starting from the top centre, just count out how many you need to draw across before dropping down. (EG, right 3, down, right 2, down, right 1, down…) There are easier ways, EG the circle tool, but I learned by playing minecraft so it is natural to me.
  • Fill the planet and craters with paintbucket tool. The colour pallet I more or less copied from the original file.
  • Using the GIMP pencil tool:
    • Set the colour to white
    • Set Opacity 10 - 20%
    • Size ~ 10 pixels
    • Use wand tool to mask a section of the image by colour (Selecting planet surface or craters).
      • Starting from a few pixels outside of planet boundry, drag pencil around 1/4 of the planet (Used original image as reference for where).
      • Repeat previous step with smaller and smaller radius.
      • Areas reciving multiple passes will be brighter, giving the a nice gradient lighting effect.
    • Repeat above process for crators, reversing the pattern so the corner makes a darker cresent for the crater shadow.
      • Start from center, drawing the crescents negative space.
      • Repeat moving further from the darker crescent.

I wanted to maintain the colour pallet of the previous ship, Black ship w/white outline. It also felt practical as the general rules states that White text with a black outline is readable on any background

Now for actual work (My son is not due to sleep for a few hours and he has no coding experience outside of the time we wrote ‘Hello World’ with his crayons, so it will be slow going at first.)