• 0

Game Development Language Choices


Question

Hey everyone. I'm a web developer with experience in PHP, MySQL, Ruby, JavaScript to name a few and have reached a point in time where I have plenty of free time to branch out into things I *really* want to do - specifically game development. I have a fantastic artist wife that can handle any artistic side of the project, so that leaves me to handle the development side of things. Now, I'm not going crazy saying that I want to be a one man team making AAA games... however, I do want to put some basic indie titles together (think Cave Story, Fez, Braid) eventually with a few friends (I know a few programmers that would probably jump on the opportunity - though their skills are spread out over a wide spectrum of languages/fields).

So yeah, I'm thinking 2d, maybe some isometric 2.5d stuff. Side scrolling, top down, NES style games to start.

What language should I look into learning? I've heard conflicting opinions on each option.

C# - Most will tell me to jump straight into C# and work with XNA, but that leaves mutli-platform out of the question. I'm not too concerned about multi-platform, but I think it's a good option to leave open.

Java - So, that would lead me towards Java. I'm not a fan of Java, as a user. VM always seemed bulky and slow, with tons of vulnerabilities.

C++ - C++ might be a little bit too much of an undertaking, but I can see the benefit of learning proper memory management out of the gate. However, it might add too much time to development where, say, C# has XNA that handles a lot of the work out of the box.

Python - I see Python as an alternative, but I'm not sure I want to venture too far off the beaten path. Python is a very elegant language that I could pick up rather quickly, but the games I have seen developed in Python leave me wondering how capable it -really- is.

Would love to see some opinions here. Hopefully I didn't come off as too optimistic. :)

Link to comment
https://www.neowin.net/forum/topic/1110503-game-development-language-choices/
Share on other sites

Recommended Posts

  • 0
What language should I look into learning? I've heard conflicting opinions on each option.

C# - Most will tell me to jump straight into C# and work with XNA, but that leaves mutli-platform out of the question. I'm not too concerned about multi-platform, but I think it's a good option to leave open.

Java - So, that would lead me towards Java. I'm not a fan of Java, as a user. VM always seemed bulky and slow, with tons of vulnerabilities.

C++ - C++ might be a little bit too much of an undertaking, but I can see the benefit of learning proper memory management out of the gate. However, it might add too much time to development where, say, C# has XNA that handles a lot of the work out of the box.

Python - I see Python as an alternative, but I'm not sure I want to venture too far off the beaten path. Python is a very elegant language that I could pick up rather quickly, but the games I have seen developed in Python leave me wondering how capable it -really- is.

C#: XNA has a working open-source and multi-platform implementation, MonoGame. It has already been used in several commercial titles. This makes XNA an excellent choice not only for the awesome language, tooling, documentation and API, but also to develop your game for all existing mobile and desktop platforms. At a much higher level, you also have Unity, which is widely used in the game industry and is also as multi-platform as engines go. If you want to learn C#, the best book I know of is a free one: The Yellow Book. Recently updated for C# 5 as well!

Java: the VM is anything but slow: the best implementations (Hotspot) can optimize code beyond what the best optimizing C++ compilers can do. However, the Java language is kinda boring and I don't know of any good game APIs for it. If you want to target the Java platform I suggest using the Scala language; it's quickly gaining ground as a better language for developing Java-based applications.

C++: depends what you want to do. If you want to program games, bad choice. The multitude of pitfalls, slow compilation and poor error reporting will just get in your way; performance-wise, there's no way you'll beat what the .NET or Java VMs offer you unless you really know what you're doing and in specific circumstances. Most likely, your game will simply be less portable, less performant and a lot less feature-rich because you'll spend most of your time fighting the tools and language rules. Yes, C++ is widely used by the big game studios: that's because they have the specific need of extracting maximum performance out of closed and unorthodox platforms. You don't, so you don't need C++.

Python: great for learning and experimentation, PyGame is an excellent game development library. This one IS slow however, but if 2D NES-style games are your objective you shouldn't run into performance problems anytime soon.

  • 0

Hands down I'd recommend C#. You may be worried that there's only XNA, but that's not the case. There's a few libraries out there, such as OpenTK and MonoGame, that alleviate the problem of cross-platform compatibility. Personally, I wrote my own game library/framework based on the C-based library Allegro 5.

The speed is nothing to scoff at, either. Obviously it's not as fast as C++ in some cases, but C# makes development so much faster because of the lack of the quirks present in C++. So regardless of if you're developing a small 2D platformer or a complete 3D engine, I do think that C# is the wiser choice in this day and age. The features and richness are just unmatched by C++, in my opinion.

