The Great Journey Begins

posted in Journal of Mak
Published October 06, 2016
Advertisement

In part due to my long term absence from these hallowed halls, and in part because hopefully starting this blog series will force me to keep up the development momentum :) I give you my first attempt to do some 'playing of the game' in Dominium at long last... warts and all...

(Lifted directly from http://dominium.maksw.com/2016/10/06/the-great-journey-begins/ - feel free to sign up for the Dominium Observer newsletter!)
(PS. Apologies for the crappy formatting... despite adding newlines / whitespace, this Journal posting wossname keeps stripping them back out again :( )

[color=rgb(58,58,58)][font=Arial]Gameplay.[/font][/color]
[color=rgb(58,58,58)][font=Arial]Yes, you read right. Finally.[/font][/color]
[color=rgb(58,58,58)][font=Arial]I am turning my efforts to gameplay. This series of blog posts (and hopefully video blog posts!) probably won't particularly read gameplay-ish, but trust me it is.[/font][/color]
[color=rgb(58,58,58)][font=Arial]I have chosen a task to complete within Dominium itself, the game universe. An epic task, a monumental chore of gargantuan proportion.[/font][/color]
[color=rgb(58,58,58)][font=Arial]I must trade my way around several systems, and turn 1,200 SIS (Sulranian Imperial Sovereign) into 100,000 or more.[/font][/color]

[color=rgb(58,58,58)][font=Arial]Ok, not so big - I grant you :) But, given the state Dom is in - purdy darned huge :D[/font][/color]

[color=rgb(58,58,58)][font=Arial]No combat, though there are NPC's, and I can 'kill' them with a single shot atm - but they don't fight back. The aim of this epic quest is simple, to iron out kinks with the initial UI, trading, cargo/inventory, flight mechanics, navigation, autopilot, map and control systems.[/font][/color]

[color=rgb(58,58,58)][font=Arial]In other words, pretty much the entire game core.[/font][/color]

[color=rgb(58,58,58)][font=Arial]The raw materials are all in place, and now I have to 'test drive' them to see if they stay together for an epic win, or fall apart in an epic fail! I know there will be catastrophic 'blockers' en route, so this is a 'warts-et-al' blog :) Don't be disheartened if the video suddenly disappears, it was probably just a crash :)[/font][/color]

[color=rgb(58,58,58)][font=Arial]My journey begins at Star-7786, Planetoid-53095, GStation-1, with my purchasing 1,183 SIS worth of 'Commodity-05' - yes, exciting names![/font][/color]
[color=rgb(58,58,58)][font=Arial]

[/font][/color]

1 likes 2 comments

Comments

Eck

I'd say welcome back, but I've been absent a long time myself. Your gameplay is looking pretty damn sweet. I'd love to hear about your auto pilot docking code if you have the time.

October 13, 2016 04:06 PM
Mak

Cheers Eck :) A very, very long way to go still - but the seeds are promising I hope...

Hmm - autopilot / docking... it's been a big area of development effort, and it's ongoing. It's by no means final, and a lot of it is 'this will have to do for now' code (TWHTDFN - not much of an acronym!), but as you're interested enough to ask... :)

The system (at present) is broken into three objects - the Autopilot, the Navigator, and the Course. You ask the Autopilot to 'fly to B from A' - it then asks the Navigator for a Course (in my case a series of courses), which it plots. This may be direct from A to B, or via a set of waypoints. If an object is between A & B, the navigator does raycasts for collisions/intersections along the course itself, and then figures out where to add intermediate points to go around the object with a suitably wide berth. This can get tricky in densely populated areas of the scene octree!

The Course itself is a simple bezier spline through the points the Navigator issues. There can be a chain of 'courses' to follow to get from A to B, depending on how many times the Navigator has to avoid an object.

The Navigator is then responsible for progress along the Course(s), and all the Autopilot does is keep things ticking and tracks your position along the course as you progress.

At the moment it is very 'on rails' - once the Autopilot is engaged, you can't fly your ship, you have to disengage it first. When I get to it, I'll allow the player to intervene and alter course, and the Autopilot can then step in afterwards to make any necessary corrections.

As for docking, this is driven by a 'Docking Module' which can be attached to anything - a base, station or vessel - instantly granting it the awesome power to have things dock with it. Markup drives the approach points, and docking points within the docking bay itself. Eventually it will have collision volumes / trigger volumes as well for the AI to utilise.

The player and NPC's all make docking requests - which are fed into a queue which is processed FIFO. If the docking bay is not busy (i.e. no one else is docking/undocking) the request is granted and it's all yours. This 'permission' will eventually expire, just in case the player decides to dawdle, or gets distracted.

The 'permission' also provides a set of waypoints through the approach to the dock, and that is then handed to the Autopilot for it to worry about. Up until recently, you could only dock/undock using the Autopilot, but I've just set things up so you can manually dock/undock at long last.

Balancing the splines is a bit of a trial... and sometimes they go a bit... OTT :) as you'll see in the next episode!

October 13, 2016 06:16 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement