• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Vlad Muresan

XNA vs Love2D vs Java performance

7 posts in this topic

Hello guys !

 

     For quit a long time i am trying to decide what language and engine should i choose! I learnd Java for 7 mounths and i know almost everything about the syntacks and how its works.But i heard that Java is slow for making games (PC games) and very good for Android. After that i search for C# and Xna and i heard a lote of good things about it but i cant find any tutu for Xna 4.0 for making games.My plan its to read tutus and after that i start  making games on my own. 

    Because i could not find any tut i started making simple games in Love2D but as i know Lua its just a script language and because of that i think its not fast enought to make big projects.

   My goal its to make just 2D games where i can draw many objects whitout be worried of performance issues. 

  Thanks for reading!

0

Share this post


Link to post
Share on other sites

It depends on what you want to achieve. I wouldn't try to write the core engine Doom (N + 1) in Java, or Lua. That said, I wouldn't try to write it in any language because it would be an unreasonable goal for a hobby project.

 

So when people talk about performance and languages you have to bear in mind what they are coming from. For example. if [url="http://en.wikipedia.org/wiki/John_D._Carmack"]John Carmack[/url] doesn't use these languages, it is because they are technically unsuitable for what he is trying to achieve. However ID's gameplay programmers are probably using some kind of scripting language with performance characteristics similar to Lua. However [url="http://en.wikipedia.org/wiki/Markus_Persson"]Markus Persson[/url] finds Java perfectly adequate for what he is trying to achieve.

 

The real question becomes, is Technology X suitable for the game you want to make and can make? For beginner developers, the technology is rarely the limiting factor.

2

Share this post


Link to post
Share on other sites

Java can do the job, just off the top of my head I can think of 2 big games

http://www.runescape.com/

https://minecraft.net/

 

XNA is a good platform too, and since C# and Java are very similar you may have no trouble learning it.  Here is one basic tutorial, and there are many other's on the same site:

http://xbox.create.msdn.com/en-US/education/tutorial/2dgame/getting_started

I know it says for xbox, but C# XNA can be compiled for Windows too.  You can choose to ignore all the steps concerning xbox.  On the bottom, just download the one that says: Project and Content - Windows.

Edited by Alan C
1

Share this post


Link to post
Share on other sites

Since this is posted in the beginners forum, I will say at that level, the performance difference is more likely to be the programmer than the platform.

 

Otherwise, I would actually look at those platforms as all being somewhat comprable in performance.  I've not got a lot of experience with LOVE, but Lua is capable of being exceptionally quick for a scripting language.  Between C# and Java, I give C# the speed nod simply because it's native invocation system is faster.  That is often the achilles heel of Java titles, but again to beginners, will be a very small, almost unimportant factor.

2

Share this post


Link to post
Share on other sites
Java is slightly slower than C++ across all platforms, however the rendering of your game is done in the graphics API not Java. For instance, to make a nice fast game on windows you would invoke the DirectX API (yes it's true DirectX is faster on windows than Open GL is. On every other platform Open GL is faster, it's a little known fact that windows since Vista has been actively hindering OpenGL to favor Direct X. The underlying operating system some how impairs the path to the video card for anything that isn't Direct X.)

C# is faster on Windows than Java in most cases but still just slightly slower than C++ in some areas. In some other areas C# is actually faster (namely when making direct hardware calls, but this isn't to be confused with DirectX still having control over your video card. C# will perform faster directly reading hardware such as say a USB input device because of the nature of the two part compilation wherein C# programs self optimize themselves to your specific hardware).

We also have come to the point where computers are fast, even the old ones. It's rare you will find anyone who has anything less than a dual core processor, most game players tend to have at least a 1gig video card and 3 - 4gigs of ram. Your serious players, well you probably couldn't lag their system if you tried. So the minor speed losses on some of the lowest level calculations are never really noticable any more. Sometimes the effective performance is actually faster in these "Safer" languages like Java and C# because they protect you from silly memory leaks and in the case of C# on windows it actually molds itself to the hardware it's running on.

I must point out a VERY VERY important fact about Java and it's multi platform capabilities though. Java on Android is NOT the same as Java on PC. Yes Java is the language of android the the majority of the dependency libraries you will be using (Such as OpenGL) are lite or stripped down versions that are tailored to the specific hardwares of the phone. Not everything you can do on PC will be available on the android, be very careful if you are targeting both and make sure you do your research and test frequently. It is not as simple as clicking "Build for Android" to turn your PC game into a droid game!

All in all, most if not all modern computers and I would even risk saying every single one of your potential players computers are plenty powerful enough to muscle through a 2D game in pretty much any language. The limitation would come in to play with the amount of effects and "moving parts" in your visuals. At this point you want to ensure that you are using either Direct X or Open GL. Open GL is the fastest video card API around but windows will limit it to make Direct X work better. Open GL is plenty fast enough on every platform to run a 2D game at the same visual speed as Direct X. If you intend to go multi platform and you are not using a game engine then go Open GL. If you are using an engine or your a perfectionist like me then you want to make make Direct X builds for windows based os' and Open GL builds for everything else. Be aware though, the human eye only see's things at around 33 - 36fps. So when you have Open GL running 90fps on windows and you have Direct X running at 110fps on windows the player will never notice either one being faster no matter how hard they look. (That same game may run at 130fps using Open GL on Mac or Linux but again it is not noticable to the human eye ball).

In short if your comftorable with Java already continue to learn young padiwan, just be aware that your not going to make an MMO out of it. Stick to 2D games and moderate 3D games you'll be fine.



Sir! You've opened my eyes.Thank you very much.No i am not going to make a MMO :)) In the best case i am going to make a roguelike game! Edited by vladmihail
0

Share this post


Link to post
Share on other sites

Glad I could help, best of luck with your project.  Look me up on the messengers some time, I like to hear what other coders are working on and see their progress.

1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0