On a side note, I'm actively developing a video game in C#. It has some pretty nifty features that would be absolutely annoying or impossible to implement nicely in C++. Hence my choice. Most of the time spent is not in C#-land but in the GPU (although it may not look like it, it's pretty GPU demanding because of the features I use to sustain graphics quality), if you want to know from personal experience. This is why I believe that C# is suited for games development, especially if you're not designing something on the scale of Unreal 4.

It looked like this a few days ago:

rOFky.png

  • 0

XNA is no longer maintained, though there are open source alternatives.

Has there been any announcement to that effect? Microsoft hasn't announced any new version of XNA, but they still support the platform. My optimist theory is they will announce something around the same time as Xbox Next. Worst case scenario, they never update it again and we all switch to MonoGame, which anyway is more-crossplatform, Xbox excepted.
  • 0

If you plan on writing a game in C#, you may as well start with C#. There is little point picking up the intricacies of a language that you aren't going to use.

For instance, you are going to learn a lot about deciphering compiler error messages and things like template metaprogramming with C++. Neither of which you will need for C# development.

On the otherhand you could be learning about things that are much more important to C# such as reflection, the generics system (which is very different to templates) and other ideas.

  • 0

I think this really depends on the platforms you want to target, then decide on the language.

Yes, C++ is definitely the best one to learn if you want to write AAA games, or attempt to get a game on XBLA. However, take a look at some of the big names in indie games right now. They got their start in, and still make games in, AS3. I know there's a lot of hate out there for Flash but AS3 is an amazing language and kicks the crap out of anything else that is web based.

Just my two cents from inside the industry.

  • Like 1
  • 0

I personally am writing a C#/XNA Game in my free time, it's nothing crazy yet, still doing the basic interface. I've been re-writing standard form controls and the whole idea of screens/forms to make my job easier. I am using purely the base includes (outside of say IO, .Net.Sockets) so doing everything inside the XNA Framework. But I've got it to the point where I can do things like:

Button btnLogin = new Button(1);

btnLogin.Text = "Login";

btnLogin.Click += new Control.ClickEventArgs(btnLogin_Click);

AddControl(btnLogin);

I don't have it as fancy as the stock windows forms, but I also don't want to use them. It's a fun challenge but it makes doing things way quicker in some ways.

  • 0

The number of people blindly recommending C++ is frighting. If you're not going to be making AAA titles, and you don't require massive performance, then there is almost no reason what so ever to learn and use C++.

Performance wise, Java and C# are going to be close, and unless your pushing the hardware to its limits (which you shouldn't be with a non-3D game), then you will have no trouble with either of these languages. C# probably has the advantage here when dealing with game libraries and engines, although I don't think Java is a bad choice either.

Python is easiest to learn, and with things like pyGame, you can start making games very quickly.

Look at the languages, look at the tools available and make a choice based on that.

  • 0

I wouldn't recommend XNA, not since they got stuck in 2004 with DX9c-only support. :rolleyes:

I will however say that C# with SlimDX or SharpDX are very good places to start.

XNA and SharpDX have totally different goals. The purpose of XNA is to provide a complete game development framework including asset management, networking, deployment, etc., for students and hobbyists, and abstract away the hardware differences between platforms as much as possible. The purpose of SharpDX is only to provide a fast managed wrapper around DirectX: it's every bit as complex and powerful as the original API, and yet it doesn't cover half the scope of what XNA does.

So, they different tools serving different purposes. That XNA uses Direct3D 9 under the cover is not much of an issue to its target users. Plus that will all change as the open-source MonoGame implementation will use SharpDX to support Windows 8.

  • 0

XNA and SharpDX have totally different goals. The purpose of XNA is to provide a complete game development framework including asset management, networking, deployment, etc., for students and hobbyists, and abstract away the hardware differences between platforms as much as possible. The purpose of SharpDX is only to provide a fast managed wrapper around DirectX: it's every bit as complex and powerful as the original API, and yet it doesn't cover half the scope of what XNA does.

So, they different tools serving different purposes. That XNA uses Direct3D 9 under the cover is not much of an issue to its target users. Plus that will all change as the open-source MonoGame implementation will use SharpDX to support Windows 8.

What networking does XNA offer beside Game for Windows Live, which was a short-lived cancer and thankfully, has almost completely passed away?

Yes, XNA simplifies things a little. I used it for my degree project and it was nice. But other than the content pipelines, it really has little purpose. If you want to focus on content creation, use a made engine such as Unity or UDK. If you wish to learn engine development, invest the [little] extra time and learn a more encompassing framework. In the long run, the so called advantages of XNA are minor and unimportant.

