New engine please

For developmental things relating to the graphics of the game.
User avatar
Lucifer
Project Developer & Local Moonshiner
Posts: 8610
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Re: New engine please

Post by Lucifer »

sinewav wrote:
aP|Nelg wrote:is that not possible?
The devs can do whatever they want. The can rewrite the code and make Armagetron .5 a spreadsheet program, but that also wouldn't make sense. But the names and numbers are not important. What is important is development, so let's not worry about the superfluous.
Guaranteed if we switched engines and went to rewriting from scratch, we'd call it the 0.5 developmental series. ;)

On that subject, it's worth noting a few things. Regardless of which non-C++ engine we may choose, there are a lot of code snippets in the existing codebase that can be reused, after appropriate translation. And by translation, I mean "copy and paste the C++ code, then modify it until it's the target language", which I've done a few times with other projects ;) . So it may sound like "huge rewrite", when really it's more like reorganizing your filer. You still keep the same files, you just rearrange where they go.

I'd argue heavily against Unity, but am willing to keep an open mind while Z-man looks at it, because, you know, at the end of the day I don't get to tell Z-man what to waste his time on. :) (My argument would be idealistic in nature, not about practicality)

But what I'm most confused about, Z-man, is that last time I checked, you loved Python and would have been happy to rewrite arma in python. When did the hate develop?

(Panda3d, having network support already, we'd be able to still use the encoder/decoder stuff we use now, and we'd be able to do a lot of copy/paste stuff, and it already has OpenAL and all sorts of good stuff. It *was* developed by Disney originally for real professional video games....)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden

User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: New engine please

Post by Jip »

Lucifer wrote: But what I'm most confused about, Z-man, is that last time I checked, you loved Python and would have been happy to rewrite arma in python. When did the hate develop?

(Panda3d, having network support already, we'd be able to still use the encoder/decoder stuff we use now, and we'd be able to do a lot of copy/paste stuff, and it already has OpenAL and all sorts of good stuff. It *was* developed by Disney originally for real professional video games....)
Looking for python? Allready tried Godot Engine?

User avatar
Z-Man
God & Project Admin
Posts: 11262
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne, Jabber: [email protected]
Contact:

Re: New engine please

Post by Z-Man »

Lucifer wrote:But what I'm most confused about, Z-man, is that last time I checked, you loved Python and would have been happy to rewrite arma in python. When did the hate develop?
Hate? It's still in my top three favourite programming languages. Before Java, all things Basic, Javascript, and php. I just happen to like C# even more, once you worked with that in an IDE with good support (auto completion, easy refactoring, reliably finding all uses of a function), I find it very hard to go back to just editing text files in emacs (hyperbole alert. Yes, I know there can be code completion for Python even in emacs). And Python is just not very well supported on mobile platforms.

Regarding versioning, or to pose the really relevant question, regarding backwards compatibility with 0.2.8 and 0.4: A Unity project would most likely be a full reboot without any form of initial backwards compatibility. Many systems need a total overhaul: UI and network can't be reused. Others beg for an overhaul: Our map system is archaic compared to what the plain Unity editor can do. Everything zones 2.0 can do is easily done with Unity's component model. The settings are just too rigid; you want a system that can give team A a longer tail than team B. All that takes time. Backwards compatibility is another big chunk. When the first usable version comes out (very optimistically, two years after work begins), chances are that nobody would care about backwards compatibility any more because nobody is playing. Better leave the old baggage behind, at least at the start.

