The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
January 31, 2023, 12:22:53 pm
Home Help Search Login Register
News: Celebrating 30 years of Star Control 2 - The Ur-Quan Masters

+  The Ur-Quan Masters Discussion Forum
|-+  The Ur-Quan Masters Re-Release
| |-+  General UQM Discussion (Moderator: Death 999)
| | |-+  Project 6014 Demo v 0.2 release
« previous next »
Pages: 1 ... 4 5 [6] Print
Author Topic: Project 6014 Demo v 0.2 release  (Read 20123 times)
Megagun
Enlightened
*****
Offline Offline

Gender: Male
Posts: 580


Moo


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #75 on: January 17, 2012, 06:38:03 pm »

Alright. Updated the starmap.  I blame Megagun completely for this. Not because of the map, but because he eats babies. Tongue

In a Spiffy new color:
Red Star Map
or
Blue Star Map

(Personally, blue is my preferred color.)
See my comments at http://code.google.com/p/project6014/source/detail?r=2217&url_prefix=p (there are still a few issues, and I don't have Photoshop or Photoshop skills to correct them)

As far as credits go: Alex Volkov wrote the tool to generate pretty maps like that. I wrote a tool that parses p6014's plandata.c and which spits out data that's compatible with Alex's tool, and I wrote a little tool that allowed me to easily specify the constellation lines..
Logged
dczanik
*Smell* controller
****
Offline Offline

Posts: 306



View Profile WWW
Re: Project 6014 Demo v 0.2 release
« Reply #76 on: January 17, 2012, 07:20:18 pm »

Well, it's fixed. You can open it up in Gimp too. Just hide or delete the layer.  You should put up the .SVG files too.
Logged

- Damon
Ur-Quan Masters HD Project leader/artist. Project 6014 Artist.  Like my art? Please check out some of my other artwork
Megagun
Enlightened
*****
Offline Offline

Gender: Male
Posts: 580


Moo


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #77 on: January 17, 2012, 10:48:18 pm »

Great. Smiley

A spoiler-free A4-printable starmap, plus an "interactive starmap" which you can drag around and zoom inside your browser are available on the Downloads page: http://code.google.com/p/project6014/wiki/Downloads

Also, .deb packages for Ubuntu Linux / Linux Mint / Debian are now available!
Logged
Ostro Bothnia
Zebranky food
*
Offline Offline

Gender: Male
Posts: 10


Bugs are writing songs about me


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #78 on: May 22, 2012, 06:46:16 pm »

Hey, how's it going? It would be great to get some kind of an update.
Logged

Worth dying for. Worth killing for. Worth going to hell for. Amen.
dczanik
*Smell* controller
****
Offline Offline

Posts: 306



View Profile WWW
Re: Project 6014 Demo v 0.2 release
« Reply #79 on: May 25, 2012, 12:07:00 am »

Sure!

If you're looking for a new release, it's not going to happen for months.   I'd like to shoot for the end of the year, but I don't think that's happening.  There's just too much to do and not enough free time.  Until then, my side project called Ur-Quan Masters HD should be released fairly soon.

As far as updates, go.  Project 6014 isn't dead, just quiet.  Instead of a new demo, we'd like to just release the full game.  And this creates a lot more work for the writers.  But  on the art side,  We've got new artwork, and new animation.  We've also re-written the entire dialog system to a simple scripting language.   On the writing side, I've created some preliminary stuff for the Mycon that I find interesting.

The new dialog system is the most exciting part for me.  Now, you can just open a text file and change the dialog and conversation logic/flow without needing to be a programmer.  No need to compile C code.  Should be much easier for anybody to write their own adventures.

As an example:

Code:
greeting
Hello Captain!
.main

node main

       option
         Hello Alien!
          We've missed you Captain.
       .main

       option
         I must be going.
         Goodbye Captain!
       .done

.main


That just greets the captain, then gives you 2 dialog choices.
You can test out your own stuff here:
http://mooses.nl/uqm/wip/js-dialogue/#
The example dialog button shows you what the system can do.

