Free Allegiance!

Catch-all for all development not having a specific forum.
doofus
Posts: 109
Joined: Wed Jul 02, 2003 7:00 am

Post by doofus »

_xJammer_ wrote:QUOTE (_xJammer_ @ Mar 12 2014, 11:22 AM) Djole + Co - aim is to have a clean clone of allegiance, with no MS code to start with, focused on simplifying modding (game logic done in text-editable lua) and keeping the engine code closed, permitting to commercialise/put it on Steam/kickstart/etc. (GPLing the code at any step when the team decides to seize development)
This sounds interesting. How far along are they? Do they have their own site somewhere?
Save the whales. Collect the whole set.
Image
djrbk
Posts: 2341
Joined: Tue Jul 01, 2008 5:51 am

Post by djrbk »

+1 on thanks for doing work here. I don't understand much about coding, so most things posted around here are pretty much gibberish to me, but it is nice seeing updates about things happening.
Last edited by djrbk on Wed Mar 12, 2014 8:48 pm, edited 1 time in total.
KGJV
Posts: 1474
Joined: Tue Jul 01, 2003 7:00 am
Location: Transilvania

Post by KGJV »

Just so you know , there is a 3rd ongoing project.

We're working on something similar but with a very different approach.

Our plan is to move everything that is related to the 'game logic' from native code to scripting code (mainly IGC and other bits like collision detection).

The chosen scripting language is Dart and the 1st step is to "stitch" the DartVM to Allegiance native code. Then we'll move the IGC code to script code.

Once that is done, the network code will also be moved within the Dart space (using websocket).

The next steps are keep secrets for now...

This is not a hobby work, it's my new 100% full time job for, at least, the upcoming 12 months.

Some communication about this will happen around june depending on the result of the 1st step.
Last edited by KGJV on Thu Mar 13, 2014 9:14 am, edited 1 time in total.
Image
Dome
Posts: 4304
Joined: Fri Sep 08, 2006 7:44 am
Location: Portland, OR

Post by Dome »

wow just awesome. Good to hear from you Kage! Looking forward to what you, factoid, djole, and others can come up with! Please use us and each other as resources!
_xJammer_
Posts: 307
Joined: Thu Nov 11, 2010 7:10 pm

Post by _xJammer_ »

KGJV wrote:QUOTE (KGJV @ Mar 13 2014, 05:12 AM) //snip//

Definitely not meaning to subvert Factoid's thread, but a little confused by your approach, as you are trying to transfer the alleg's game logic to Dart, while retaining the rest of the engine on as-is basis? It sounds like a lot of work for very little return, as the majority of the bottleneck is in the alleg's core engine (bottleneck in technology support, i.e. eye-candy, networking,etc). If you mean to then create an engine around your Dart code at a later stage, then wouldn't it be easier to do it the right way round and start with the engine first? Especially makes sense if you are working on it full time... Kind of unfortunate that you are so secretive about the project, as it would make sence to either pool the resource, or at least exchange the knowledge between these attempts...
Last edited by _xJammer_ on Thu Mar 13, 2014 11:51 am, edited 1 time in total.
dusanc
Posts: 1302
Joined: Sat May 16, 2009 12:06 pm
Location: СРБИЈА/Serbia

Post by dusanc »

15 years without alleg fork and then 3 forks in 3 months. o.O
Can you coders get a room and some beers?

PS. We'll probably hear about Imagos fork on april 1st...
PPS. Whoever makes Occulus Rift support first wins.
Last edited by dusanc on Thu Mar 13, 2014 6:30 pm, edited 1 time in total.
- "History repeats itself for a reason" - "It's easy to cry for war when you've never experienced it" - "It's better to negotiate for 10 years then make war for 10 days" - "The strong do as they will, and the weak do as they must"
Image
_xJammer_
Posts: 307
Joined: Thu Nov 11, 2010 7:10 pm

Post by _xJammer_ »

