Free Allegiance!

Catch-all for all development not having a specific forum.
KGJV
Posts: 1474
Joined: Tue Jul 01, 2003 7:00 am
Location: Transilvania

Post by KGJV »

factoid wrote:QUOTE (factoid @ Mar 20 2014, 01:05 AM) No matter what language the mechanics are written in, at a certain point you have to know your stuff to contribute, because it's the business logic that's the hard part, not the language you're implementing it in.
The type of language matters a lot because it's about its environment and its build process. With C++ you need to compile and build a new .exe and then distribute it to others if you want them to test your changes: this makes 'iterations' very complex and difficult to do and there is also a "trust" issue since a new .exe is needed (not to mention conflicts and other problems).

With a scripted language and a system to switch between 'mods' the .exe doesn't change and you can easily share, test and iterate mods. It's also safer and more people can contritube. Even someone who doesn't know computer programming can test a few changes by modifying some numbers or some code in the scripts, using a simple text editor. With C++ you have some kind of steep learning curve (ironically like the game has itself too) and you need to install and learn some IDE and/or 'tools' to "build".

I think it's fundamental here. What plagued Allegiance for years is this, having to build a new exe (both client and server) to just test a simple gameplay change. Doing iterations are too complex, so complex that the few changes made are just 'stored' in the CVS and only released months if not years later...Complex because their require a build master and some kind of 'authority' to approve changes and publish them.

I'm afraid that your approach of everything in C++ will have the same problems. It looks like you just rewriting Allegiance in C++ : it won't solve the slow/complex iteration issue and it won't widen the audience who can contribute: people who can contribute to your code can already contribute to current Alleg code. it's basically the same population.

But it seems you're making fast & good progress and if your code is cleaner than the original code then may be it might be worthy to 'plug' some scripting engine to your work instead of to the Allegiance code. I'll let a few weeks pass and see what it is possible to do.

The concern I had also is that the 'IGC' project in the original code only has a few parts of the game logic. A lot of important stuff is done in the server code (mainly FedSrv/AllSrv.cpp IIRC) which is why just porting IGC might be not enough at all. It's been a while since I looked at Allegiance code so may be i'm wrong here but I do remember the game logic code wasn't all in the 'IGC' project (I'm pretty sure the "training mission" code has some game logic code too). Unless i'm wrong, the whole game logic needs to be rewritten cleaner from scratch instead of been ported (and rewriting it with a scripting language is faster to do and faster to test).

Bull well, we'll see, anyway , keep that good work coming. At least you're doing something, which is 100x better than doing nothing , like babbling in the forums ;)
Image
MrChaos
Posts: 8352
Joined: Tue Mar 21, 2006 8:00 am

Post by MrChaos »

:o

Has Two Weeks finally ended?

I only hope so


To both The Count and Fact
:iluv: <---- clickee it Raum

With a significant stare
Let me know what I can do to help that doesn't require any work and when it gets to release I can at the very least claim credit and hopefully steal it lock, stock and two smoking barrels :lol:

edit:
This just made my mother $#@!ing day
MrChaos
Last edited by MrChaos on Sun Mar 30, 2014 6:24 am, edited 1 time in total.
Ssssh
factoid
Posts: 929
Joined: Fri Sep 02, 2005 7:00 am
Location: Winnipeg, Canada

Post by factoid »

Checkpoint! I have a scout flying around the home sector. Just basic throttle up/down and mouse joystick implementation. I'm now switched over to windows and trying to get a VS2013 build environment setup. If anyone wants the linux executable I can provide one right now, otherwise I should have a windows executable available within a few days.

Prepare to be utterly underwhelmed!

I have noticed that the game depends heavily on baked in lighting on the textures, which really looks stupid. If anyone wants to go through the alleg textures and make asteroid textures and stuff with no lighting baked in, I can try switching the lighting model to directional light support, which will look a lot nicer when the rocks are spinning in space. Bump and specular textures are also not out of the question if folks want to ramp up the visual quality of the environment for "higher" end systems.