Full documentation can be seen here:
http://code.google.com/p/project6014/wiki/DialogLanguage

Anyways. I hope that helps to satiate any curiosity and dispels any worries.   We've had several updates to the game this week.  We're not dead.
Logged

- Damon
Ur-Quan Masters HD Project leader/artist. Project 6014 Artist.  Like my art? Please check out some of my other artwork
Ostro Bothnia
Zebranky food
*
Offline Offline

Gender: Male
Posts: 10


Bugs are writing songs about me


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #80 on: May 25, 2012, 07:18:33 am »

I'm in no hurry with new releases, I'm just glad that we're not waiting for nothing.
Since it's a fan made full scale game, end of the year would be pretty darn great.

I can imagine that it's alot of work, though surely it's easier to just go all the way through than releasing demos on the way.

Interesting system indeed, that dialog script. I'm somewhat familiar with the system, since it's very similar to the one that Fallout3 uses for scripting.
Surely much easier than C language. But I wonder, does it really support voice-overs? There was no mention of it. I don't know exactly how it would work, though that really doesn't prove anything.
Logged

Worth dying for. Worth killing for. Worth going to hell for. Amen.
Death 999
Global Moderator
Enlightened
*****
Offline Offline

Gender: Male
Posts: 3870


We did. You did. Yes we can. No.


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #81 on: May 27, 2012, 02:10:59 am »

Indirectly - it's compatible with the existing UQM system. Each block of text goes into a string table.
You map the entries on this string table to the filenames of the voice-acting files.

Obviously, changing the lines invalidates the voice-acting.
« Last Edit: May 27, 2012, 02:17:07 am by Death 999 » Logged
Ostro Bothnia
Zebranky food
*
Offline Offline

Gender: Male
Posts: 10


Bugs are writing songs about me


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #82 on: May 27, 2012, 02:12:58 pm »

I see. So basically it will in the end transform into the form used in the original game.
In that case it should work fine and there's nothing to worry. I sure hope it goes as planned.
Logged

Worth dying for. Worth killing for. Worth going to hell for. Amen.
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #83 on: May 28, 2012, 04:27:12 pm »

Interesting.

It so happens that my latest project for UQM was making it possible to put the dialog structure in the content, though it's been two months since I actually worked on it.
My approach is different, though, as my goals are different. I like your design however, and my initial plan was something more in that direction, with a declarative instead of an imperative language.

Some of my own considerations were:
  • it should be powerful enough to handle the existing UQM dialogs, with all its side effects, including making/breaking alliances, giving ships, landers, resource units, scheduling game events, etc.
  • it should be close to the original, so that we can convert the existing dialogs, instead of having to reimplement them. Especially the amount of debugging involved would be a concern (an in fact, it still is the largest problem, even with the approach chosen)
  • the actual dialog strings and the dialog logic should be separate, to make translations and the association with speech samples easy

So what I ended up implementing were Lua bindings for UQM, together with string interpolation for the speech files.
Lua is a relatively fast scripting language, which is often used for applications such as this (see here).

As an example, here is the Lua script for the Arilou:
(click to show/hide)

This is more or less a straight translation from the C code, with most of the logic in Lua itself, while the interaction with the game is done with bindings to C functions. These bindings are often higher level than the original dialog code, and these functions are structured in namespaces.
For instance, to add a lander, the original code would do 'GLOBAL_SIS(NumLanders)++; DrawLanders();', while the Lua code consists of 'state.sis.addLanders(1)'.

Right now, I have the following Lua bindings implemented:
(click to show/hide)

The 'string interpolation' I was talking about is the ability to but the following in the actual dialog text:
Code:
I am Captain <% state.sis.getCaptainName() %> of the starship <% state.sis.getShipName() %>.

I can also use the same scripting language to move the game event logic to the content (things like making the Mycon go to Organon and back), though this is not implemented yet.
In the longer term, we could even put the ship intelligence code in there, so that everything needed to add a ship could be put into the content.

Note that all of this only exists on my local system; it has not been committed to SVN yet, though you can have a preview if you want.


