Page 3 of 5

Posted: Mon Jul 18, 2011 8:00 am
by Raveen
KGJV wrote:QUOTE (KGJV @ Jul 17 2011, 07:22 PM) A GUI system is way too soon to even think of it. It could be added later by someone else as it doesn't need Allegiance code to work. That's the advantage of this approach too.
I understand that, a GUI is a lot of work but if you really want mass involvement it's the best way to achieve it. I'd happily make missions in a GUI but I'm unlikely to be able to do so in any scripting language. I suspect that there are a lot of other people around here who are in the same boat.

Obviously this is premature but the X Wing Alliance editor, AlliEd, is a good example of an easy to use editor.

If this takes off it could potentially achieve more than just new training missions - a full SP campaign could be fun as an advanced intro to the game and I had an idea a while back for scripted MP games where the game is objective based rather than straight conquest. In other words the game would start with the map populated in a specific way and each team would have different objectives to win (Team A must kill 3 miners, Team B must destroy a certain base or whatever).

Posted: Mon Jul 18, 2011 11:08 am
by Bunnywabbit
As long as i don't have to compile anything i'm happy. I'll cheerfully script it, and eventually someone will come around and make a GUI for it. It's how things flow. Don't fight that :)

also
Bunnywabbit wrote:QUOTE (Bunnywabbit @ Jul 17 2011, 02:12 PM) Meanwhile, if either of you could make the teeny tiny alteration in the current system to have it use the actual keymap fileand pop up a message with the proper key for the commands at the appropriate times, that would tidy us over until this is finished.

Posted: Mon Jul 18, 2011 1:18 pm
by TheRock
Bit offtopic, but to respond to bw.
Bunnywabbit wrote:QUOTE (Bunnywabbit @ Jul 17 2011, 02:12 PM) Meanwhile, if either of you could make the teeny tiny alteration in the current system to have it use the actual keymap file and pop up a message with the proper key for the commands at the appropriate times, that would tidy us over until this is finished.
This is supposed to be in R5 already, it's even on the change list. I did this in rev309 with a later possible crash fix by imago in rev401. Not sure why it is not loading the custom key map right now. Can't track it down though, don't have the source installed. Maybe someone else can take a look at what is happening in training/trainingmission.cpp@81?

edit:

Oh come on bw... It works as it should on the current release. On my install anyway.

Posted: Mon Jul 18, 2011 5:10 pm
by Bunnywabbit
oops. :blush:

