Finished! Not the final release, but the entire engine is in working
order! All bugs are fixed, all features are added, all that is left is
code cleanup and packaging!Of course I expect there to be a few
bugs found later on (almost all to do with the moving platforms
(uggh...)), but any that arise should be easy to fix, and shouldn't be game breaking.
Source code (.gmz):
Physics+engine+1.4.0.0.gmz
Windows (.exe):
Physics-Engine-Default-1.4.0.0.exe
Update logs:
1.3.0.1 log:
New Features:
- Dynamic/dynamic collisions
Tweak: Moving platforms now have better velocity calculation in some situations.
Note: Just some minor changes, the dynamic/dynamic collisions still need better velocity calculation.
1.0.3.2 log:
New Features:
- Dynamic/dynamic collision physics
- More directional-through platform options
Bug Fix: Platforms now allow full slope calculation if created with dual axis collisions (can collide from right and top, left and top, right and bottom, etc.)
Note: Very close to final release, just need to fix some bugs and it's done!
1.4.0.0 log:
New Features:
- Even more directional-through platform options
Tweak: Better dynamic/dynamic collision physics (friction with dynamic/dynamic)
Bug Fix: Platforms now allow full slope calculation if created with dual axis collisions (can collide from right and top, left and top, right and bottom, etc.
Note: Code is still a mess, but the engine works the way it should.
Programmer's Projects
Wednesday, 21 January 2015
Friday, 16 January 2015
[Game Maker] Slope Physics Engine UPDATE v1.3.0.0
Added some new platforms, one-way and moving (both in one case). The moving non-one-way platform still has some problems, but it works.
The code has gotten quite messy, and I need to do quite a bit of housekeeping, but I'm intending to do that after I've finished the engine (after I have finished the moving non-one-way platform and added dynamic/dynamic object interaction).
Source code (.gmz):
Physics+engine+1.3.0.0.gmz
Windows (.exe):
Physics-Engine-Default-1.3.0.0.exe
Update logs:
1.0.2.6 log:
New Features:
- Bouncing
- Better walking force (Obeys the laws of friction better, still not the best, though)
- Automatic view zoom
Bug Fix: Fixed bad vector change when going down a hill or off a cliff (would angle player right into the ground).
Bug Fix: Bad collision check when on the ground (wouldn't detect the ground if vertical speed was low, and wouldn't calculate angles right when colliding with a wall).
Note: The hardest part about this update was adjusting collision detection, since game_maker's place_meeting function would check collisions with fractions of pixels, which screwed up what was counted as a collision and what wasn't.
1.0.3.0 log:
New Features:
- one-way through platforms
1.3.0.0 log:
New Features:
- Moving platforms
Bug Fix: One-way platforms only effect the axis that dynamic objects collide with.
Note: The moving platforms don't work the best (bad speed calculations), plan on fixing in the next update.
The code has gotten quite messy, and I need to do quite a bit of housekeeping, but I'm intending to do that after I've finished the engine (after I have finished the moving non-one-way platform and added dynamic/dynamic object interaction).
Source code (.gmz):
Physics+engine+1.3.0.0.gmz
Windows (.exe):
Physics-Engine-Default-1.3.0.0.exe
Update logs:
1.0.2.6 log:
New Features:
- Bouncing
- Better walking force (Obeys the laws of friction better, still not the best, though)
- Automatic view zoom
Bug Fix: Fixed bad vector change when going down a hill or off a cliff (would angle player right into the ground).
Bug Fix: Bad collision check when on the ground (wouldn't detect the ground if vertical speed was low, and wouldn't calculate angles right when colliding with a wall).
Note: The hardest part about this update was adjusting collision detection, since game_maker's place_meeting function would check collisions with fractions of pixels, which screwed up what was counted as a collision and what wasn't.
1.0.3.0 log:
New Features:
- one-way through platforms
1.3.0.0 log:
New Features:
- Moving platforms
Bug Fix: One-way platforms only effect the axis that dynamic objects collide with.
Note: The moving platforms don't work the best (bad speed calculations), plan on fixing in the next update.
Friday, 12 December 2014
[Game Maker] Slope Physics Engine UPDATE v1.0.2.3
An update for my physics engine. Might not seem like much of an update, but I fixed some key problems I had, and reconfigured the engine to make it much more manageable (to me, anyway).
FEEL FREE TO CHANGE THE OBJECT PROPERTIES OF OBJ_BLOCK AND OBJ_PLAYER IN CREATION EVENT. If you find any bugs, just leave a comment on this post.
Source code (.gmz):
Physics+engine+1.0.2.3.gmz
Windows (.exe):
Physics-Engine-Default-1.0.2.3.exe
Update log:
New Features:
- Friction
- Walking force (instead of constant air-forced walking)
- View, along with view-shake (screen shakes if you crash hard enough).
Bug Fix: Fixed bad calculation of slope when scr_slopecalculatex or scr_slopecalculatey were about to run into the wall(I made it so if they were about to collide, make the perpendicular dimension(trise or trun) longer, so that the slope takes into account the wall.
Bug Fix: Accelleration and speed now include fractions of pixel-units, instead of just increasing by integers(changed scr_movex and scr_movey so that it added on the fraction of the pixel not normally added (since it only added to the distance traveled if there was at least 1 whole pixel length (distx*stepxleft or disty*stepyleft) left).
Note: The hardest part about this update was the bad slope calculation, as I couldn't find out what was causing the error for the longest time, and it really frustrated me.
FEEL FREE TO CHANGE THE OBJECT PROPERTIES OF OBJ_BLOCK AND OBJ_PLAYER IN CREATION EVENT. If you find any bugs, just leave a comment on this post.
Source code (.gmz):
Physics+engine+1.0.2.3.gmz
Windows (.exe):
Physics-Engine-Default-1.0.2.3.exe
Update log:
New Features:
- Friction
- Walking force (instead of constant air-forced walking)
- View, along with view-shake (screen shakes if you crash hard enough).
Bug Fix: Fixed bad calculation of slope when scr_slopecalculatex or scr_slopecalculatey were about to run into the wall(I made it so if they were about to collide, make the perpendicular dimension(trise or trun) longer, so that the slope takes into account the wall.
Bug Fix: Accelleration and speed now include fractions of pixel-units, instead of just increasing by integers(changed scr_movex and scr_movey so that it added on the fraction of the pixel not normally added (since it only added to the distance traveled if there was at least 1 whole pixel length (distx*stepxleft or disty*stepyleft) left).
Note: The hardest part about this update was the bad slope calculation, as I couldn't find out what was causing the error for the longest time, and it really frustrated me.
Tuesday, 9 December 2014
[Game Maker] Slope Physics Engine
After 11 months of time, 7 and a half hours concept thinking, 7 and a half hours problem thinking, 19 hours coding and debugging, or 34 hours total, I have finally finished my slope engine. It combines the accuracy of pixel-perfect collision, with the smooth and realistic momentum and velocity shift of angle calculation and implementation. For years I tried making 2d platform games with simple physics handlers or complex and accurate physics extensions, but both had major problems that rather ruined the entire game or caused too many bugs and glitches that made it useless. So I tried to make a hybrid.
Source code (.gmz):
Physics engine(presentation).gmz
Windows (.exe):
Platform RPG-Default-1.0.0.4.exe
Video:
[Game Maker Studio] - 2d Platformer Slopes (Physics Engine)
Source code (.gmz):
Physics engine(presentation).gmz
Windows (.exe):
Platform RPG-Default-1.0.0.4.exe
Video:
[Game Maker Studio] - 2d Platformer Slopes (Physics Engine)
Monday, 8 December 2014
Introduction
I have never run a blog before, I am not familiar with the process, but I felt it was a good way to distribute my projects and opinions that I have wanted to share. I haven't developed much so far, but I plan on developing whatever is beneficial to me and anyone else interested.
Subscribe to:
Posts (Atom)