The A-Engine: A new Beat 'em Up game engine - Printable Version +- Little Fighter Empire - Forums (https://lf-empire.de/forum) +-- Forum: Little Fighter 2 Zone (https://lf-empire.de/forum/forumdisplay.php?fid=7) +--- Forum: Projects (https://lf-empire.de/forum/forumdisplay.php?fid=10) +--- Thread: The A-Engine: A new Beat 'em Up game engine (/showthread.php?tid=9230) |
RE: The A-Engine: A new Beat 'em Up game engine - A-Man - 01-16-2015 @Someoneelse: A buzzword? I think not. How's a spacecraft made of chocolate innovative in the functionality sense? You explained it by yourself right there. Replacing the main "menu" with a stage, however, alters the way you operate between the modes. Don't compare apples to oranges. A better analogy would be comparing a spacecraft operated by a terminal, where you'd give it commands on what it'd do next, and another that is operated by a wheel and pedals. What is important here is whether it is going to appeal to the players or not in the first place. If the problem is just with the time, one can just assign shortcut keys (say the numeral keys) for each room, or even have a popup menu for that purpose. It can be made to just be a stage in VS mode, and it will actually be, but in that you can't allow stuff like letting the player get into the closed rooms. As for the effort, it wouldn't really be much different than creating a stage since every menu is a game instance by itself where every item is an object affected by gravity and all. I am still going to give it a go and see how it works for myself. You made some very good points though, and I should bring them up next time I discuss this with the team guys. @Rashar: Replicating the LF2 feel into the an A-Engine powered game should not be a problem at all. Actually, I am planning to write an LF2 to A-Engine character converter, but not until I get a stable A-Engine build first. RE: The A-Engine: A new Beat 'em Up game engine - MH-LABEEB - 01-16-2015 a man. U told this is a engine can u archive this engine to rar and give a download link in here. RE: The A-Engine: A new Beat 'em Up game engine - A-Man - 01-16-2015 What I have right now is very unstable and is not ready to be used for development just yet. In case you're asking about the A-Engine game demo, I posted the download link in the previous page. RE: The A-Engine: A new Beat 'em Up game engine - NewToTheEra - 01-16-2015 thats awesome a-man u can be a great game developer you should really go to a field where you actually belong like computer science game developing --- RE: The A-Engine: A new Beat 'em Up game engine - A-Man - 01-16-2015 Thanks! So, I believe I am quite close to releasing the first A-Engine's developers' kit y'all. Stay tuned :P. RE: The A-Engine: A new Beat 'em Up game engine - NightmareX1337 - 06-19-2015 Keep up the good work and please don't feel like I'm trying to start a fight... There are few things I'm going crazy about: First, why on earth people think writing a game using C++ is a good idea?!! It's horrible, verbose, disgusting, error prone and unproductive meanwhile C#, Java and derivatives are exact opposite and there are a lot of sophisticated and flexible libraries out there that makes your life so easy that you can finish the same project like 5 times faster and I'm %100 sure you would get a better result. Another drawback is that it is extremely difficult to implement an AI system in C++ while you can simply use reflection in C#/Java and let other people to code AI in the same language (which is probably much better than the one you created). Don't argue saying C++ is faster because a LF2 like game does not require such high optimization, remember you're not an AAA-Studio you're A-Man. Also keep in mind that most of the Android games are Java. Some people say garbage collection (GC) is a problem, it's NOT. Not only it will save you from manual memory management (MMM), a qualified GC can perform better if you're not a C++ pro. Even if you need to tweak GC, it's a magnitude easier than MMM. After all, "The Witcher 2" is an AAA-Game that uses GC effectively. C# and Java have so great IDE's (Visual Studio, SharpDevelop, Eclipse, Netbeans) that you feel ultra comfortable while writing code and auto-complete makes you uber fast. (Should I even mention those useful profiler tools and incredibly nice standard libraries?) Secondly, I don't understand what the hell is wrong with those who are trying to create their own data syntax/format while they can use existing ones (XML, JSON, YAML, Protobuf, BSON...). You're doing nothing but overloading your work to write a new parser library and it will probably not going to be as fast as existing libraries that parse existing data formats. Also, inventing a brand new unique data format results with need for a new data changer, while someone can simply use Notepad++ to change a XML/JSON based data and syntax highlighting, intellisense and auto-indentation will just work. No one actually needs a new data format, existing ones are sufficient. I would recommend Protobuf as it is really fast, takes low space, backward compatible and rock-solid, but it's a binary format, meaning that it's neither human readable nor editable, it needs a special data changer, but with the help of those great high level libraries, it's not a big challenge to provide that. I would use the following combination: C#/Mono + OpenTK (or MonoGame for a higher level API) + Protobuf-Net Marked as 'dump' by Someone Else (Click to View) Now, I'm shouting to all those who wants to make games, don't prefer C++ just because it's popular except you really really know what you're doing and consider other options before C++ cuz chances are high that you don't know what you're falling for. Notice that Unity (game engine) use C# as it's primary scripting language GC enabled. RE: The A-Engine: A new Beat 'em Up game engine - AmadisLFE - 06-19-2015 (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: Keep up the good work and please don't feel like I'm trying to start a fight... Erm, Hate to go Off-topic here, but LF2 is also Coded in C++, And LF2 is Still better than a lot of games out there, because of its Possibilities, Games don't have to be 3D To be Good you know, and also I know that Doctor A can make Custom AI's in this game possible, just like Silva did for LF2. Also, you don't have to call C++ A Bad Coding Language, reasons are already Told :-) RE: The A-Engine: A new Beat 'em Up game engine - Rhino.Freak - 06-19-2015 I don't know much about the programming stuff but I think that your post is a bit meaningless NOW because A-engine is very much done and developed no matter how "extremely difficult" stuff was to implement here, the core is all already done.. I know that being an A-insider along with many other things like how the engine itself can handle pretty much what you can throw at it. Also I can't help but notice your personal hateful bias towards C++ you were too harsh at it. RE: The A-Engine: A new Beat 'em Up game engine - Som1Lse - 06-19-2015 (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: First, why on earth people think writing a game using C++ is a good idea?!!It's horrible, verbose, disgusting, error prone and unproductive meanwhile C#, Java and derivatives are exact opposite and there are a lot of sophisticated and flexible libraries out there that makes your life so easy that you can finish the same project like 5 times faster and I'm %100 sure you would get a better result.Oh really? One major reason why you would want to use C++ is CPU caches (here here and here), as you have much more control on how data is layed out in memory. Granted for a 2D game this is (like you stated later) less of an issue. It is NOT horrible nor is it verbose, disgusting, error prone or unproductive, nor are C# and Java somehow exactly the opposite. If you this is the case at least provide examples of why you think so. Verbose? (Click to View) I do not see how using a different language would magically be five times faster. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: Another drawback is that it is extremely difficult to implement an AI system in C++ while you can simply use reflection in C#/Java and let other people to code AI in the same language (which is probably much better than the one you created).I doubt that it is "extremely difficult to implement an AI system in C++", so please give examples. That said reflection is a feature that C++ is lacking (there is a study group for it though). I would add that one reason for having AI work using a different language, is that you would be able to change the AI without having to modify the source code. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: Don't argue saying C++ is faster because a LF2 like game does not require such high optimization, remember you're not an AAA-Studio you're A-Man. Also keep in mind that most of the Android games are Java.A game like LF2 may not require nearly the same level of optimization, but it is really easy to paint yourself into a corner with poorly performing code (goes for C++ as well). That said I agree that it is probably not a big deal here. A lot of Android games using Java is an appeal to majority. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: Some people say garbage collection (GC) is a problem, it's NOT. Not only it will save you from manual memory management (MMM), a qualified GC can perform better if you're not a C++ pro. Even if you need to tweak GC, it's a magnitude easier than MMM. After all, "The Witcher 2" is an AAA-Game that uses GC effectively.I have been programming in C++ for many years, and I seriously do not think memory management is a problem. Use smart pointers (unique_ptr, shared_ptr, whatever you write yourself) for owned resources and the problem is mostly solved already. Source on The Witcher 2? (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: C# and Java have so great IDE's (Visual Studio, SharpDevelop, Eclipse, Netbeans) that you feel ultra comfortable while writing code and auto-complete makes you uber fast. (Should I even mention those useful profiler tools and incredibly nice standard libraries?)I am not sure that this was meant as an argument against C++, but yeah three out of four of the IDEs you mentioned also work for C++. There are of course also other C++ IDEs (Code::Blocks, CodeLite). Profilers are also available for C++, although (like previously mention) the standard library is somewhat lacking in comparison to that of C# and Java. It is being worked on (and there are non standard libraries available) but for the moment that is indeed a valid argument against C++. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: Secondly, I don't understand what the hell is wrong with those who are trying to create their own data syntax/format while they can use existing ones (XML, JSON, YAML, Protobuf, BSON...). You're doing nothing but overloading your work to write a new parser library and it will probably not going to be as fast as existing libraries that parse existing data formats. Also, inventing a brand new unique data format results with need for a new data changer, while someone can simply use Notepad++ to change a XML/JSON based data and syntax highlighting, intellisense and auto-indentation will just work. No one actually needs a new data format, existing ones are sufficient. I would recommend Protobuf as it is really fast, takes low space, backward compatible and rock-solid, but it's a binary format, meaning that it's neither human readable nor editable, it needs a special data changer, but with the help of those great high level libraries, it's not a big challenge to provide that.This is not necessarily wrong, but I can come up with a good reason for this, namely it can be easier to read and write for humans, which is the same reason why programming languages don't use a markup language structure. By a special data changer I imagine (correct me if I am wrong) that you mean a graphical interface with textfields and other controls as opposed to just an editor with a large textarea, where you write code, but in my experience such a program can easily be slower than simply writing everything in a texteditor. Notepad++ would also be usable for any new format, that is stored in plain text. Making a syntax highlighter for a new language is not a problem in Notepad++. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: I must add that bytecode compiled languages are easy to do reverse engineering (so easy that you can extract most of the source code just using a simple program such as ILSpy). Thus, it's more likely that your game is going to be moded (and obviously we're trying to create an extensible game).I do not see how you could at all sell this as a feature. Honestly that is just dumb. You would achive the exact same effect by simply releasing the source code. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: If you don't like the idea of source theft, you can always obfuscate your code. But if it's not enough, and you still want your code to be compiled into native CPU instruction sets, then do yourself a favor and learn "D Programming Language". With the help of Eclipse + DDT plugin (and a compiler of course), anything is possible.Honestly source theft is not a thing I would worry about, no matter how easy it would be, so I will not argue against that. I do not know much about D, but there is certainly some things I like (for example the ! syntax for templates is somewhat nice, and so is the static if stuff), but that is about it. (06-19-2015, 04:10 AM)Nightmarex1337 Wrote: Now, I'm shouting to all those who wants to make games, don't prefer C++ just because it's popular except you really really know what you're doing and consider other options before C++ cuz chances are high that you don't know what you're falling for. Notice that Unity (game engine) use C# as it's primary scripting language GC enabled.I guess I may as well then shout to everyone who wants to make anything: Do not just prefer C# and Java because they are easier than C++, because they are not. Try out the languages a bit and get a feel for the style you like to use, then pick a language that you like. Personally I find Java especially (and somewhat also C#) to be too lacking in core language features. RE: The A-Engine: A new Beat 'em Up game engine - A-Man - 06-19-2015 Spoiler (Click to View) Spoiler (Click to View) While I am not going to argue and say C++ is faster, I will say that what LF2 is capable of is barely a thing with the A-Engine. As the A-Engine is to support polygonal platforms, one might need to go a bit over simple 2D stuff (using 3D models for platforms, and consequently shadow mapping would be a must. The physics would have to get more elaborate also.) I am not a very good programmer like you are, and C++ being faster in nature is a big plus for me. I still often reach bottlenecks even with C++, and I don't think I can afford moving to something more high-level until I have a good grasp on how things work on a reasonable fundamental level. As for the auto-completion, I've tried VS, DevC++, Eclipse and Code::blocks IDEs and all those have the auto-completion feature as SomeoneElse have mentioned. Spoiler (Click to View) Spoiler (Click to View) |