It may be possible to combine the strengths of both approaches, by adding the option to your language to invoke Lua code (with the bindings which I already implemented) as a response to some dialog choice or as an expression for a condition to a dialog choice.
That way, the dialog structure can be kept easy to understand in the most common case, by using your language, while it would be powerful enough to handle more complex situations, through the Lua bindings.
« Last Edit: May 28, 2012, 04:32:39 pm by meep-eep » Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
Death 999
Global Moderator
Enlightened
*****
Offline Offline

Gender: Male
Posts: 3870


We did. You did. Yes we can. No.


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #84 on: May 29, 2012, 01:01:57 pm »

The script has access to all of the global data in the game. If a variable exists, it can set it. It can also set an essentially unlimited number of variables that only it uses.

The text substitution system is Turing-complete and not that hard to use for any computations any normal person will ever need. Consider:

text factorial =fac_n<2
[fac_out]
.

text factorial +fac_out=fac_out*fac_n +fac_n=fac_n-1
[factorial]
.

to calculate the factorial of a number, set fac_n to whatever number you want the factorial taken of and fac_out to 1, and call this text item.
« Last Edit: May 29, 2012, 03:19:28 pm by Death 999 » Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #85 on: May 29, 2012, 02:01:52 pm »

Well, it is a very respectable job that you've done, and your syntax is much more accessible to non-coders than the Lua stuff (your factorial example would not be one though, imho).
But don't you think that there would be circumstances where the ability to perform more complex tasks would be useful?
How would you handle giving ships to the player, setting up an event for later, fading in, (or, I guess, have two factorials in a single text block), etc.? At the very least, I would expect that you would need to add some sort of function call capability to your language.

Note that the Lua scripting support is likely to eventually end up in UQM. Allowing Lua fragments in your own scripting language should not be much work.
And even with your dialog system, there would be a need to script game events.
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
Death 999
Global Moderator
Enlightened
*****
Offline Offline

Gender: Male
Posts: 3870


We did. You did. Yes we can. No.


View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #86 on: May 29, 2012, 03:46:56 pm »

Yes, the factorial example was chosen to show that it is a general-purpose language with branching, value storage, etc. You can even do arrays by evaluating values into variable names (this capability might not work yet). You're right that adding functions would be helpful in some cases. I can think of a few ways of doing that, with various advantages and disadvantages. We'll need to talk that out.

Quote
How would you handle giving ships to the player, setting up an event for later, fading in, (or, I guess, have two factorials in a single text block), etc.?

Is the composition of your fleet stored in the game data array? if so, we already have the ability to give (or take) ships, etc. It might be useful to have a library of access functions in this case, though.

I'm not sure what you mean by setting up an event for later.

Fading in and other display/animation changes will be handled by a separate display directive system that reads commands embedded in the text in curly braces. These commands will be stripped from the text in the function that currently strips out the $ signs that surround computer-font text. We could more generally make the curly braces Lua bindings.

To evaluate the factorial twice in one block in the system as it stands... you'd have to wrap the second one in a separate text item that resets the values, OR enhance the factorial function with an argument queue (not at all a trivial task). Proper functions, mentioned above, would be nice - especially because they'd let you do this work inside a conditions and consequences block!
« Last Edit: May 29, 2012, 03:59:47 pm by Death 999 » Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Project 6014 Demo v 0.2 release
« Reply #87 on: May 29, 2012, 06:12:32 pm »

Quote
How would you handle giving ships to the player, setting up an event for later, fading in, (or, I guess, have two factorials in a single text block), etc.?
Is the composition of your fleet stored in the game data array? if so, we already have the ability to give (or take) ships, etc. It might be useful to have a library of access functions in this case, though.
No, it's in one of the QUEUE structures. And even if it wasn't, the user interface will need to be updated after a ship is added to the fleet.

Quote
I'm not sure what you mean by setting up an event for later.
I'm referring to the code from gameev.c, set up from the individual comm files. For example, six months after you ally with the Spathi, they raise their shield.
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
Pages: 1 ... 4 5 [6] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!