I bet there were multiple forks, just majority tried either commercial route, or any other than a community driven source repo (otherwise we would have it already).

There are 2 main issues causing it:
- MS license code is similar to GPL in virality, so you have to get a clean engine to work with, a lot of allegiance people were not aware of open source engines out there
- If you are getting a clean start, there is little reason to associate with community that rarely shown any support to developers

I actually think that Factoid's approach has the best shot at it, especially if it becomes the "official" open source remake of alleg around here. It would also mean that other developers would be immediately able to contribute the code to a common pool, rather than have the segmentation that is very apparent here...

Which is also the logic behind open-sourcing our (Djole's) attempt if it fails to pull off any sort of commercial attempt, as it should provide a good base for newcomer developers to start off from.
Last edited by _xJammer_ on Thu Mar 13, 2014 8:27 pm, edited 1 time in total.
factoid
Posts: 929
Joined: Fri Sep 02, 2005 7:00 am
Location: Winnipeg, Canada

Post by factoid »

Status update:

IGC Library seems to be stable thus far, but I'm in the middle of writing unit tests for the library (basically small programs that prove things work they way they should).

Right now I have been able to load cc_14, create a side, create a ship on that side and outfit it with it's default loadout. I'm advancing time but the shields don't appear to charge or anything else, so I'm missing something.

Basically I'm reviewing the code and the FedSrv code to work out how the IGC library is actually used by a program. So if anyone else wants to get involved and help to write Doxygen documentation for the library or write unit tests, it would be greatly appreciated. Alternatively if anyone wants to pull the code into a VC++ 2012/2013 express edition project and confirm that it builds with that compiler's implementation of the C++11 standard, it would go a long way to ensuring that I don't accidentally write something that's Linux only.

For those of you who aren't C++ savy, brainstorming a list of things to test would be also helpful. Generally, unit tests just setup a basic scenario with known starting points and check to make sure the ending points are what you expect. So for example, a teleport test for a ship might be described as:

Create two sectors linked by an aleph.
Spawn a teleport in one sector.
Spawn a ship in the other.
Instruct the ship to teleport.
Advance time in small increments until the ship's rip delay has passed.
Confirm that the ship is near the teleporter.

A simpler description of that would be "Test that a ship can rip from one sector to another containing a friendly teleport receiver"

There are a lot of atomic little things that we can check with mini programs before moving into writing the client/server. And you folks will most likely think of things I have missed.

I hope that within a month or two we should have most of the IGC library documented and tested, at which point it should be the right time to work on the client/server applications. I'm very happy at least that the question of "can this work" seems to be 'yes', and since my modifications didn't touch any of the game's logic mechanics, I'm mostly just looking for places where I've introduced crash bugs or other memory management/collection iteration issues.

If you want to get involved, it's simply a matter of getting a copy of git, and checking out the code from
https://github.com/Factoid/alleg-core
and
https://github.com/Factoid/free-allegiance

Happy hacking!
"I make it a point not to chat with AP off... space is vast, but it's never vast enough for my scout."
factoid
Posts: 929
Joined: Fri Sep 02, 2005 7:00 am
Location: Winnipeg, Canada

Post by factoid »

I installed VS 2013 Express Edition and setup a build environment for alleg_core. It has a dependency on boost and assumes the library will be in your VS projects folder. But I was able to build the DLL under windows. Hopefully that'll take some of the pain out of getting the environment setup for those who want to check it out. I haven't got the testing suite converted into a project yet. I should really learn CMake and let it deal with all this.

Test wise I've got it loading a core, creating a mission (Sectors, alephs, initial bases, asteroids), and I've spawned and launched a ship from a garrison. I'm going to add a test that flies the ship into a rock to confirm the collision detection routines are working, then try spawning another ship in and blowing it up. These are all just "in code" tests, but once the "main" stuff is good I should be able to start integrating this with the client application, let you actually fly around, minus a hud or other interfaces.
"I make it a point not to chat with AP off... space is vast, but it's never vast enough for my scout."
KGJV
Posts: 1474
Joined: Tue Jul 01, 2003 7:00 am
Location: Transilvania

Post by KGJV »

_xJammer_ wrote:QUOTE (_xJammer_ @ Mar 13 2014, 09:27 PM) There are 2 main issues causing it:
- MS license code is similar to GPL in virality, so you have to get a clean engine to work with, a lot of allegiance people were not aware of open source engines out there
- If you are getting a clean start, there is little reason to associate with community that rarely shown any support to developers
I completely agree with the 2nd point and partially with the 1st.
_xJammer_ wrote:QUOTE (_xJammer_ @ Mar 13 2014, 09:27 PM) I actually think that Factoid's approach has the best shot at it, especially if it becomes the "official" open source remake of alleg around here. It would also mean that other developers would be immediately able to contribute the code to a common pool, rather than have the segmentation that is very apparent here...

Which is also the logic behind open-sourcing our (Djole's) attempt if it fails to pull off any sort of commercial attempt, as it should provide a good base for newcomer developers to start off from.
I don't quite agree with his approach: the choice of C++11 is rather odd , even more if the 1st step is porting IGC.

Almost everyone working in game dev business would not agree with him and rather agree that IGC ( the main game logic ) should be rewritten using a scripting language for 2 immediate benefits and more future ones:
- to get ride of MS license, which is important for moving forward.
- to broaden the audience that can contribute. The main thing that plagued Allegiance development was the complexity of its code and 'build tools'. Not everybody could contribute, only very few seasoned/skilled C++ developers and even among them a lot were repelled by the state and quality of the code.

Looking back at the last 10 years of Alleg development, the key point that kept this game alive was that players and not coders could modify some parts of the game: cores at start and later artwork (models, textures, etc). That is what kept this game alive for so long: core fixes & changes, the "cores war", the new factions. Sure, code changes we made later when MSR released the source helped but these weren't as fundamental. Tools like ICE and others were more instrumental in this and I'm not saying that because I made ICE. Just look back at the history.
Sov* then later ASGS and CSS were instrumental too but, imho, these systems dragged down the game once we had the source (more later on that another day if I have time).

so, IMHO, the lessons I've learned with Alleg is that for a community game it is important that almost everyone in the community can contribute to change, enhance and fix the game. Not only a few skilled ones or a few 'elected/selected/self appointed management people'...

To do so, a new 'Alleg' should be based on something with an 'edit' feature at its core.

The new Alleg I envision will have 2 main buttons: 'play' and 'edit'. By hitting play you can select which 'alleg' you want to play, you'll see the list of currently available games or you can create a new one by choosing a "core" like now.
But a 'core' in this new alleg is so much more than a 'core' in current Alleg. it's static datas like now plus all the IGC code and the required artwork assets as well as the UI.
When you hit the 'edit' button you enter some kind of "editor" where you can change static datas, the whole IGC code, add/remove/edit artworks assets and add/edit UI elements.
Then you can hit 'save' then 'publish' to save it in the cloud...
You just forked 'Alleg' and made you own version that anyone can play without requiring an admin or an authority to validate and publish your changes. Any game created with your version can be joined by people using your version or compatible versions (that is derived versions that share the same game logic code and datas so, for instance, UI only changes or different textures).
That's is, IMHO again, fundamental and rather a "game changer" for game development if I may say such a thing...

Without giving out too much technical details that is on what I'm working on atm. An online platform/tool that allows that kind of stuff. They key idea is to basically github'ing a complete game allowing anyone to create a variation of it (or a 'mod') and to share it and play with anyone. The system takes care of everything and everything is integrated in a single online tool. Nothing to install or buy . That's not specific to Alleg and can be used to create almost any games you can think of...

But we're (very very) far from this yet and (I hope that) factoid will probably have something running way before so I can but just encourage his endeavor despite that I don't completely share his approach.
Image
Post Reply