Tagged: 3d, mojo3d, physics, super thrusting game, thrust
September 4, 2018 at 12:43 pm #15373
Hi all, I’ve just learned the basics of Git (beyond ‘clone’!) and uploaded my very-much work-in-progress game here:
Collect gems and escape with the orb through the portal to next level!
There are 6 or 7 semi-random levels (nice colours, basically), followed by infinite random levels (horrific colours).
Last gem spawns the orb at present, try collect near top of orb — to be fixed to spawn on pickup point.
It’s only intended to allow me to explore Monkey2/mojo3d, is super-hard to control (recommend Xbox pad if you have one) and the camera definitely needs work. (Improvements welcome! It basically works as I want but is tricky in close-up situations.)
Uses mojo3d, physics, various language features.
Attachments:September 19, 2018 at 2:08 am #15444
For what it’s worth, lots of updates!
Monkey1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374Date: Wed Sep 19 02:58:17 2018 +0100Preloads all audioDate: Wed Sep 19 01:14:40 2018 +0100Preloads sounds (few more to-do)Cleans up SpaceGem spawning, which was stupidTurns remaining physics objects to full Behaviours (todo: Rocket)Removes redundant refs to Model/RigidBody in Behaviours (may be some remaining!), can just return Entity/GetComponent <RigidBody> insteadRemoves misc redundant fields, properties, etc and makes more stuff PrivateFixes level naming for randomly-generated levelsRearranges some level init stuff and fixes removal of gems/pads post-conversion to BehavioursDate: Sat Sep 15 02:38:12 2018 +0100Converted PhysicsTri to Behaviour; auto-fades/removes each triangle nowDate: Sat Sep 15 00:34:44 2018 +0100Converts Portal to Behaviour-based objectDate: Thu Sep 13 04:43:53 2018 +0100Converts Orb, SpaceGem and SmokeParticle to pure BehavioursFixes to DummyOrbDate: Wed Sep 12 02:36:04 2018 +0100Adds dummy orb light (late TODO: Add portal ground light?)Date: Wed Sep 12 01:23:13 2018 +0100Updates to readme againDate: Wed Sep 12 01:21:21 2018 +0100Updates readme.Date: Wed Sep 12 01:15:24 2018 +0100Added screenshotsDate: Wed Sep 12 00:53:36 2018 +0100Fixed remaining orb channel error (played boom on level exit)Date: Wed Sep 12 00:45:49 2018 +0100FFS! Disabled temp portal collision visibilityDate: Wed Sep 12 00:44:56 2018 +0100Forgot to reset temp orb spawningDate: Wed Sep 12 00:42:33 2018 +0100Fixes orb and portal respawningFixes orb audio silence after first explosionDate: Tue Sep 11 02:24:39 2018 +0100Portal fixes WIP -- currently semi-broken!Date: Fri Sep 7 01:08:17 2018 +0100Dummy orb now basically spawns above player start point. WIP.Date: Thu Sep 6 05:07:16 2018 +0100Adds terrain smoothing via Gaussian blur.WIP DummyOrb for spawning physics Orb.
A lot less ashamed of the code right now, at least… for the most part…
Main plan is to a) implement PAUSE (scared of this because I’m not sure how the physics engine will handle it!), and b) allow clicking of in-game objects to spawn text about where they’re implemented and how.September 19, 2018 at 10:17 pm #15452
There’s not really much I can comment on that you’ve already covered (like barfy camera when you get close to it)
One thing I will say though; it’s sometimes hard to figure out where the “space gems” are.
A pointer or some sort of radar would be a big help.
And another thing I noticed!
I have a 144hz monitor, that means games should ideally run at 144 FPS for me.
Your game however seems limited to 72 FPS?
How are you timing the frames?
Also, why is there a “Halve Fule” button?! :O
Other than that, good work!September 20, 2018 at 12:29 am #15453
Thanks for having a look… the camera definitely struggles in close-up, but it’s surprisingly tricky to resolve.
Yeah, I’ll be adding a gem map at some point, should be really easy.
I’m only using the default timing setup, so the truth is… I don’t really know! As far as I’m aware, mojo would default to running the display at the monitor’s refresh rate while running physics at the default Bullet rate of 60 fps, but I could well be wrong about that. (Maybe mojo/mojo3d sets physics to also match the monitor rate?) Don’t know why it would be running at exactly half the monitor’s rate either… :/
The halve-fuel thing was for testing of the low-fuel alarm, just forgot it’s still there. (Even when I could have made use of it earlier today, gah!)
I’ve been adding a simple sound channel mixing system today but got myself all tangled up with some subtle errors and need to start again, so haven’t committed it…
Hard-going for me, but this is probably the longest I’ve stuck at a single project! It’ll never be a great game, but I’m learning a lot and once it’s at least working fully I intend to document it to explain its workings, how it uses the language/engine features, etc.
Thanks again.October 21, 2018 at 8:57 pm #15534
Just updated this, along with a binary release for Windows 64-bit.
Done quite a lot since last post, chunky explosions with rocket parts being possibly the coolest. Some basic pixel shaders, too.
The release doesn’t really mean anything in particular, still tons to be done/tweaked, just testing out GitHub’s release option.
Try the shaders! (Contrary to notes below, use F-keys per the HUD.)
NB. Undocumented Pause feature (key P) currently broken due to recent addition of delta-timing for non-physics stuff. Use R to reset!
Monkey1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Date: Sun Oct 21 21:32:13 2018 +0100Misc fixes, HUD and RocketParticle changes.Fixes public Behaviour stuff that should have been private.Orb is easier to collect now that IT HAS A NON-ZERO COLLISION RADIUS!HUD is now a proper object with methods, rather than a collection of public functions.HUD death-skull is finally a sprite! Should (SHOULD) now appear in VR, yet to test...Smoke is now more dynamic; clears up quicker and rises. May need to be changed to an option for performance, dunno yet.Date: Sat Oct 20 20:36:22 2018 +0100Adds monochrome (B&W stippled) shaderReverts to sprites for rocket particles -- thanks to Mark for fix!Date: Fri Oct 19 16:25:22 2018 +0100Many changes, slightly hesitant commit!WIP rocket particles (sprite and quad) changed back to cubes temporarily, due to problems with sprites and quads, as noted here:https://github.com/blitz-research/monkey2/issues/434https://github.com/blitz-research/monkey2/issues/436Removes redundant properties from Level.Attempts to make lots of non-physics stuff framerate-independent via delta timing... possibly. (Not overly sure what I'm doing here.)Disables Xbox pad if keyboard used. (Per-frame.)Adds explosion particles.Date: Wed Oct 10 03:46:14 2018 +0100Chunkier crashes! Definite WIP, may crash (seems OK so far but only tested on supplied rocket and in-game orb). TODO: Explosions...Date: Sat Oct 6 23:33:20 2018 +0100Adds pixel shaders -- greyscale and ZX Spectrum palette (TODO: attribute clash)Adds gem map (TODO: add orb and portal)SmokeParticles are now spritesDate: Sun Sep 30 14:57:35 2018 +0100Starts conversion of SmokeParticle to sprites, but [mojo3d sprite alpha appears to be broken at present] (https://github.com/blitz-research/monkey2/issues/410#issuecomment-425720114)Adds simple greyscale shader (press G to cycle through modes), just to provide a base for experimentation.Darkened sky to allow for better greyscale contrast.October 22, 2018 at 6:41 am #15536
Thanks for sharing!November 27, 2018 at 1:00 am #15620
More work on this!
Source code at:
Win32 64-bit build at:
Current gameplay is:
Collect all Space Gems to spawn the Atomic Orb, which appears at your start point.
Drop the orb in the Portal Lock (glass sphere) and head for the Space Portal (which will be near straight-up on first level, needs adjusting) — fly through to proceed to next level. (N to skip levels.)
Refuel by landing on pads.
Still lots of problems (frame timing on non-60 fps systems in particular), VR broken, all still very WIP!
Use an Xbox pad if at all possible! Game will use the first one it finds attached.
You must be logged in to reply to this topic.