2 April 2018Disregard the last post. Yearly tradition and stuff.
1 April 2018I've given up on this game. Sorry guys.
1 December 2017
- Added map #11.
- Fixed several small issues involving data not being sent over the network when it should.
- Network errors are now displayed where players can read them.
1 November 2017This update is the first closed beta release! If you want a copy of Battlement, go sign up on Patreon and make a pledge. $1 lets you download a copy of whatever the latest build is. If you want updates, stay subscribed.
Changed since last update:
- When foxes enter a square at the same time and bounce off each other, both animate now instead of just one of them, which makes it slightly more clear what exactly is happening.
- The time window for this happening is also now 0.1s, up from 0.09s.
- The minimum respawn time is now 1.5s, up from 1.0s.
- When pushing more than one fox in a row, each push only moves the last fox in the row, thus making it slightly safer and more effective to bunch up with teammates.
- Adjusted the countdown animation and sound.
- The lobby is rearranged so stuff doesn't overlap in TV mode.
- You can end a game in progress by holding the back button for 4 seconds. I'll add a paws menu with an "Are you sure?" confirmation when it becomes important. As it is, I've only ever needed to end a game in progress a few times.
- Added basic support for network play! So far it's rough around the edges but it gets the job done.
- The walls and cliff faces are more differentiated from each other. Before, people occasionally had trouble telling the difference between a pit and a pillar. The pits now look a little more pit-y.
1 October 2017I've entered Battlement into the Independent Games Festival competition. I'll find out in early January how much the judges like it. The only major change this week was that the instructions are now in the form of a diagram so they're easier to understand.
24 September 2017
- A few new events have sound effects: The countdown, a cursor moving in the menu, a fox falling off a cliff, and a fox being prevented from throwing himself or an ally off a cliff.
- When foxes enter a square at nearly the same time in opposite directions, they bounce off of each other. Before, they would only bounce off at right angles. No changes when they are already next to each other.
- Press the back button after you've removed your controller from the lobby (also by pressing the back button) to exit the lobby and take everyone back to the title screen. No need to ask everyone to press their controllers' back buttons.
- The terrain graphics are slightly more detailed.
17 September 2017
- Some small tweaks and a few changes under the hood but nothing substantially visible changed this week.
10 September 2017I played Battlement with new people this week. They said things like "when do I get my copy?" This means I'm getting close to an initial release. No promises as to when it will be.
- The movement of the foxes is slightly more abrupt than before. Faster movement animations more accurately show the current position of a fox, which may make the game slightly more playable in some cases.
- Foxes who enter the same square at nearly the same time from right angles bounce off of each other instead of what feels like one of them taking priority at random. This may make some types of fights, especially bridge battles, more interesting.
- Pushing a friendly against a chasm no longer creates a wall impact sound.
- The volume control works on music now.
3 September 2017A record-setting hurricane sat on top of my city this week... and failed to make me stop working on this project.
- Added music!
- Energy meters no longer move with the small shaking animations of foxes pushing each other so they're a little easier to read now.
- The title screen has a graphic on it so as to make it more colory and shapey.
- Some of the old placeholder sound effects are replaced with new sounds that sound better.
- Tweaked map #1 again.
- The app has its own icon now instead of just using the system default.
- The volume setting is displayed in a manner that's easier to read. It was easier to code too.
- Foxes make sounds when they bump into walls. It makes the walls and foxes feel more solid.
27 August 2017
- Added maps #9 and 10.
- Made map #1 a little less uniform and montonous.
20 August 2017
- Foxes move slightly in the direction you input even when their path is blocked so it looks a little better when pushing another fox against an obstacle.
- Added a pattern to the background to make it slightly more interesting visually.
- Using a new font that fits the rest of the theme a little better and is less generic than what was on the menus and instructions before.
- Removed the buttons from the lobby that could only be operated with the mouse. Exit the lobby by disabling all the gamepads.
- Fixed an issue where some of the terrain at the edges of a map would get clipped. Now the camera can zoom in closer in some cases.
- The terrain is slightly less blurry on high-resolution screens.
- Team selections are no longer lost when switching maps or ending a round.
- There's now a distracting, glowing reminder in the lobby to ready up.
13 August 2017
- The app keeps the screen awake, just like it keeps you awake at night. Gamepad inputs don't reset the screensaver timer on Windows or Mac OS. Games have to handle that themselves.
- Keyboard inputs work without first clicking on the window.
- Impact animations have a directional element now, so it looks slightly better when foxes are pushed into walls.
- Disabled the rumble events for movement and falling because they weren't working consistently.
- Differentiated the team colors a little more so people stop attacking teammates.
- People kept asking me if the walls are pits or trap doors or something. I made them look a little more wally.
July 2017I needed a break!
25 June 2017
- Made small adjustments to graphics.
- Made another small adjustment one of the walls on map #3.
18 June 2017
- Reworked map #3 a little. Maybe the new wall positions will be more interesting.
- Trying out a new art style. Notice the new wall shadows, which turned out to be as simple to add as reusing the same algorithm for picking which tiles to render as the walls and cliffs.
11 June 2017
- Players automatically join teams when entering the lobby for a new match.
- Images loaded by the file watcher are parsed and preprocessed so they have the correct scale and registration points.
- Tweaked map #5. The long, narrow bridge to the east was a death trap that no one used. Now it's wider.
- Tweaked map #7. The narrow dead end at the southeast could lead to repetitive, stale gameplay.
4 June 2017
- Added another map.
- The name of the controller of each player is displayed in their respective menus.
- Fixed a few confusing quirks in the team selection menus. I'm still not done yet. User interface programming is hard.
- Added a file watcher to reload image assets while the game is running. This doesn't affect gameplay but it will make graphics development easier.
28 May 2017This week I demoed Battlement at a game development meetup and had 8 players playing in a single session together and they appeared to enjoy themselves. The only issues were that it's difficult to know which fox is yours when so many are on the screen without labels and it's difficult to know which cursor is yours even with labels. Having 8 players share one laptop screen didn't help. There were no crashes or other unintended behaviors, however, that I could tell.
- Finished making the gamepads control the user interface. Now the mouse can be unplugged or left out of reach if convenient. Maybe console support will happen some day. Maybe.
- The background color scheme changes depending on whether a match is in progress or not.
- The energy meters used to spend one frame at the origin of the map before their positions were updated to match the fox they were attached to. This was only visible on Sumo Map #2 as far as I was aware. It doesn't do that anymore, not that I need to announce this because I'm sure I was the only one who noticed.
- TV mode has two gradations instead of just one setting in case some TVs are more TV than others.
- Small revisions to Sumo maps #4, 6, and 7. They have more variety and fewer dead zones where little action took place because of their relative safety.
21 May 2017
- Making the gamepads control the user interface without intervention from the mouse. Not done yet. UI programming is more work than it looks like it is.
14 May 2017
- Small tweak for Sumo Map #6 - there was a region that was too safe to stand still in, which led to camping.
- Added on-screen instructions.
- Team assignments are color-coded so it's easier to see how many players are on each team.
- Toggling TV mode wasn't making the viewport resize correctly. Now it does.
- Reimplemented as much keyboard support in Rust as is practical for the time being. Now two players can play on a keyboard at the same time with arrow keys and W/A/S/D.
- Created this development log.
7 May 2017
- Finished replacing the old gamepad API. I've tested the Dualshock 4, Xbox One S controller, Xbox 360 controller, Logitech F310, and a pathetic imitation of the SNES controller on Windows and Mac OS X. The best one for this purpose is the Xbox One S controller. Unlike the Dualshock, its PC/Mac drivers support activating the rumble motors.
- The number of supported gamepads per machine is now approximately not 4. I don't know what the limit is yet but I've had 9 gamepads plugged into one machine and they all worked.
- Added haptic feedback. When a fox pushes you, you feel it!
- The right thumbsticks of all of the controllers work now so using the double thumbstick technique isn't limited by finding the right controller.
- The dead zones for the joysticks are much larger than they used to be. Everyone who uses them appears to be making way fewer moves by accident and playing with the joysticks is less about just being fast and more about making the right moves... fast.
- I finally figured out what was causing the game to periodically crash and revert to the title screen: I was starting the processes with a function that buffers all of the output from the processes and terminates them when there is too much output buffered. Now the output is discarded after it is processed and gameplay won't be interrupted anymore. It took me a long time to figure this one out not least because I was looking in the Rust code for the problem. Silly me.
- Added another map.
30 April 2017
- Mostly replaced the HTML5 gamepad API with the SDL2 gamepad API. Not quite finished.
23 April 2017
- Fixed the spawn point selection algorithm so you don't reappear right next to enemies or overlapping them.
- Added a "TV mode" so the edges of the user interface are not cut off by TVs.
- Fox movement animations are a tiny bit faster. The "real" positions of the characters still only update as fast as you input the moves.
16 April 2017
- Added sound effects for switching teams, readying, unreadying, winning, and pushing.
- A button on the GUI toggles between fullscreen and window mode.
- A button on the GUI alters the volume.
- Filled energy meters flash like unfilled ones do so you know your regeneration timing without having to make a move to see your energy recover.
- Added 5 new maps. This version of Battlement is the first version to allow you to pick which map to play on.
- The game auto-advances to the next map after a match ends.
- Foxes respawn farthest from the current positions of their opponents instead of farthest from where they died.
early April 2017It was during early April that the new version of Battlement became interesting to play for the first time. Sumo Mode (the only mode implemented right now) is actually more fun than I remember it being because of a few things:
- Pushing only costs 1 energy instead of the 2 it used to cost, which makes it easier to understand what you are capable of at any given moment.
- The energy meters are way easier to read. Energy markers don't overlap so you can see all of your energy at once and they're in groups of 4, which seems to fit into our brains a little better than the old groups of 5.
- Instead of everyone recovering energy at the same time, each team waits a half second after the other team, so when everyone is out of energy, the players that move next are decided by the energy recovery cycle instead of who has better timing or who button mashes faster.
- To my surprise, gamepads don't make the game less fun. In fact, using both thumbsticks together lets you pull off more elaborate maneouvers before your opponent(s) can react, encouraging more initiative and less camping.
early February 2017I started rewriting Battlement in Rust in early February. This should only take a few weeks ...right?