Return to “Dev Logs”

Post

Re: [Adam] Thursday, February 15, 2018

#16
I don't really understand everything you said, it's just too technical for my artistic inclined brain. But from what I do understand, I feel that LT is built on ever more stable ground thanks to you, and that I'm far less likely to Bork my coding attempts and make my computer spontaneously explode, so that's nice :D

And procedural sounds, that sounds procedurally awesome!
Image
Challenging your assumptions is good for your health, good for your business, and good for your future. Stay skeptical but never undervalue the importance of a new and unfamiliar perspective.
Imagination Fertilizer
Beauty may not save the world, but it's the only thing that can
Post

Re: [Adam] Thursday, February 15, 2018

#17
The Cantina music prank is hilarious!

One thing I'm curious about in space sims is the players control ability versus the AI players control actions, I've played a few indy space games where the AI ships were either not capable of or not programmed to perform the same maneuvers I was even though they were flying similar ships. How does Limit Theory handle this?
Post

Re: [Adam] Thursday, February 15, 2018

#19
jarl wrote:
Fri Feb 16, 2018 10:28 am
The Cantina music prank is hilarious!

One thing I'm curious about in space sims is the players control ability versus the AI players control actions, I've played a few indy space games where the AI ships were either not capable of or not programmed to perform the same maneuvers I was even though they were flying similar ships. How does Limit Theory handle this?
I'm not sure how it'll be handled code-wise, but Josh is absolutely going to make AI ships be capable of using the same maneuvers and abilities as the player. Josh wants all entities in the universe to be equal. In some FPS games, you're the only one with a "sprint" ability - or you sprint faster than everyone else, or... well, you know what I'm talking about. :) That won't be he case here. If you can do it, the AI will be capable of doing it, and programmed to use it effectively. This was already shown to be working in the PAX demo - dogfighting 1v1 (in an altered version I experimented with) was actually pretty challenging.

Hyperion wrote:
Thu Feb 15, 2018 10:10 pm
I don't really understand everything you said, it's just too technical for my artistic inclined brain. But from what I do understand, I feel that LT is built on ever more stable ground thanks to you, and that I'm far less likely to Bork my coding attempts and make my computer spontaneously explode, so that's nice :D

And procedural sounds, that sounds procedurally awesome!
I'll try to write out a non-technical version. :)
Have a question? Send me a PM! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: [Adam] Thursday, February 15, 2018

