Return to “Dev Logs”

Post

Tuesday, June 27, 2017

#1
Tuesday, June 27, 2017

Hey guys!! Sincerest apologies for the long wait on this log -- I hope no one was getting any misguided thoughts about 'Josh is kill' this time ;) Between me being hammered with a cold for the past week and the entire team being hammered by 'minor' annoyances standing between us and our current goal of a 'minimal working LT,' it's been rough trying to stay on top of things. Especially. With. Dayquilbrain. :ghost: Please excuse me if I'm not as coherent as usual (HA!!!!!)

---

Big-picture-wise, we're pushing hard to get a 'mini' LT -- or, as Adam ingeniously dubbed it -- "Lil'T" built and running. Lil'T is kind of what I was gunning for a while back when I thought I had a good ECS, and wanted to implement everything in terms of the 'real systems' for the most recent public showing of LT. Our goal is to take all the foundational work we've done up to this point -- Adam with physics, me with ECS impl, Sean with AI -- and build a small LT out of it. The critical idea here being that we're doing everything the way we would do it for release, which means, theoretically, no throw-away code (yes, I'm well aware that LT has a long and rich history of non-throw-away code being thrown away....ahem...but...we are more practical now!!)

So yes, we're pretty busy! As for the past two weeks, however, they honestly haven't been my favorite. Adam and I have had to spend a lot more time than we wanted to getting our Windows build system to play nice as we continue to grow the codebase and factor out pieces into different libraries and such. I won't even get started down the path of this rant....I could rant for years and years about how incredibly broken, braindead, absolutely neuron-singingely stupid modern build processes are. It's like we're still cavemen when it comes to turning code into machine code :V But I can't let myself digress...the good news is that we're through it. Things work. And if they ever stop working because of one more flippedy-flopping bad decision that someone made a decade ago, I'm going to burn down the entirety of the known universe. So that's that :) :angel:

On the other hand, Sean over there has been having what I would say is his most productive week(s) yet! After I was able to build a little visualization sandbox for him, in which he could hook up his Lua sim code to drawing functions, he immediately started to explore some territory that he's been itching to get to: low-level AI maneuvering. We talked about 'flow fields' (aka gradient descent on a scalar potential field) and how they can be used to create very natural motion in the face of many conflicting goals (avoid obstacles, avoid hostiles that are stronger than you, stay in formation with fleet if applicable, move towards destination, align to firing trajectory, etc.)

A week later he's got a fleet of ships following a leader, in formation, through a dense, heterogeneous asteroid field, and it's looking pretty awesome as they break formation to avoid collisions, then form back up when the field allows it. Very cool stuff to see. Once more, I envy Sean for the work he's getting to do! I can't wait to see this maneuvering code in 3D with real ships (right now it's quite graphically-limited by the sandbox).

Other than that, honestly, loads and loads and loads of technical gibberish. Surprisingly, I'm not going to subject you guys to it :P I think it's probably because I am, frankly, not excited about it. Yes, technical gibberish is what makes games work and is what we have to push through to get to Lil'T (don't you just love the name??), but I haven't seen a procedural system in a week or so now and it's starting to hurt. Hopefully by the end of the day we'll have stuff running, because I'm really starting to miss the spacy vibes :cry:

---

In summary: All hail Lil'T!! \o/ Send your assorted pagan offerings now, because Lil'T is comin at you FAST! (Yes, please do keep in mind that I'm still a bit...wonky...from the cold medicine.. :shifty: )

See you in less than two weeks! ( :ghost: ) (EDIT: Hindsight is a ***** :V)
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Tuesday, June 27, 2017

#3
I really am not satisfied with this devlog. Just so everyone knows. I shouldn't have waited so long on it, because I almost certainly left out lots of inspiring moments that I've since forgotten :( But....ah well. TBH we have been REALLY concentrated on work these two weeks. Like, really. So the devlog quality sort of took a backseat to cramming in extra work hours.

Sorry!
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Tuesday, June 27, 2017

#4
JoshParnell wrote:
Tue Jun 27, 2017 10:09 am
I really am not satisfied with this devlog. Just so everyone knows. I shouldn't have waited so long on it, because I almost certainly left out lots of inspiring moments that I've since forgotten :( But....ah well. TBH we have been REALLY concentrated on work these two weeks. Like, really. So the devlog quality sort of took a backseat to cramming in extra work hours.

Sorry!
Nope, none of that! Sometimes you have to keep your head down and get work done. We understand!
Shoot ALL the things!
Post

Re: Tuesday, June 27, 2017

#9
No worries on the devlogs, Josh. It seems to me that you're finding a good balance between getting stuff done and talking about it.

The thing that jumps out at me from this latest devlog isn't even directly about LT. I'm now imagining that the release schedule will look something like this:

1. Release LT 1.0.
2. Week 1: patch game-breaking bugs and maybe smaller UI tweaks.
3. Get a short rest.
4. Work on, test, and release LT 1.1 based on remaining LT 1.0 backlog and player requests.
5. Take a good, long break.
6. Finish degree?
7. Begin Project #2: The creation of a new programming paradigm. Simple, powerful, and coherent, possibly in a visual metaphor, expressed within an IDE that supports both high-level structural design and fast prototyping from common patterns, with an automated testing service, and that properly handles versioning/build/deployment.

The only downside I can see to Project #2 is that it probably won't be worked on publicly. :D

But I wouldn't mind at all seeing things go this way post-LT 1.0.
Post

Re: Tuesday, June 27, 2017

#12
JoshParnell wrote:
Tue Jun 27, 2017 10:05 am
A week later he's got a fleet of ships following a leader, in formation, through a dense, heterogeneous asteroid field, and it's looking pretty awesome as they break formation to avoid collisions, then form back up when the field allows it. Very cool stuff to see. Once more, I envy Sean for the work he's getting to do! I can't wait to see this maneuvering code in 3D with real ships (right now it's quite graphically-limited by the sandbox).
"you dont want to see our ugly development interfaces"
:roll:
a 15 second screencap isnt hard to make :ghost:
Post

Re: Tuesday, June 27, 2017

#14
JoshParnell wrote:
Tue Jun 27, 2017 10:05 am
We talked about 'flow fields' (aka gradient descent on a scalar potential field) and how they can be used to create very natural motion in the face of many conflicting goals (avoid obstacles, avoid hostiles that are stronger than you, stay in formation with fleet if applicable, move towards destination, align to firing trajectory, etc.)
Josh, could this be used in more macroscopic planning and risk assessment as well? Such as for a faction deciding whether or not to set up a mining outpost in a system bordering on a hostile territory, whether its worth the danger of upsetting them? Or figuring out what stations to upgrade with new defensive hardware vs what stations can be left alone or even scrapped based on their usefulness to a greater plan?


Also, I think that once you have your system in place, make a few "Idiot" variations, because sometimes, some dumb ass is going to think its a good idea to poke a sleeping lion or not pay attention and wind up in a very bad part of town.
Or, even better yet, if it wouldn't be too much cpu, make every group have its own slightly different weighted variables, which can be researched upon to have the more optimum judgments, a form of research on tactics or something...
Image
When you're trying to fill an infinite multiverse, if you're not willing to consider the entire creative output of humanity as a starting point, you're wasting your time.
User: JoshParnell is accountable for this user's actions.

Online Now

Users browsing this forum: No registered users and 2 guests

cron