I didn't want to have to show the game off in its current state, but some people are being impatient, and are calling into question my status as a real game developer, so... fine.
Here's a cropped sequence displaying the main character tracking the cursor. The lighting engine is turned off, right now, because I'm working with my 'as-needed' method, only the player character interacts with the lighting engine, and the lighting isn't super duper imperative at this stage in development. Or at all. It's just a polish feature, really. Something that won't even be greatly worked on until the game goes into late alpha/early beta.
I'm aware of the squashed pixels. I was in the middle of fixing that when I was called out. They're relatively low priority, though.
The cursor looks like it does, and is animated, because I want to to be visible at all times, against all backgrounds. It's not going to be helpful to players who get caught in hectic firefights to lose sight of their cursor and waste precious seconds finding it. The sooner players can find their cursor in the midst of panic and chaos, the more fair their chances of survival will be.
Here's dat uber compelling inventory screen I talked about in my last post. Mmm, menu-y. Look, there's even an item in one of the slots!
Alright, sass aside, this is indeed the WIP inventory screen. It's designed to look like the character is viewing his inventory on some kind of cyberpunk smartphone. Yes, all of the slots work. I picked up only one item because in order to fill the inventory more, it would have just been the same gun over and over. As-needed, after all. I only have the one item programmed. This screen will be set up to display the player's heath as well as other important information. And now you know how I'm using that closeup of the main character that I created and showed off weeks ago. That will also be interactive and it will take you to another screen. That screen isn't complete enough to justify taking a screen shot of it, yet, so it's left out.
No, the phone doesn't run out of battery, for the eagle-eyed among you who are wondering. That battery bar is just esthetic. It doesn't do anything. It would be pretty messed up, in a game about guns, for the battery on your inventory to run out and leave you unable to access it.
A closeup of the item's stats-view sprite. The gun does work. It can be equipped, unequipped, picked up, dropped, fired and reloaded, but there is no sprite for the character holding the gun, and right now, the reload is broken. I'm trying to add in a reload timer, and this has left the action incomplete, so the gun no longer reloads. It doesn't quite make it there, anymore.
That's all I can show. All there is else to see, right now, is an incomplete character screen, and Bowser sprites from Mario Bros 3 to shoot at, and shooting at them looks and sounds like nothing. I'd just be standing there, and they'd just be standing there, and then suddenly, if I didn't run out of ammo before killing one, it would disappear. If I did run out of ammo, well, nothing would happen. The only real way to prove there's progress being made is to post screenshots of the actual lines of code. Unless you have a fetish for if-statements, there's not a lot non-devs are going to get out of seeing a line or two of code. Unless you know how to read code, it's just going to look like gibberish to you. Trust me, I know first hand. It used to look like gibberish to me.
For those of you who doubt me, there you go. I hope rushing a progress report was worth the disappointing lack of visuals. As-needed means AS-NEEDED. As in I don't make anything I don't immediately need. Since I've been focusing on making it possible to store things in the inventory so I can work on the equipping, shooting, and reloading aspects of the game, I've only made menu-based elements to promote meeting that end. I'm working on the things that will make a playable demo, not esthetic crap that will please skeptics and naysayers. Once the engine is functional, I'll start work on getting the game into a more visible state. See, what happened with my last project is I decided to make absolutely all of the graphical assets first, so I could build a visible environment to show off the game in. But that left me sick of all the monotony, because I had nothing to break up the work with. It became harder and harder to want to work on it until I just stopped being able to muster up the energy to do it. In this go, I have nothing to show because I decided not to do that. Having something to look at right out of the gate may appease skeptics, but it would crush the project and I'd have to start a new one, and never get anywhere.
For those of you who were willing to wait, thank you. I appreciate your patience and sticking around despite little to no evidence that I'm even working, or even a game developer for that matter. Yes, I do notice. Every time I log into my account, I see evidence of your daily traffic. Blog Visits per week are always higher than Unique Visitors per week, so I'm very aware that there are people out there who are checking in once or twice or more per week. And I'm grateful for you, your patience, and your dedication. It may not seem like much, to you, just stopping by the site, but it means quite a bit, to me. It means that even though I am slow, you still take the time to check, even if it's only for just a second before navigating away. It shows that you care even enough to check back in. I'm grateful for that.
I'm sure this post has gotten people wondering what I've even been up to and if I even do any work. Well, I'll give you highlights from my entire week worth of work in a nutshell, in descending order. If you want to read it chronologically, start with Monday at the bottom.
Today: I prevented the character sprite from the inventory screen from remaining on screen even after the inventory is closed. That's all I managed to accomplish before being pushed into making this post.
Yesterday: Stopped the inventory screen from overloading the game with repeated graphics. I'd overlooked part of the code and hadn't realized the game was spamming the screen with tens of stacked repeat sprites per second. Allowing this to continue would cause the game to slow down, the longer players were on the inventory screen, and inevitably crash if too much time was spent on the screen.
-Most of the rest of the work day was spent designing, animating, and implementing graphics assets for the character screen.
-The character sprite in the inventory was made to glow when moused-over so as to be more obvious that it's interactive.
Friday: Unequipping and dropping items was fully implemented as a feature. This was a struggle to complete as I was having difficulty getting the code to cooperate, and required a small-scale rewrite of the code in order to solve.
-Equipped weapons now automatically unequip when dropped, and appear on the ground at the player character's feet.
-Onscreen ammunition readouts for total ammo and magazine count were added to the HUD.
-Ammunition display was adjusted to turn red as gun nears the need to reload.
-Player must now be close enough to an item to pick it up.
-The game now displays "It's too far away." message if the player isn't close enough to pick up an item.
Thursday: Adjustments were made to the character sprite, taking it from being placeholder images, and making it into the actual character.
-Automatic reload was implemented. The gun now automatically reloads if there is ammo in the player's possession and the player attempts to fire the gun when there is no ammunition left in the magazine.
-Manual reload was implemented. At the push of a button, the player can now reload at any time, so long as they have ammo to reload with.
-The game now displays "Not enough ammo." message when players attempt to reload but lack the ammo to do so.
-Minor rewrite of the way guns and ammo are stored as data in the game's code.
-Enemies now react to being shot, by losing health and being deleted when health drops below 1. Enemies still have no AI.
Wednesday: A Markiplier video-binge break was taken.
Tuesday: Weapons can now be equipped from the inventory screen.
-Weapons can now be equipped immediately off the ground. Having the item in the inventory is no longer a prerequisite to equipping them.
-Fast-quipping a weapon from the ground adds it to the inventory and automatically equips it.
-Inventory slots now indicate when an item held in it is equipped.
-Game now displays "Can't hold more items." message if the inventory is full.
Monday: An 'exit' button was added to the gun-stat screen.
-A typo on the gun-stat screen was corrected.
-An error in the code that caused all inventory slots to be considered "equipped" even when empty, when any item was equipped by the player, was solved.
-Player character sprite was added to the inventory screen.
-Workday was cut short to play some Elder Scrolls 3.
I could go back all the way to the beginning of the project, provided I can properly remember the work-order, but I'm not going to, because the further back I go, the less interesting the work gets, until I'm getting to little more than: "Placeholder for player character was added. Placeholder sprite coded to turn and point at mouse as mouse moves." Or even "player character sprite created" or worse yet "project idea formed".
I hope that tides you over for a few more months and at least shows that work is being done. Tomorrow, I'm going to explain for people why there's nothing yet to see, in more detail. Not a lot of gamers know what goes on in the shop during a game's early alpha and late alpha stages. I'll use tomorrow's post to pull back the curtains and give you a look at what goes on during development. I'd release another post, today, but I've already wasted enough time that could have been spent solving that little reload issue I mentioned above.
Bear with me, I have a good feeling I'll be able to finish this game. It's a hefty project, though, and I'm the only one working on it, so it takes time, and for now most of the progress is completely invisible. But I'm getting there. When you play a game, what you're see is only 1/10th of the work. An enormous chunk of work that goes into a game is stuff you'll never see: the code, scripts that run what happens when the player is making actions, and debugging the code to make sure it runs mostly as intended.
I'll clear more of it up, tomorrow. For now, I need to get to work.