#20
If you can do it, the AI will be capable of doing it, and programmed to use it effectively. This was already shown to be working in the PAX demo - dogfighting 1v1 (in an altered version I experimented with) was actually pretty challenging.
But that would also mean, that any encounter with more than one equal AI opponent would be a sure loss, (Lanchester's law)
That looks like a hard nut to balance.
Post

Re: [Adam] Thursday, February 15, 2018

#21
Just make sure you don't put yourself in that situation. :D That's the way it's usually done. It's been accomplished successfully in many games before. RTS games, for instance, are essentially another genre's implementation of this concept. 4X games are often the same way: everyone is playing on equal footing.

In dogfighting terms, it's trickier, but in LT, there will be a lot of different solutions, ranging from "don't go there" to "bring some escorts", to possibly things like "forge an alliance", "join a more powerful faction", "buy better equipment", etc.
Have a question? Send me a PM! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: [Adam] Thursday, February 15, 2018

#22
Talvieno wrote:
Fri Feb 16, 2018 2:47 pm
Just make sure you don't put yourself in that situation. :D That's the way it's usually done. It's been accomplished successfully in many games before. RTS games, for instance, are essentially another genre's implementation of this concept. 4X games are often the same way: everyone is playing on equal footing.

In dogfighting terms, it's trickier, but in LT, there will be a lot of different solutions, ranging from "don't go there" to "bring some escorts", to possibly things like "forge an alliance", "join a more powerful faction", "buy better equipment", etc.
The thing is: in a RTS the player is usually fighting a single opponent using many units (on each side). Where a battle will develop by loosing several units, and then a player having the option to retreat. Loosing units is planned in for any strategy.
In LT, the player is effectively controlling a single ship. A loss is a total loss (ship destroyed)
Post

Re: [Adam] Thursday, February 15, 2018

#23
That's not really unusual for games either. In many games, a loss is a total loss, as you said - anything ranging from FPS, to RPGs, to survival games. They deal with this using savestates, because, unlike in RTS and 4X, an encounter that gets you killed can usually be avoided by reloading the autosave from five minutes ago and approaching the problem a different way - or avoiding it entirely.
Have a question? Send me a PM! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: [Adam] Thursday, February 15, 2018

#24
Damocles wrote:
Fri Feb 16, 2018 2:45 pm
If you can do it, the AI will be capable of doing it, and programmed to use it effectively. This was already shown to be working in the PAX demo - dogfighting 1v1 (in an altered version I experimented with) was actually pretty challenging.
But that would also mean, that any encounter with more than one equal AI opponent would be a sure loss, (Lanchester's law)
That looks like a hard nut to balance.
I think in most games, you end up going after mooks who are at least slightly worse than you, especially early on. First enemy you fight in a Mario game is a goomba, which are dispatched with a single jump in the platfomers, and only have 2 HP in the Paper Mario games.

So the player can still be sent on missions to kill things provided the start ship isn't absolute trash. As for fights in the wilds of space when nobody's paying you to do combat and bring back a body? Godspeed.
Shameless Self-Promotion 0/ magenta 0/ Forum Rules & Game FAQ
Post

Re: [Adam] Thursday, February 15, 2018

#25
Thats actually another interesting question: will the game have fixed saves, or will the game revolve around respawning at some save location, continuing with a default ship.
I actually dont like to have the option to save at any second (in a battle) and then have the game end on death.
It just translates any encounter into a repetitive trial and error (reload and play) to beat a specific situation. There is not deeper meaning in death, other than having to reload.
Games like GTA or Empyrion come to mind, that use a re spawn mechanic, I actually like that more.
Post

Re: [Adam] Thursday, February 15, 2018

#26
Damocles wrote:
Fri Feb 16, 2018 3:13 pm
Thats actually another interesting question: will the game have fixed saves, or will the game revolve around respawning at some save location, continuing with a default ship.
I actually dont like to have the option to save at any second (in a battle) and then have the game end on death.
It just translates any encounter into a repetitive trial and error (reload and play) to beat a specific situation. There is not deeper meaning in death, other than having to reload.
Games like GTA or Empyrion come to mind, that use a re spawn mechanic, I actually like that more.
Judging by what Josh has said, as well as Freelancer, Morrowind, and the prototype, I'm pretty sure LT is going to get a system where you can have multiple savestates. I don't know about quick loading and quick saving - I'm thinking those possibly won't happen, but I don't know for sure.
Have a question? Send me a PM! || People talking in IRC over the past two hours: Image
Image
Image
Post

Re: [Adam] Thursday, February 15, 2018

#27
AdamByrd wrote:
Thu Feb 15, 2018 7:15 pm
[*]Back to the first problem: how do I parse the input to the second batch instance line by line?
Use a nested FOR loop?
Or utilise the classic function'esque nature of a batch script, ala this, for example.

delims in the example is a space
(replace with a ; comma; ,
(or any other delimiter if required and increment by one for every letter after %%I

for f "tokens=* delims= " %%I IN ('do a system command')

where ('x'), (i.e. x, is surround by single quotes)

or


for /f %%I IN (LIST.txt) do (
call :PROCESS %%I
)
goto :NEXT

:PROCESS
set Variable1 = %1
:: do something
goto :EOF

:NEXT
echo Continue main program


Notes:
call :PROCESS %%I
this can include any number of variables, i.e.
call :PROCESS %%I %%J %%K %%L %%M...

where %%I is the first variable for the "function" :PROCESS
(where the word PROCESS is equivalent to the name of a function)
(and where %%I to %%M represent the variables 1 thru 5, being passed to :PROCESS)
set VAR1 = %1
set VAR2 = %2
set VAR3 = %3
set VAR4 = %4
set VAR5 = %5
etc. etc.

Also, a note on the difference between a REM statement (meaning REMark) and ::
Lines commented out using :: are ignored by the pre-processor before the Batch script runs.
(Personally, I always use .cmd, vs .bat extensions)
Whereas a REM statement, is ignored by the pre-processor, and only determined to be a line to ignore on RUNTIME of the batch script.
(this means, the line is fully read, even though it is prefixed with a REM, and only after reading the line, does "DOS" ignore the line as a comment)

Also, at the start of a batch file, the first lines should be:

@echo off
setlocal



.. and the end of the file, where the :END lives should be:

:END
start notepad %REPORT%
endlocal


This is where the variable %REPORT% references a file such as %CD%\Report-%0.txt

%0 will display the name of the batch file being run, in this case:
vcvarsall.bat

P.S. I have 16 years+ of DOS batch file experience, and I'm still learning.
If you need help, send me a PM, I usually logon daily to see if there are any updates from Adam, Lyndsey, Josh :ghost:

.. Just my 2 cents
*and anything to help you chill after a long day of banging your head into the plaster-board :)


EDIT: goddamn smileys ruin the layout of this post.. I recommend you edit the post to review what the actual Batch Script fcode is..
:monkey:

P.S. Where I use the FOR loop to:
call :PROCESS %%I
.. I can also say
call .\some_batch_file %%I;
and the script will then run a 2nd batch file whilst sending the variables %%I from the first batch file to %1 to the second batch file.
.. %%J in the first FOR loop becomes %2 variable in the 2nd batch file
.. %%K in the first FOR loop becomes %3 variable in the 2nd batch file etc. etc.
..
.. Then in the second batch file, you create a meaningful container for the information being parsed
set VAR1 = %1
set VAR2 = %2
set VAR3 = %3
then run the 2nd batch file using those variables as required

hope this helps your noodle

P.P.S. I so wanted to try the {for /f %I IN ('more')}, but then I realised I'm running Linux Mint, and I'm unable to do so :(
Going to have to wait until Monday when I'm back in work..
:wtf:
YAY PYTHON \o/

In Josh We Trust
-=326.3827=-
Post

Re: [Adam] Thursday, February 15, 2018

#28
Aaaaand I've just read your section on input more thoroughly and seen that you've already thought of all this and I'm just going to go over here and watch some more Adventure Time instead... :-p

Original post, for hilarity:
--
Adam, back in the early 90's I wrote the DOS box as an emulator as part of the DEC Alpha port of Windows NT, which I think is quite funny given how much you hate batch files - think about how much *I* hate them! :-p - and I wrote a testing tool called Trapper which you might find interesting.

Now that you've implemented an input queue, you could do what I did and record that input queue along with timings, and effectively have an automated playback session: combine this with keystrokes to capture the screen on the initial recording run, and capture and compare the screen grabs on the playback run, and you've got the beginnings of a really nice testing suite.

Not only would automatic records allow you to playback to recreate complex errors, but you can also start using it to generate videos showing off cool moves/graphics/whatever after the fact too.

Just an idea from the past that came back to me.
Last edited by Ringu on Fri Feb 16, 2018 5:56 pm, edited 1 time in total.
--
Mind The Gap

Online Now

Users browsing this forum: No registered users and 1 guest

cron