Linux package
https://www.dropbox.com/s/2ri0imrubgwc8 ... nce.tar.gz

I think(?) I've included all the SO dependencies that you wouldn't normally find such that you can just run fa.sh. But I'd love to get some feedback as to what happens if you run this. It should be basically self contained.

Controls:
= (speed up, each tap is 1/8 of your throttle)
- (speed down)
space (turn virtual joystick on/off)
mouse movement (if the virt joy is on, no cursor, controls pitch/yaw)

Feedback, core files welcome!
Last edited by factoid on Wed Apr 02, 2014 9:45 pm, edited 1 time in total.
"I make it a point not to chat with AP off... space is vast, but it's never vast enough for my scout."
_xJammer_
Posts: 307
Joined: Thu Nov 11, 2010 7:10 pm

Post by _xJammer_ »

I wonder if any of the "back stage" files that some of us have (including high res textures?) contain textures without lighting baked in. Otherwise it might be a little bit of an issue having to effectively re-texture every model to make it look "nice". Though I am sure implementing alleg-style lighting would not be difficult?

P.S. I have a high-poly model with materials if you want to try that out (not a model of any current alleg ships)
Last edited by _xJammer_ on Thu Apr 03, 2014 9:00 am, edited 1 time in total.
Imago
Posts: 1440
Joined: Tue Sep 23, 2003 7:00 am
Location: Minneapolis, MN
Contact:

Post by Imago »

factoid wrote:QUOTE (factoid @ Mar 7 2014, 01:10 PM) While working on the IGC port (39 of 40 object files generating... I came across this)

In the event that the original writer is still kicking around, and looking for the solution.

Code: Select all

    // I know there is a better way (using math) please show me how! (i forget)
    if(itoken==0)
        return c_pbm1;
    if(itoken==1)
        return c_pbm2;
    if(itoken==2)
        return c_pbm3;
    if(itoken==3)
        return c_pbm4;
    if(itoken==4)
        return c_pbm5;
    if(itoken==5)
        return c_pbm6;
    if(itoken==6)
        return c_pbm7;
    if(itoken==7)
        return c_pbm8;
    if(itoken==8)
        return c_pbm9;
    if(itoken==9)
        return c_pbm10;
    if(itoken==10)
        return c_pbm11;
    if(itoken==11)
        return c_pbm12;
    if(itoken==12)
        return c_pbm13;
    if(itoken==13)
        return c_pbm14;
    if(itoken==14)
        return c_pbm15;
    if(itoken==15)
        return c_pbm16;
Here's how you do it...

Code: Select all

  return 1 << itoken;
Thanks!
Image

These bugs haven't been fixed yet because don't have any developers interested in fixing them up. --Tigereye
Imago's stupid-sensor is supersensitive. --RealPandemonium
The art is managing the flow of the drama to achieve the desired results. --Big_Beta_Tester
joeld wrote:But we’ve been amazed at the level to which some of the Allegiance fans have remained hard-core.
factoid
Posts: 929
Joined: Fri Sep 02, 2005 7:00 am
Location: Winnipeg, Canada

Post by factoid »

Windows binary works! Woot!

https://www.dropbox.com/s/meomslx4a5x1wtq/FreeAlleg.zip

If you want to give this a run, please be aware that it's setup to crash if the code encounters something I haven't yet delt with, so docking, hitting an aleph or a rock will take it down. However, now that I know the build process works on both OSes I can go back to focusing on adding functionality back in. I can provide the build environment for VS2013 if anyone is actually interested in jumping in.
"I make it a point not to chat with AP off... space is vast, but it's never vast enough for my scout."
Adaven
Posts: 1958
Joined: Sat Oct 25, 2003 7:00 am
Location: Greater Ozarks

Post by Adaven »

_xJammer_ wrote:QUOTE (_xJammer_ @ Apr 3 2014, 03:59 AM) I wonder if any of the "back stage" files that some of us have (including high res textures?) contain textures without lighting baked in. Otherwise it might be a little bit of an issue having to effectively re-texture every model to make it look "nice". Though I am sure implementing alleg-style lighting would not be difficult?