So we might as well name the thing Cyclotron or Grid Tracers and call it a spiritual successor. If it turns out to be in demand after all, backwards compatibility could be retrofitted. The plan I've been mulling about for the last couple of days (I have lots of time to think! Just not lots of time to actually do stuff) is this:
You keep the back end (the game logic) separated from the front end (UI, graphics, sounds). The back end and front end communicate over simple interfaces, many of them the standard Unity stuff (back end cycle code would just move the game object around, front end puts the graphical representation there).
Version 1 of the game comes with front end and back end version 1.
Version 2 of the game comes with front end version 2 and back ends version 2 and 1. A bridge makes back end version 1 look like version 2 to the front end. Back end version 1 would be used for old content and connecting to old servers.
Version 3 comes with front end version 3 and back ends 3 and 2 and maybe 1, depending on whether we want to bother supporting that. And a bridge from 2 to 3, the bridge from 1 to 3 would be the composite of the bridges from 1 to 2 we already have and the one from 2 to 3.
Since each back end then only needs to be compatible with itself network and game code wise, network communication is simplified and we have the liberty to change as much as we want while developing a new version without causing compatibility woes; the old code capable of talking to old (well, current stable) servers is simply kept alive as it was. Most of the compatibility handling code is isolated in the bridges and easily removed when it is no longer needed.

Well, and if you then want backward compatibility with classic armaad, you write back end version 0 supporting that and a bridge to whatever is current. Easy as pie! And if we want to reuse classic code verbatim, it has to be done that way and distributed in a separate installer. Because Unity is not GPL compatible, best we can do is make the new game code LGPL or equivalent. The classic code can be linked to the LGPL bridge no problem and distributed that way, but the linking with the Unity runtime would need to purely happen on the player's machine where the "as long as you don't redistribute, you can do what you want" clause of the GPL applies.

User avatar
/dev/null
Shutout Match Winner
Posts: 820
Joined: Sat Sep 04, 2004 6:28 pm
Location: Chicago-ish

Re: New engine please

Post by /dev/null »

If you guys turn this into a browser based plugin game, im going to laugh my ass off. Ive never seen Unity used for anything other than that. Plus that shits basically just the new version of flash, but with quite ridiculous liscensing systems included. To port this game to do it would be a gross violation of the GPL im fairly sure.

Frankly im not a fan, and this game is simple enough that making your own engine would likely take less time that learning thiers and then wading through the legal bullshit, and then adjusting it so the game isnt a complete clusterfuck like .4

User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: New engine please

Post by Jip »

/dev/null wrote:If you guys turn this into a browser based plugin game, im going to laugh my ass off.
Actually you can deploy your game To many platforms.
/dev/null wrote:Ive never seen Unity used for anything other than that.
Have a lok here and here :)

Word
Reverse Adjust Outside Corner Grinder
Posts: 4168
Joined: Wed Jan 07, 2009 6:13 pm

Re: New engine please

Post by Word »

@devs: BTW, when I was working on our clan's vanity project, we used Dropbox as the folder for the unity project. Would it speed things up if you do that? Maybe that's a way people from outside can contribute and all you have to do is approve, but I don't know if your open-source-hosters already offer a program/service like that.

User avatar
Z-Man
God & Project Admin
Posts: 11262
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne, Jabber: [email protected]
Contact:

Re: New engine please

Post by Z-Man »

Word wrote:Would it speed things up if you do that?
Probably not. How the project is shared is of very little importance. I'd just throw it all into git.

User avatar
Jip
Round Winner
Posts: 397
Joined: Sat Sep 26, 2009 5:32 pm

Re: New engine please

Post by Jip »

kyle wrote:
Z-Man wrote:
Word wrote:Would it speed things up if you do that?
Probably not. How the project is shared is of very little importance. I'd just throw it all into git.
It would be nice to convert our launchpad bazzar to git
Yes please! :)

@Z-Man are you already setting up a project? You may want consider using a framework what keeps your code organized and independend from Unity. It saves you a lot of trouble (regarding testing etc.) to let only the views inerhit from MonoBehaviour. For our project right now (very GUI heavy) we use StrangeIoC that also brings some kind of MVCS architecture. At the Unite in Amsterdam I heard a talk from the creators of Entitas. It also looks very interesting but I didn't have the time to play around with it.

User avatar
Z-Man
God & Project Admin
Posts: 11262
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne, Jabber: [email protected]
Contact:

Re: New engine please

Post by Z-Man »