I used XNA because when I was developing my project, I wanted to use C# and there were only XNA and Managed DX, and the latter was a mess.

This topic is now closed to further replies.
  • Posts

    • 7 Days: SPECS for $2,195, Firefox Nova 2026, first AI arts museum, and iPhone price hike by Aditya Tiwari 7 Days is a weekly roundup of picks of what's been happening in the world of technology - written with a dash of humor, a hint of exasperation, and an endless supply of (black) coffee. This week's highlights include Linux 7.1 stable release, Samsung pulling the plug on its VPN, and Microsoft Edge bringing the sign-in with Google experience. Let's get started. You can check out the recent issues of the 7 Days weekly roundup. Mozilla highlights Firefox Nova Mozilla showed off a new Firefox roadmap highlighting the browser's upcoming features and the Nova 2026 redesign. Interested users and enthusiasts can check out what's cooking and share feedback on the upcoming additions. Besides this, Firefox 152 brought Tab Groups to Android as one of its biggest additions, along with a redesigned Settings experience. World's first AI arts museum Image: Google Google opened the world's first AI arts museum in Los Angeles on June 20, which it named Dataland. The museum, spanning 25,000 square feet, was built in collaboration with media artist Refik Anadol, who has worked with Google since 2016. It will have real-time visuals and react dynamically to visitors. Salesforce shopping bag In the latest acquisition news, Salesforce is buying the customer support software company Fin (formerly Intercom) for $3.6 billion to strengthen its AI customer service ambitions and Agentforce platform. The transaction is expected to close in the fourth quarter of its fiscal year 2027. UK follows Australia Prime Minister Keir Starmer announced that the country will ban social media for kids under 16, which is happening after a six-week trial involving 300 teenagers, stating that social media is making them unhappy and easier for bullies to harass and abuse them. Starmer continued that social media is addictive and uses an infinite scroll designed to lock users in for hours. The UK government plans to take action on gaming services and livestreaming platforms. Meanwhile, its age verification rules have also become a hot topic and a point of criticism. Our Features Our coffee-powered team publishes a platter of editorials, opinion posts, and guides. Check them out: Microsoft hides these secret Windows 11 performance boost settings available on every PC Microsoft Paint used to be my favorite Windows app as a kid, and it's still pretty good Why you need to take back control of your synced passwords and how to go about doing that The Microsoft Office feature that time forgot This week in software news Catch up on some of the latest software news updates that arrived throughout the week: Another Samsung shutdown: The South Korean giant is pulling the plug on the Samsung Max VPN app, which is used by more than 50 million users. The app has stopped working since June 15, and Samsung didn't provide a reason for the unexpected move. Photoshop power-up: The popular image editing app is getting a big 20% performance boost on x86-64 (AMD64) systems and a 13% bump-up on Arm devices. Here, the credit goes to a new performance boost added to Windows 11 following a combined effort between Microsoft and Adobe. Linux 7.1 arrives: Linus Torvalds released the stable Linux 7.1 kernel this week, which brings critical driver updates and a rewritten storage driver. You should look out for the new NTFS driver, Intel FRED for improved performance on Panther Lake and future CPUs. Ads in your games: Electronic Arts is launching a new advertising platform to serve in-game ads and enable brands to feature their products in titles like EA Sports FC, Madden, NHL, Skate, or The Sims. With EA Advertising, brands will be able to inject their products into games in real-time via dynamic placement, in places like stadium signage in sports games. Sign in with Google: Microsoft Edge browser is finally getting direct Google account sign-in support from the profile menu and the Edge sign-in screen, allowing users to sync browser data without an MSA. Rufus 4.15 beta: The latest Rufus update is out with important fixes for "silent" Windows 11 installation, patches for ARM-based PCs, and more. Rufus 4.15 beta is now available to download from its official GitHub repository. NVIDIA 610.62: GeForce hardware owners can get their hands on the new WHQL-certified 610.62 Game Ready driver, which carries a lot of bug fixes and support for the fast-paced 6v6 movement shooter Empulse. Zed 1.7.2: The latest update adds "/compact" AI chat summarization, new models, settings kill management, git graph commands, and UI improvements. This week in hardware news Image: Snap Inc. Catch up on some of the latest software news updates that arrived throughout the week: SPECS for $2,195: Snap Inc. launched its new AR-powered wearable computer. SPECS are now available for pre-order and will start shipping in the US, UK, and France later this year. No CMF phone in 2026: The global memory shortage has also knocked Nothing's door and it has decided to hold the launch of CMF Phone 2 Pro's successor this year. That said, Nothing still has planned several new products under the CMF brand. 12th Gen Surface Pro: It's been two years since the original pair of Copilot+ PCs arrived. Now, Microsoft upgraded the lineup with Snapdragon X2-based devices for the 12th-gen Surface Pro, which promises up to 53% faster graphics. New Surface Laptop: The refreshed Surface Laptop is also powered by the Snapdragon X2 Plus and X2 Elite, offering up to 58% faster graphics performance, 80 TOPS Neural Processing Units (NPUs), and up to 20 hours of battery life. HONOR Robot Phone: The Chinese smartphone maker demoed its mobile photography capabilities by capturing its first cinematic video using the Robot Phone concept, which features a 3-axis, 4DoF gimbal that extends from the phone's body for stable recording and real-time subject tracking. Snapdragon Reality Elite Platform: Qualcomm's new platform is a massive leap forward for mixed reality and spatial computing devices. It can power both all-in-one video-see-through headsets and lightweight, tethered optical-see-through glasses, offering better visuals, improved power efficiency, and deeper on-device AI integration compared to the previous generation. Galaxy XR: Samsung's extended-reality handset arrived in the UK months after its launch. It's available for pre-order now and will go on sale on July 8. The hardware remains unchanged, but Samsung has pushed several new updates in recent months. HONOR Watch 6: HONOR also launched its new smartwatch with an incredible 35-day battery life without breaking your bank. The device is made from recyclable aluminum alloy and weighs just 41 grams. Where are the foldables? If you're waiting for Samsung's fresh lineup of foldable devices, you can read Hamid's detailed post about the Galaxy Z Fold8, Flip8, and Z Fold Wide, a passport-style device expected to rival the foldable iPhone. This week in Google News Image: Google Catch up on some of the latest Google and Alphabet news updates that arrived throughout the week: Gemini co-lead departs: Noam Shazeer, who served as VP of engineering and technical co-lead for Gemini, is leaving the search giant for OpenAI. Shazeer is best known as one of the co-authors of the 2017 "Attention Is All You Need" paper, which introduced the Transformer architecture that now powers most LLMs. Waymo recall: The Alphabet-owned self-driving car maker recalled its fifth-generation Automated Driving Systems (ADS) after multiple cars drove through closed construction zones. The NHTSA website said Waymo is currently working on a fix, and freeway driving is being restricted. This week in Apple News Image: Apple Catch up on some of the latest Apple news updates that arrived throughout the week: Tim Cook confirms price hike: The departing Apple CEO confirmed the looming price hikes for Apple's future products without naming any, adding that “Unfortunately, price increases are unavoidable.” Despite having cash and silicon expertise, Apple has no plans to build its own memory and storage factories. An educated estimate suggests customers could end up paying around $1,299-1,399 for the base iPhone 18 Pro. iPhone Air isn't dead: If you were thinking the iPhone Air has lived its life, a new report claims otherwise. The next iPhone Air (codenamed V62) is expected to arrive in the spring of 2027, featuring an additional rear camera for ultrawide photography and improved battery life to address its biggest drawbacks. This week in Meta news Catch up on some of the latest Meta, WhatsApp, and Instagram updates that arrived throughout the week: A long-requested feature: Instagram has finally enabled users to write individual captions for each image or video in a carousel. Rolling out to all users, you can select "Multiple Captions" option from the dropdown while creating a carousel in the app. Threads reaches new milestone: Meta's text-first social media platform crossed 500 million monthly active users. It's now expanding the Communities feature beyond beta, adding a new set of tools to make participation easier and more engaging. This week in AI news Image via DepositPhotos.com Catch up on the latest artificial intelligence news updates that arrived throughout the week: Unreal Engine 6: Epic Games' upcoming engine brings changes to the programming model, portability improvements, and generative AI integration. It focuses on the use of generative AI models and tools like Claude and Codex to play a central role in helping developers "build content faster." Americans and AI: New research suggests that about 49% of American adults use AI chatbots such as Gemini and ChatGPT. However, many are skeptical about the impact of AI on both the personal and societal levels, believing it may be harmful in the long run. Mainframe exit vendors might exit: Gartner predicts in its new report that 75% of mainframe exit vendors, which help companies migrate their legacy mainframe systems to modern cloud environments, will either pivot or cease operations as the market realities take hold by 2030. This week in Microsoft News Microsoft announced Windows 11 version 26H2; confirmed a new bug where the Recycle Bin delete prompts display internal file names instead of actual ones; the latest Patch Tuesday updates seemingly broke some third-party Office integrations. You can check out Taras's freshly baked Microsoft Weekly roundup to catch up on all the interesting stories this week. This week in science news Image by Steve Johnson via Pexels Catch up on some of the latest science and out-of-this-world updates that arrived throughout the week: The end of the universe: A new Cornell study suggests the universe will not expand forever. Because of the negative dark energy, it could stop expanding and collapse into a "big crunch" in 20 billion years. The impact of traffic: Researchers found that urban traffic pollution, specifically nitrogen oxides and fine particles, quickly alters the atmospheric electric field measurably in urban areas. This indicates that atmospheric electricity could become a valuable tool to monitor urban air quality and activity. The light of life: A study revealed that living organisms emit a faint, invisible glow called ultraweek photon emission. This natural light significantly decreases after death and increases during stress, offering a highly promising new method for noninvasive medical health diagnosis. Mysteries of time: A new study suggests that the direction of time is not fixed in certain quantum systems. Standard equations of energy loss remain time-symmetric, which means laws can theoretically run backward or forward. This week in gaming The latest issue of Pulasthi's Weekend PC Game Deals curates several exciting games on sale this week. Epic Games Store is now hosting Robobeat and Citizen Sleeper as free-to-claim titles this week, which you can add to your library. Latest issue of Xbox Free Play Days features four new games: PGA TOUR 2K25, Two Point Museum, Assetto Corsa, and Dead by Daylight. Meanwhile, Xbox Game Pass got another Call of Duty addition, the latest soccer game from EA, an indie road trip hit from last year, and more. Summer sales have made NVIDIA's gaming service cheaper, and it has added support for seven new titles. That said, here are some more stories from the gaming world: Rockstar gives last-gen GTA V players free upgrades tomorrow Major Xbox layoffs may claim South of Midnight developer Compulsion entirely Steam Next Fest returns with thousands of new demos to try out Forza Horizon 6 gets another hotfix for one of the game's online modes Major Xbox layoffs may claim South of Midnight developer Compulsion entirely From the review corner This week, Steven got his hands on the Creative Sound Blaster AE-X internal PCIe sound card, primarily intended for headphone wearers. In the list of pros, it comes with a high-quality headphone amp, low-latency communication enhancements via ASIO v2.3, offers 256-times the audio quality of CDs via DSD256, and has great build quality. On the other hand, it's a bit on the pricier side, only offers stereo output over speakers, and has no EMI shielding. More price drops! We got you covered with some hot tech deals all week. For some reason, if you missed out on a great discount, here is a summary of some recent deals that are still alive: GEEKOM X16 Pro at GEEKOM - $1,119.67 (17% off) Acer 4K Webcam for PC/Mac with All-Metal Unibody Sculpted - $59.99 (14% off) Samsung 990 PRO SSD 2TB - $369.99 (42% off) Nothing Ear Wireless Earbuds Bluetooth - $73.15 (51% off) PowerColor Reaper AMD Radeon RX 9070 16GB - $579.99 (17% off) To view all of our recent deals, click here. So, these were some of the biggest tech news and other updates from this week. There will be more issues of our 7 Days series in the coming weeks and months, so stay tuned. You can also support Neowin by registering for a free member account or subscribing to extra member benefits, along with an ad-free tier option. Have a great weekend!
    • It certainly is a waste of time clicking it if you're not interested in Windows 11's development. If that were the case for you, you could easily ignore the headline and move on given the headline makes it clear that's what the article is about. Instead, you're contradicting yourself here calling it a waste of time yet clicking on the headline and commenting... If it were a totally different topic being presented than what's stated in the headline, then you'd certainly have a point, 'cause that's totally deceptive and unavoidable if not actually interested. However here, you can totally avoid it if you're truly not interested.
    • No, it did not work. I did not read the article. I saw the title in my Feedly feed and came to continue putting pressure about such titles on a website I used to love. In fact, based on your reply, it seems you think it's fine to visit click bait title articles to find out what it's about, to waste people's time. That's up to you, mate. I remember when news websites had pride in their content and therefore didn't need to resort to cheap tactics.
    • Nothing misleading nor deceptive about it, just sensationalized and catchy to grab reader's attention, and it's clearly working...
  • Recent Achievements

    • Dedicated
      Almohandis earned a badge
      Dedicated
    • Dedicated
      JuvenileDelinquent earned a badge
      Dedicated
    • First Post
      DrWankel earned a badge
      First Post
    • Reacting Well
      DrWankel earned a badge
      Reacting Well
    • Week One Done
      Supreme Spray LV earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      505
    2. 2
      +Edouard
      174
    3. 3
      PsYcHoKiLLa
      83
    4. 4
      Michael Scrip
      76
    5. 5
      Steven P.
      75
  • Tell a friend

    Love Neowin? Tell a friend!