With squares units are moving faster when they perform slanted (what word do you use for lines which are not horizontal nor vertical?) move.
True. But hexes allow you to do this:Squares, from a development and rendering perspective they are easier.
True. But hexes allow you to do this:
http://forum.unity3d.com/threads/156601-HexGlobe-Hex-based-planetary-globes-for-strategy-games
What is idiomatic C++ and C# in terms of operations like bitwise shifts on ints, ints comparisons, ints assignments, new-s, reference assignments? No, I think that could be rather something like pessimistic case for memory management. And yes in most cases, C# can be almost so fast as C++, but there are also cases where it just needs to be 3-4 times slower (at least). It is implicated by GC and its strong type system. And another thing is, in C++ you can use some dirty tricks which can significantly improve speed. And as I said with such heavy evaluations like in C2C or even heavier (for example, I have a concept of a game hundreds times more demanding) I would do not resign from any available computation power, even it speeds development up 3 times.Also @n47 I'd disagree with C# being slower than C++ by too much. It could be the case that you developed an algorithm using idiomatic C++, rather than idiomatic C#. Also C# has a number of features (async, lazy evaluation of enumerables, better tools, faster built time, ...) that makes it faster (in those cases) and more convenient than C++. I started out developing this in C++, and gave up because actually implementing things starting getting too difficult (mainly due to long compile times).
What is idiomatic C++ and C# in terms of operations like bitwise shifts on ints, ints comparisons, ints assignments, new-s, reference assignments? No, I think that could be rather something like pessimistic case for memory management. And yes in most cases, C# can be almost so fast as C++, but there are also cases where it just needs to be 3-4 times slower (at least). It is implicated by GC and its strong type system. And another thing is, in C++ you can use some dirty tricks which can significantly improve speed. And as I said with such heavy evaluations like in C2C or even heavier (for example, I have a concept of a game hundreds times more demanding) I would do not resign from any available computation power, even it speeds development up 3 times.
I would agree that C++ compilation time is a problem, but
async -- is it not enough? http://en.cppreference.com/w/cpp/thread
lazy evaluation of enumerable -- you can do it by your self in one day
better tools -- don't be so rushy, have you already checked those thousands tools created for c++, so you can be sure?
And another thing is -- are you aware of C++11? It makes C++ much much more friendly.
C * ptr = ::operator new (sizeof(C) * 100);
for (int i = 0; i != 100; ++i) new (ptr++) C(i);
Arts anyway would need redoing.1. Art resources are in a square format, so you will have to convert them somehow to a hex.
Easy.2. Once converted you will have to have knowledge of the hex template to position the hexes so they tessellate properly.
Slightly harder, but still easy.3. Once you have these positioned you have the complexity of working out when your mouse hits that tile.
Have you meant this http://msdn.microsoft.com/en-us/library/vstudio/hh156513.aspx ? I thought you are just saying about asynchronicity.std::thread is not async, the two are completely separate.
Aren't you forgetting about the garbage collector? This little fellow will not allow you C++ and C# be speed equivalent, if only your memory isn't (almost) static.But the majority of the calculation using the right data structure should be equivalent.
There is some chance, there would be something in AI. But I am fresh with this code, so it is not serious to ask me. Still even that algorithm which I mentioned could be used here, as it was some graph algorithm -- little theory cheating, as it assumed, we can fit each node's index into CPU word, but it was insanely faster then traditional algorithms. Still, C# have been broking it somehow. And I've viewed this code with one another academical worker and we could not find any sensible reason.Do you have a link to the source for any of the C2C code that would be wholly infeasible in C#?
For me they do not speed up development too much.Visual Studio simply has better tools for .NET languages: better intellisense, better profiler, better refactoring, extra tools like Code Contracts (which would be nigh impossible to implement with C++).
Actually whole this forum is pretty chatty, so probably no one will shoot us.Anyway this probably isn't the place for this kind of talk...
Well, if we would talk about Windows, then yup, we can link C++ and C#. But for other OSs we would probably need CXXI, which does not look like is going to be finished. And I would not do a favour to MShit and help making Windows-only solution.
And do not discard C++ so much. We have a guy here, who can't add, but can write C++ code.![]()
It's no walk in the park getting C++ code to work across different OSes either. It's something you have to decide on as a goal at the very start of the development, and it restricts your options when it comes to libraries. It'd also either force you to choose either x32 or x64, or put in extra effort to have it work on both. If cross OS compatibility is a major goal, Java might be considered - though I truly dislike that language.Well, if we would talk about Windows, then yup, we can link C++ and C#. But for other OSs we would probably need CXXI, which does not look like is going to be finished. And I would not do a favour to MShit and help making Windows-only solution.
And do not discard C++ so much. We have a guy here, who can't add, but can write C++ code.![]()
That looks like a possibly awesome game.I think we may have been beaten to it.
I've been thinking along similar lines I think. So you may well be able to consider me 'in'.@Hydro, you do not believe in my creativity.
Actually I've thought about something somehow similar, but with more -- enigmatically saying, but I can't sell my ideas for free just like that -- points of view. Where the first of them, I wanted to be something like c2c. I also wanted to simplify the world to make it easier to evaluate. So there would be for example no fixed set of resource. Planets' creation would be simulated and new chemical elements/compounds would be created. Then their properties would be evaluated and ... oh again I would say too much.But yeah, I have an idea for something probably even bigger then this virtual universe.
![]()
No. The restriction are libraries, but if you can use C++ correctly here -- like encapsulate platform-dependent code and maybe sometimes use templates -- then no, you do not need the supported platforms set to be decide at the beginning.It's no walk in the park getting C++ code to work across different OSes either. It's something you have to decide on as a goal at the very start of the development, and it restricts your options when it comes to libraries. It'd also either force you to choose either x32 or x64, or put in extra effort to have it work on both.
Is JavaCPP finished? Or is there an another Java-C++ bridge, which I am unaware of?If cross OS compatibility is a major goal, Java might be considered - though I truly dislike that language.
Have you even tried? I just compiled 3 big libraries for x32 and x64 from the same sources.It'd also either force you to choose either x32 or x64.
The main problem is not "so little time", but "- oh, AXXXXE, what a great idea! - ok, so who is in? - well, it is so big, it needs too much time, we do not have graphic guy, it doesn't make sense". Well, or at least I have such impression.Thunderbrd said:But I'm very interested to see where AXXXE may take us as well... Someday... someday. So much to do here so little time.