kyle wrote:It would be nice to convert our launchpad bazzar to git
I tried the conversion the other day, ran into a problem with our corrupted branch. 0.2.8 converted fine, though. The only conversion option open to us may therefore be to import 0.2.8 properly, branch 0.4 in git and just slam the current code over there, forgetting about the history. Slavishly trying to keep all history is in part what got us into the mess we're in now, that 0.2.8 can't be merged into 0.4 on bzr. We'd have to move 0.4 development completely to git, existing branches would need to be converted and adapted if they should live on. I would not object.
Jip wrote:@Z-Man are you already setting up a project?
Hah! No.
Jip wrote:You may want consider using a framework what keeps your code organized and independend from Unity. It saves you a lot of trouble (regarding testing etc.) to let only the views inerhit from MonoBehaviour.
Yep. I'd definitely also keep as much as possible of the code out of the Unity project and in a separate solution.

Thanks for the links, they're definitely interesting. I'm personally not too keen on behind-the-scenes code generation of any kind, mind.

Monkey
Match Winner
Posts: 725
Joined: Thu May 22, 2008 12:36 am
Location: England, UK

Re: New engine please

Post by Monkey »

All this talk about Unity is just speculation and joking around...right? I'm passionate about open source and it would affect me in a very negative manner if Unity were to be seriously considered.
Playing since December 2006

User avatar
Z-Man
God & Project Admin
Posts: 11262
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne, Jabber: [email protected]
Contact:

Re: New engine please

Post by Z-Man »

Idle musings at this point. It's not like we're magically going to find enough time to spring into action anyway.

Word
Reverse Adjust Outside Corner Grinder
Posts: 4168
Joined: Wed Jan 07, 2009 6:13 pm

Re: New engine please

Post by Word »

btw, I'm trying to learn some JavaScript with Codecademy now that I have time. Does anyone know any good, free tutorial sites for C++?
(One of my neighbours actually placed a book about it next to the garbage bins, so I picked it up. But I'd prefer some interactive site so I can see if I do it right, and I remember it better that way.)

User avatar
2020
Outside Corner Grinder
Posts: 1310
Joined: Thu Dec 29, 2005 9:21 pm
Location: the present, finally

Re: New engine please

Post by 2020 »

Interesting discussion. I really enjoy reading eg Z-man description of what is needed, and evolution of thought over the weeks. Although I can't code, I actually enjoy watching coders code -- I've set up live skype calls with screensharing so I can see a debugging session. Like watching a pianist. Can't code, but can appreciate the mental music.

Anyway, while reading I thought about contributing some cash. I know this community hasn't been great dealing with the issue of money -- perhaps one of the factors which influenced me to develop our app in the first place. We're building a financial engine, prototype just about finished, and we've raised just enough cash for beta. Use-case potential was looking healthy till yesterday -- we were looking at 6,000 users this winter. Long-story-short, all I can offer at the moment is £100/month if that helps. Have there been any advances on eg community fund?

I'm up for continued development, upgrading, to bring this superb game to the masses.
hold the line

User avatar
sinewav
Graphic Artist
Posts: 6225
Joined: Wed Jan 23, 2008 3:37 am
Contact:

Re: New engine please

Post by sinewav »

Hey 2020, long time no see!

I was just thinking that a new version of Arma could have some easy "parental controls" built in to make the game friendlier to kids. I'm hoping by next spring I'll have more time and money to devote to this game for development.

Hope to see you in Ladle one day soon.

User avatar
aP|Nelg
Match Winner
Posts: 558
Joined: Wed Oct 22, 2014 10:22 pm
Contact:

Re: New engine please

Post by aP|Nelg »

sinewav wrote:I was just thinking that a new version of Arma could have some easy "parental controls" built in to make the game friendlier to kids.
If parents are going to use this in the game, they should also use it on the web browsers. It would be useful for young players playing this game though, so that they may not be saying words they don't know what the meaning in school, getting themselves in trouble.

Sure, we can implement parental controls if anyone thinks its a good idea.


Is this post a little bit useless? I don't type things 300 paragraphs long, causing not very many people read, so you should be happy.

Post Reply