P.S. I have a high-poly model with materials if you want to try that out (not a model of any current alleg ships)
The ship textures were all hand painted with "lighting" built in.

For the asteroids, the art CD's have the Softimage 3D projects.

Softimage was bought out by Autodesk, but the software was continued, although it looks like it is going away. https://developer.valvesoftware.com/wik ... e_Mod_Tool has info on where to grab the last version of the free Softimage Mod Tool.

I've managed to use it to import the asteroid projects in the past. I don't think the import is 100% correct, but it is fairly close. I poked around some, but I never got familiar enough with the software to make any progress. In theory you should be able to re-bake textures or export a higher polygon model.
Last edited by Adaven on Wed Apr 09, 2014 3:06 am, edited 1 time in total.
_xJammer_
Posts: 307
Joined: Thu Nov 11, 2010 7:10 pm

Post by _xJammer_ »

Dont think the roids really matter as much as the ship textures (we could borrow the roids from VegaStrike/etc projects as those are CC).

As for the models, I guess it is a question of whether it would be easier to re-texture them or attempt to implement alleg-style lighting only to break it later down the line as we add "fancy" models.

Alternatively, we could at least get our hands on player-made textures without baking? (i.e. dreg, GT, TF?) at least that will show how "good" they will look like with proper lighting effects.
factoid
Posts: 929
Joined: Fri Sep 02, 2005 7:00 am
Location: Winnipeg, Canada

Post by factoid »

Update: Not dead....

Not a lot to report, I'd been on vacation, and it didn't end up being a productive time for FA development. That said, the current source tree is up to date the few improvements I have made.

I pulled the FedSrv KillShip event code into the IGC library in the Ship::Kill method. That way I can keep only the "Send network message" code in the free alleg code, and the "Generate treasures, create lifepods, etc..." code can remain in the core, rather than FedSrv.

Map was changed from HiHigher to Brawl (No alephs, but both bases in one sector)
Spawned a 2nd scout under "player" control on the other team.
Mounted gats on the scouts.
You can fly over to it and blow it up, creates a lifepod.
You can blow up the lifepod and crash the client.

I'm trying to resolve that issue, but I hit a roadblock in the form of GDB crashing while trying to load the symbolic information for the client. So I'm trying to debug the debugger... it'll be easier to move ahead once that's fixed.
edit (Bug is this, so at least it's apparently been fixed if I grab the right patch: https://sourceware.org/bugzilla/show_bug.cgi?id=14065)

Once I have my debugger back, the short list of the to-dos:

- Hook up the rest of the weapon systems/shields
- Hook up the rest of the flight controls (thrusters, vector lock, etc...)
- Create some kind of basic gui to show what's going on
- Confirm drones work
- Set up a system to let people configure their load and launch waves of opponents

That should get a basic single player experience. From there I'd probably work on the client/server system so that we can at least dogfight multiplayer.

In other news, I'd like to create a Wiki entry for the project so that only the most up to date information is presented in a consistent place, rather than having people need to read through this thread. I'd still post updates here, but just bullet point the changes. The links to git, links to downloads, build instructions, etc... would just be maintained there instead.

Is it ok to do that, or do I need to get approval. I had created a FreeAllegiance wiki page, but I didn't end up with time to add content, and the page was deleted (probably for that reason?). I can also imagine that FreeAllegiance : The Game might be too easily confused with FreeAllegiance : The Website. So does the community have an opinion on the name?
Last edited by factoid on Mon Apr 28, 2014 5:52 pm, edited 1 time in total.
"I make it a point not to chat with AP off... space is vast, but it's never vast enough for my scout."
raumvogel
Posts: 5910
Joined: Sun Jul 20, 2003 7:00 am
Location: My lawn
Contact:

Post by raumvogel »

I think that at this point you can go ahead with what ever you wish. PKK and paps are mainly in charge and I'd think they'd let you know if anything isn't right. You are doing so much towards dev right now, I'd think that any decision you make should be approved.With spring and everything I haven't even had the chance to find a compiler.
Image
Post Reply