I did do a search for it :(

Posted: Mon Jul 18, 2011 9:41 pm
by BackTrak
I'm gonna disagree with you on that one MP, inventing a new language syntax doesn't help anyone (everyone must now learn your custom syntax, programmers and non-programmers alike with a minuscule documentation base available if any), and just makes more busy work to make a parser for said Domain Specific Language). While DSLs may have their (very far and inbetween) uses, they are one of my personal pet peeves which I have always seen turn into an code amusement park for the parser writer. My vote is for java script: lots and lots of available libraries, documentation, unit test frameworks, etc. (This could be said about all the stuff on KG's list, but I like the JS! :) )

KG: to make this system, you would need to make code changes to get it into the Allegiance base. Would you not be held up along with the rest of the changes waiting in R6?

Posted: Mon Jul 18, 2011 11:07 pm
by KGJV
BackTrak wrote:QUOTE (BackTrak @ Jul 18 2011, 11:41 PM) Would you not be held up along with the rest of the changes waiting in R6?
yeah so I plan to release my own build as a seperate exe (see my 3rd post in here, post #10).
I'm forking from FAO code.

Posted: Tue Jul 19, 2011 3:06 pm
by BackTrak
KGJV wrote:QUOTE (KGJV @ Jul 18 2011, 06:07 PM) yeah so I plan to release my own build as a seperate exe (see my 3rd post in here, post #10).
I'm forking from FAO code.
A new user would have to download your version to play training missions, and then change back to the FAO one to play online then? Would you also change the menus to remove all the multiplayer bits so that it would be a training only version of Alleg?

Posted: Tue Jul 19, 2011 4:30 pm
by KGJV
BackTrak wrote:QUOTE (BackTrak @ Jul 19 2011, 05:06 PM) A new user would have to download your version to play training missions, and then change back to the FAO one to play online then? Would you also change the menus to remove all the multiplayer bits so that it would be a training only version of Alleg?
I see 3 ways of doing this actually:

FAO validates my exe in ASGS: in that case, nothing to do...just launch ASGSClient like today
I'll just build my own launcher with 2 big buttons:
'solo/training': launch my exe
'multiplayer' : launch ASGSClient
my exe will take control of ASGSClient and make it believe it's a valid Allegiance.exe...Albeit I can technically do this, this might freak out some people we know... :lol:
Whatever, we're not there yet anyway, may be FAO will change their regime in the mean time.

I see this as a very minor detail for now.

Posted: Fri Jul 22, 2011 3:21 pm
by Zero_Falcon
Zero_Falcon wrote:QUOTE (Zero_Falcon @ Jul 22 2011, 11:03 PM) Go for it KG! :thumbsup:

I've managed to script a shootemup engine with GML GUI and just begun learning Unity Javascript. Do want to help :D
Heck, yeah, Game Maker GUI was quite simple to follow, but Unity3D.com Javascript is quite simple to me so far.

As I said, do want to help.
KGJV wrote:QUOTE (KGJV @ Jul 20 2011, 12:30 AM) my exe will take control of ASGSClient and make it believe it's a valid Allegiance.exe...Albeit I can technically do this, this might freak out some people we know... :lol:
Oh no... KG said he didn't want drama... MUST... RESIST... LOLCAT REACTION... Eeep, sorry, KG!

---------------

Oh and btw,

Atm there isnt much action outside of the hours near 3PM US Central Time, that newbie who goes on alleg at the wrong time to see only 1 afk person in the lobby and go 'WHAT THE HECK' is more likely to not stay in alleg. Single player missions and campaigns can give those (newbies) who live in the 'wrong' timezones a feel of how awesome the game is.

Ideally, if there are enough players all day long there won't be 'wrong' timezones, but that's what we're working towards aren't we? ;)

Again, do want to help. Sqwox... :D

Posted: Fri Jul 22, 2011 5:42 pm
by KGJV
I heard you.

Anyone got experience with FRED? (FreeSpace mission editor)

I could use feedback on the pro/con of it (not so much the tool but the language behind).

I'll throw some of my brainstorming here, feel free to participate.

Scripting language:
ATM, the 2 top contenders are LUA and JS (javascript).
LUA because it's very simple, compact and easy to embed. And it's widely used for games.
JS because it's widely used and tons of libraries are available.

Active Scripting would have been the obvious choice 10 years ago, but MS deprecated it and now promotes .Net. But there is no straightforward 'scripting' with .Net. It's mostly about on-fly compilation or mix stuff like DLR. But this requires opening Allegiance to .Net and we must be careful here. We don't really want to tie even more Allegiance to MS technologies (I know I don't). So we must stay within 'Mono' compatibility. Something like CS-Script is considered too.

File structures:
I'm still thinking about having 2 or 1 file format. Something like XML+Script combo or MDL+Script combo.
MDL is considered because it's part of Allegiance already and widely used in it. But it's old and tricky to use. and I do HATE it a lot ...

Or 1 file format, script, with a way to efficiently embed 'datas' in it. how many files for a mission is still too early to tell (I really must think beyond just training missions).

Where to plug the scripting engine:
I'm still 'dissecting' Allegiance code to see where I can cut and plug the scripting engine. There are many ways and where this can be done.

There is a big issue with 'completeness' because a lot of the code that handle the game logic is server side only. That's why the old 7th training mission (explore tech) required to install locally the standalone server. That's what I'm full focused on atm.

This last part is key and will determine what can be scripted and what can not and also how to script it. it will eventually determine which scripting 'code' fits best so I'll postpone any language decision until i'm 100% clear on where and how to plug the scripting engine.

I will probably just start within the training mission code like initially planned and go from there. Having a smaller thing that actually works is way better than big theories on paper.

I think I need a whole month of brainstorming before doing any coding so stay tuned. I'll keep monitoring this topic meanwhile.