Fine-tuned the level structure; now it's easier to obtain items for the selected build in the first 2 levels.
Adjusted the attributes of a large number of items.
Fixed the fire particles to spawn at the exact impact location on aircrafts
Tweaked the enemy AI again. A little bit.
Added some debug functions. Will be removed prior to launch
Received the first "coming soon" trailer. This is lit!
Removed the debug info from the ingame UI
Made the control hint window hideable via the F1-key
Implemented the damage model! Now the plane reacts to where it is hit!
Added a damage indicator to the ingame UI
Added particle effects to the impact location of projectiles
Messed up the effects when aircrafts are shot down. This will come back. Promissed.
Added limited ammo (both primary and secondary weapon)
Added UI information for the ammo available
Tweaked the enemy pilot AI. Now it is a bit to weak. Working on that.
Tweaked the enemy AI
Taught the enemy AI how to take off and land
Taught the enemy AI how to follow waypoints
Taught the enemy AI how to follow a squad leader (in formation)
Taught the enemy AI to change formation if needed
Taught the enemy AI how to attack other airplanes
Watched AI aircrafts shooting each other out of the skies. For hours. Literally.
Taught the enemy AI to do do some serious close range dogfight
Tried to fight the enemy AI. Got shot down immediately without standing a chance. Every. Single. Time.
Realized that either the AI is way too good, or my flight skills are way too bad
Decided that it MUST be the AI's fault
Spent hours balancing the AI to be not too hard but still serious opponent
Fixed a bug where playing with different frame rates could break the physics
Taught the AI some basic pathfinding in 3D space (will be used later down the road)
Built a new menu screen (just temporary, but it is fun to watch the airshow)
Added some menu music. Just for fun. Not sure about this. Let's see...
Changed the way the physics of the MG projectiles is simulated
Implemented a basic damage model for the aircrafts
Tweaked the collision detection for the projectiles
Made aircrafts destroyable
Downed the first AI controlled enemy aircraft
Realized that downing AI controlled enemy aircrafts is a lot of fun
Downed the whole squad
Spawned a lot of more enemy aircrafts
Had a lot of fun hunting them
Wasted a lot of time downing even more enemy aircrafts
Crashed into a chair
Downed some more AI controlled enemy aircrafts
Realized that I should implement their ability to fight back. Maybe later.
Did some smaller stuff
Debugged some colliders
Debugged some audio attenuation issues
Implemented the math required for an autopilot
Implemented some basic AI (currently it's mostly waypoint following)
Added enemy airplanes!!!
OK, currently the enemies don't react to you, and you can't shoot them. Yet.
But this will change soon, as the core mechanics for this (and for some rather intelligent enemy bahaviour) is nearly done.
This is going to be fun!
Fixed the spawning of the players who are not playing on the host directly
Fixed the GUI (instruments, overlay, ...) working again
Activated the 22m machine gun again. For fun reasons.
Did a lot of work in the background regarding mulitplayer replication / prediction
Started to design a game logo (still work in progress)
We are back!
After **a lot of** trouble with mulitplayer implementation, now the game is completely rebuilt from scratch. We are at a state where we can start to add new features. Finally.
Temporarily removed the 22 mm machine gun (for safety reasons, of course)
Added a whole house to explore (at least the whole ground floor)
Added **a lot** of new game assets
Reworked the physics to feel a bit more realistic
Made the camera follow the airplane more smoothly
Accidentially set the table in the living room on fire
Finally fixed the cameras habit of clipping into the ground (this one annoyed me)
Added bacon to the game!
Added mirrors to the game (they might play a role later down the road)
Added checkpoints for the race mode (not functional, yet)
Made the engine sound be dependent not only on engine rpm, but on airspeed, too.
Added an ingame settings / palyerstats / invitations screen (not functional, yet)
The whole arena is still really, really unfinished. There is a lot of work to be done. But we are finally making some visible progress.
We have had a major set-back due to my evident lack of ability to assess the importance of getting the games architecture right before building content. Long story short: The initial plan was to get the game loop running, test out wether it is fun to play, and if so, add multiplayer support.
Well... turns out that in Unreal Engine, multiplayer is not a feature, but a fundamental design decission. I ought to have known that, given all the years of programming. But somehow I managed to ignore this fact. After several weeks (honestly it have been months) of trying to get it working, I ditched all implementation an started a completely empty project - and rebuilt the game from scratch.
There were some versions I put on Steam, but in a different branch, to be ablte to test some multiplayer stuff, server synchronisation, motion prediction, replication - all that stuff you don't want to know about while playing, but that has to be done right in order to make the game work as intended. Those versions (Alpha 0.7 - Alpha 0.9) are nothing you should waste your time with, so I didn't make them publically available.
But now Alpha 0.10 is around the corner. Still **a lot** of work to be done, but we are at least nearly there where we left off with Alpha 0.4.
Have fun exploring. More things to come soon.
A lot of bug hunting. And by "a lot", I mean... well... a lot.
On an unrelated sidenote: If the UNREAL documentation says "download and install the latest Steamworks SDK", they do not really want you to install the latest Steamworks SDK. They want you to download and install the latest Steamworks SDK **they themselves used** for the latest Unreal Engine. A small detail that cost me about 10 days of troubleshooting before realizing that the error was not on my end. At least I learned a lot along the way.
And then I decided to start implementing a nice little feature known as "multiplayer". Turns out multiplayer is not a feature, but a design concept. I **should** have known that already, but for some reason I didn't act like I knew it. Long story short: I spent 4 months (in words: FOUR MONTHS) learning about
the concepts of multiplayer in Unreal Engine
how to implement them
what I did wrong in my initial implementation
that I should start over from scratch
that I do know **nothing** compared to what I should know
After a long time with many test-prototype-just-to-see-what-happens-experiments I started a completely new, empty project and began implementing Toybox Aces from scratch. That's why you didn't her from me for a while.
So what did I do:
Threw away the complete game (except the design elements like models, textures, sounds, ...)
Build a brand new game with empty game loop
Added a rudimentary main menu (basically a start button)
Added the test level "Kids Room 1"
Rebuild the Test-Aircraft to work with multiplayer physics
Messed up badly regarding movement prediction and client-server-communication
Just a quick upload of features I partly built in December, but didn't put them into the Alpha release until now.
Played around with lobbies, invitations, Steam SDK and NetCode
Added first dialogues for managing the multiplayer matchmaking. Still inoperabel.
Added Support for PS4-Controllers (currently only tested with Dualshock USB)
A long, winding road before our feet.
Fixed the mesh of the spinning propeller
Fixed the sound atteunation of the engine sound so distant objects sound less loud
Tweaked the flight dynamics. Still some work to do with the glide dynamics
Added some... functionality... to the 20 mm cannons. Still no impact, but working on that.
Fixed the version string in the main menu to reflect the dev branch
Did some minor changes during the last days, but no real progress.
Started to add visuals for the propeller (both slow and fast moving). Still work in progress
Added glas panes for the windows. Currently installed in one window only.
Optimized some shaders to increase performance
Increased the engine power of the plane by 50%. At least for now.
Played with different colors
Added some decorative elements... like a closed cloud cover
Played the game way more than did actual development
Multiplayer! Well... at least the first steps towards multiplayer.
Played around with multiplayer support. Oh dear, we are faaaar from a finished game
Added some more aircraft color variants
Added access to Steam friends avatar pictures (just to make the menu look a bit nicer)
Got the Unreal Engine NetCode to run with Toybox Aces.
Flew around the kids room - with multiple planes simultaniously.
Added some really simple main menu
Added a really simple logo for the main menu
Implemented some functionality to obtain the Steam friends list (for multiplayer invitations)
Today the first Alpha build hit the Steam repository. It is only visible for a small group of testers.
No, we are not using the SteamSubsystem or stuff like that. It is the bare metal SteamSDK. A lot of hazzle to get it running at first, but then the possibilities are... well... it gets a lot of done.
Integrated the game into the SteamSDK
- Played around with clouds and cloud covers. May be there will be some... weather... in the kids room
- Changed the input system to enable user defined input devices (like controllers / joysticks / ...)
- Did some geometry celanup to avoid overlapping geometry and unnecessary triangles
- Again had to look up which consonants in "unnecessary" have to be doubled and which not
- Added an artificial horizon instrumentation
- Wasted several hours searching a bug, only to discover that in one formula I confused pitch and yaw
- Fixed an error in the avionics formulae. Now the aircraft can properly glide without engine
- Realized that the project wasn't fully integrated into version control. Fixed that.
- Ate way too much
- Separated level structure (walls, floor, ...) from furniture and decorative elements
- Added some toy cars
- Added the toy train and some decorative elements
- Added those little plastic bricks most of us know from those Danish toy brand
- Made the first attempt of adding some weapons to the aircraft
- Added clouds! The are a bit costly in terms of performance, but... hey, we now have clouds.
- Made the kids room a bit smaller to make it feel more cluttered
- Made the camera perspective fixed to the airplane to avoid motion sicknes
- Flew around in the kids room way more time than I'd like to admit
- Nearly got scammed by some Nigerians. Damn, they are getting better every day! Stay sharp.
- Implemented some basic HUD (ugly as heck, but hey, this is a prototype)
- Implemented the rudder as working control surface. Now you can strave and slipland, if you want to
- Experimented with different camera perspectives to optimize the follow mode
- Got motion sick while playing with a wobbly follow cam on a huge monitor. Not recommended.
- Added engine sound and made its volume and pitch depend on the airspeed and throttle.
Took some time to set up the new project and wrap my head around what it should be like.
But now it is here. Say hello to "Toybox Aces" - an action loaded 3D-multiplayer-air-combat-simulation with tiny toy planes, wreaking havoc all over the kids room.
Get ready to see furniture from a different perspective!
As you may have guessed after playing Gravity Force, this game is heavily physics driven, too.
So don't expect the aircrafts to be controlled "arcade style". They do obey to the laws of physics, and are driven by forces like thrust, drag, lift and whatever the control surfaces (aileron, rudder, elevator, ...) may produce. So you might need some time to become a flying ace. Or even a decent pilot. Or someone who doesn't crash immediately. But you will get there. Promissed.
The project just started, so don't expect to see too much yet. But we do have plans. And planes, too.
- Set up the project
- Did some conceptual stuff. A lot.
- Did some planning stuff
- Thought about ways to downscale the physics to make it look and feel right
- Built a first prototype as proof of concept for the physics model
- Built a first test airplane
- Built a simple room as test arena
- Tried to figure out why the plane does not behave like it should
- Narrowed the root cause of the weird behavior down to the implementation of the elevator
- Tried to fix the elevator
- Got mad and deleted a huge chunk of clunky, messy code that was meant to do the physics simulation
- Got even angrier, put the game aside for a while and went for a walk.
- Suddenly realized that the calculation for the elvator was absolutely fine, and the error was in a totally different place
- Fixed that error within 5 minutes
- Restored the deleted code, and looked in awe at a perfectly flying miniature airplane
- Went to bed, knowing that tomorrow will be a day with new things to be completely messed up