• 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

From a beginner's perspective, XNA is way easier: you can jump straight into your game-specific, there's no creating a window, acquiring a device, setting up buffers, writing an update/draw loop, loading assets; you new up a SpriteBatch and tell it where to render your sprites and that's it. Also, unlike SharpDX, XNA is platform-agnostic: it has already been succesfully ported to OpenGL mobile devices and soon it'll run under DX11 in Windows 8; SharpDX ties you to a specific API and you'll have to perform any porting manually.

  • 0

Learn C++ first, but you also need to know C#. C# is not only great for coding tools, but engines that support it offer a great way to compile once and deploy to multiple platforms.

Yep! That's my plan.

This is just such a polarizing issue, I figured it would be interesting to see the varying opinions. I really like the C++ -> C# route now. :)

  • 0

2D? I'd start Python + pygame or Flash or a game building front end. There would be much less for you to learn while getting started.

Personally I would look at what games you enjoy were written in, as a short list of 2D platformers:

VVVVVV: Flash

Super Meat Boy: Flash (then rewritten in C++)

Spelunky: Game Maker

Cave Story: looks like C++

Castle Crashers: Flash and C++

Terraria: C# using XNA

Angry Birds: C++

  • 0

I agree with you Dr_Asik. Honestly, I found that giving advice to start with C++ is a bad idea. A lot of people do not want to deal with not only the stuff you just mentioned, but they also do not want to worry about memory management themselves as a first step in programming.

My advice? I would go for Java or C#/XNA. I would not worry about multi-platform at this stage (though there is Mono and MonoGame for C#/XNA). You will not be building Crysis 3 as your first game so either one of those languages will be more than enough power to fit your needs.

I am personally going to stick with C#/XNA for a while. Why? XP and 7 will still be top dogs for a while, and it still works in Windows 8 in desktop mode. I am a 2D game programmer so XNA is more than powerful enough for me.

If you want to make a career out of this, the probability that it will be C++ is very high. But programming is programming. Start with an easier language to get you in the mindset of programming and how to implement algorithms and game related functions. Then you will just have to deal with the complexities of C++ later when you move to it.

  • 0

From a beginner's perspective, XNA is way easier: you can jump straight into your game-specific, there's no creating a window, acquiring a device, setting up buffers, writing an update/draw loop, loading assets; you new up a SpriteBatch and tell it where to render your sprites and that's it. Also, unlike SharpDX, XNA is platform-agnostic: it has already been succesfully ported to OpenGL mobile devices and soon it'll run under DX11 in Windows 8; SharpDX ties you to a specific API and you'll have to perform any porting manually.

Are you talking about 2D? Because I don't see how tha would work with 3D. You'd have to rewrite your shaders; other differences also prevent even higher code from being shared. Even content cooking wouldn't work unless Mono developers ported everything to OpenGL and created 3D model and audio loading facilities into their implementation, which I doubt.

  • 0

Are you talking about 2D? Because I don't see how tha would work with 3D. You'd have to rewrite your shaders; other differences also prevent even higher code from being shared. Even content cooking wouldn't work unless Mono developers ported everything to OpenGL and created 3D model and audio loading facilities into their implementation, which I doubt.

This isn't finalized but right now they convert HLSL to GLSL and they rely on XNA's content pipeline to build the content. I'm not too savvy about how they do it and what the ultimate plans are.
  • 0

2D? I'd start Python + pygame or Flash or a game building front end. There would be much less for you to learn while getting started.

Worst advice ever, all programmers need to start off with C/C++ because if you know C you can learn anything from there on out.

  • 0

[/color]

Worst advice ever, all programmers need to start off with C/C++ because if you know C you can learn anything from there on out.

No not all programmers need to start with C/C++. They should start with a language that is easier than that. My path was with Visual Basic -> Java -> C++ -> C# -> Python. The worst advice I have ever given people is to start with C/C++.

  • 0

2D? I'd start Python + pygame or Flash or a game building front end. There would be much less for you to learn while getting started.

+1 for Python / pygame. It's easy to pick up, fun, and quite powerful. It also runs on just about every platform.

  • 0

Worst advice ever, all programmers need to start off with C/C++ because if you know C you can learn anything from there on out.

Well, the learning curve for C++ is pretty steep, and it's not a particularly good language anyway. C is much easier to learn, so I agree that it can be helpful.

As far as Python is concerned, it's good for getting something up and running quickly, especially with an interpreter you can run live code in for testing purposes. I'd actually recommend learning both C and Python. C forces a programmer to learn real programming, instead of relying on sprawling, opaque libraries to do the work for them. It's also simple to learn due to the small std library and small number of keywords / syntactic constructions. Python allows one to operate on more modern OO and language concepts.

  • 0

A quick question - is XNA dead?

No, it is still used for XBLA, XBoX and Windows game development. MS Hasn't released a new XNA Framework in a while, but it may just not need any critical updates.

  • 0

Don't limit yourself with XNA. Check out Unity. It's free, lets you program using C# or Javascript(not java), can compile to run on most systems, to include Android, iOS, Xbox, Windows, Mac, etc. There are tons of guides online for it. The list of games made with it is pretty impressive. Zombieville USA, which I played on iOS and was a well put together side scroller, was made with only two people.

- Zombileville USA game play.

- Zombieville USA 2

http://unity3d.com/g...unity/game-list

  • 0

A quick question - is XNA dead?

I never understand why people panic (I am not saying you are, I just had to deal with a lot of developers who were in a panic because they were in the middle of development of a large project) and think a framework can be dead. I had to respond to a lot of emails and worried developers about this. And they always say a blog post said XNA was dead or an article somewhere. Here is the response I usually give:

Do not be worried about using XNA. One of the biggest indie games ever was made in Java (Minecraft), which probably has less support than XNA (especially for 3D stuff). If XNA is more than enough for your needs, you do not need to be worried about using it.

Also, with XNA right now, you can make the game for Windows XP, Vista, 7, and yes 8 in Desktop mode. You also get Xbox 360 and WP. I do not use it on the phone, but I heard it is supported on WP8. Once you build it for one of those to create the XNB files (for your assets), you can use MonoGame for cross platform. I honestly think it is way too soon to jump ship and only focus on one Operating System (Metro apps) and the phone. On the flip side, now might be the best time to develop for the new apps on Windows 8. But you can develop for XNA for a desktop program, then use MonoGame to make a metro version of it.

We have not heard anything one way or another. Metro/Modern uses Direct X 11, XNA is Direct X 9 (they only took state object designs from DX 10/11 according to Shawn Hargreaves). Likewise, Xbox 360 is only DirectX 9, which is what XNA is primarily used for. We do not know if they are making a new XNA for DirectX 11 to go along with a new Xbox (which will require some time) or if they will abandon it. Why dedicate resources to make an XNA version with a new DirectX when we still have the Xbox 360? Plus supporting both types would be a nightmare. They are probably waiting until the next Xbox to perform such an upgrade to XNA. This is entirely possible. It is just as possible that they will not. But a framework can only be dead if Microsoft stops providing download links for it. I assume they will let the download live for years. You can still download XNA 1.0. Since MS seems to be focusing a lot on C++, they might make the next XNA (if there is one) C++, which will require even more time to develop. I would love that!

How is it considered dead but you can still write Windows 8 desktop programs with it? Even if 4.0 is the last XNA version, it is still a decent gaming framework that will work on the latest almost-released Operating System in the desktop environment. It could PROBABLY work on Windows 9 too, but we will see when we get there what MS decides to do. You have a lot of target audiences that way.

Unity is good too, I personally prefer XNA over unity because I do not get much time to develop, but if I did I would use Unity.

Even though a lot of hate is toward Java now, I still think it is a good learning language. If you install Java, just disable support for it in your browser (NOT Javascript, but Java).

I would avoid Visual Basic. The syntax still annoys me to this day...

Finally, I would go with C/C++ (if you want to) after you learn the basics and use an easier language to begin with.

  • 0

Leaves multi-platform out of the question? Dude, XNA is the only way to make indie games for a game console, (in this case the Xbox 360,) without hacking the console, & it works with a lot of other platforms too! (Windows, Windows Phone, & the Zune. Of course, the Zune is for older versions of XNA & Windows Phone is for newer versions, but, still...)

  • 0

Leaves multi-platform out of the question? Dude, XNA is the only way to make indie games for a game console, (in this case the Xbox 360,) without hacking the console, & it works with a lot of other platforms too! (Windows, Windows Phone, & the Zune. Of course, the Zune is for older versions of XNA & Windows Phone is for newer versions, but, still...)

Should say... leaves anything not Microsoft out of the equation (though there is MonoGame)

  • 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++.

If you are SERIOUSLY considering making a game, C++ is the way to go. The power is almost limitless....

Performance wise, Java and C# are going to be close

I HOPE that this is a joke. Performance wise, C# (in fact nearly any .NET language) kicks Java's ass. Excuse me; almost ANYTHING kick's Java's ass in performance.

I know this because I devlop in Java; It is the most disgusting slowest memory hogging piece of **** ever created. Multiplatform? Yes. Of course. Is it worth it? Hell ****ing no. The thing that most ****es me off is that there has been 17 years to improve it and STILL the performance is horrible. And Im not even going to start on the security portion.

No not all programmers need to start with C/C++.

I completely disagree. C is almost mandatory to at LEAST have coded in ONCE. Even as a school project. Even as agenda that stores a person and certain attributes such as name, numer, etc. It shows so many low level concepts on programming that nowadays with IDEs using mostly OOP (C#, Java, even C++) that you lose core fundamentals.

They should start with a language that is easier than that.

I again disagree with your opinion. Its easier to start from a hard language © then work your way to a easy language (VB.NET)

My path was with Visual Basic -> Java -> C++ -> C# -> Python. The worst advice I have ever given people is to start with C/C++.

Wow you started with two of the most easiest and horrible languages. The only thing C++ has in common is that it is OOP.

Bottom line: If you want to make a serious game, C++ without a doubt. Serious as in you want it to get noticed and hell, even sell a few copies. That being said, like many had said, there is a learning curve

If you want to start with game development and make a simple cheesy game, C#. Development will be quicker and the learning curve is basically null

  • 0

Bottom line: If you want to make a serious game, C++ without a doubt. Serious as in you want it to get noticed and hell, even sell a few copies. That being said, like many had said, there is a learning curve

If you want to start with game development and make a simple cheesy game, C#. Development will be quicker and the learning curve is basically null

I whole heartedly disagree with this statement, particularly the part about selling a few copies. There are numerous, successful game developers who have sold games written in something other than C++. And, further to the point, there are those that have gotten their start in languages beyond C++.

I stand firmly with my belief that starting with something like AS3, which is still OO, and doesn't have the added complication of managing memory is the place to start.

  • 0
If you want to start with game development and make a simple cheesy game, C#. Development will be quicker and the learning curve is basically null

I disagree wholeheartedly. The game I'm developing in C# is nothing close to cheesy. It runs on multiple operating systems, such as Linux and Windows, is not slow* (I can run it on a netbook with an Atom processor and ION graphics at 30 FPS), and it was written in a fraction of the time it would take to write in C++. Your post reminds me of how far technology has come; we aren't reliant on writing assembly software rendering routines anymore. Computers are more powerful and hence I can spend less time pulling my hair out over C++ "features" and more time programming a solid game.

Just to point out, my game features resolution independent vector graphics. The framework I built is component based, and thanks to the power of the .NET framework, I am able to generate entire levels using reflection. I admit, given more time and resources, I very well could develop it in C++...but that's it! I don't have the time or resources! And most hobbyist game developers don't either.

*: By slow, I mean C# is not the limiting resource. It's the graphics card.

  • 0

I'm not a game developer but... why not a mix of C/C++ and python? C for the stuff that needs to be done quickly, and python for the stuff that can be tweaked/used to mod?

For a PC game that might make sense, but not for a game that has to run on a mobile platform or console.
  • 0

pes2013, you are missing the point of being new to programming and game programming too.

Lets take mathematics for example. Would you recommend I learn Calculus first before learning algebra? That might be a bad question since you need algebra to do calculus. How about learning how to create a formula before I use it? Here is an example: I used the mathematics formula for the area of a triangle long before I took calculus. One of the things we did in calculus is to PROVE the formula. So in Calculus I learned how to MAKE the formula that I have been using for years with the integral.

It is the same way with programming. If you are a beginner, you do not need to worry about the nasty stuff. You are a beginner, you do not need to worry about memory management, dealing with pointers. Even more so can be said with game programming. Lets take XNA for example. There is A LOT of core Direct X stuff you would need to implement and call yourself to get everything set up. Again, you do not need to worry about this as a beginner. You can just use a framework like XNA or use something like the Java Game Library (what Minecraft uses) or Unity or something to help you.

I again disagree with your opinion. Its easier to start from a hard language ? then work your way to a easy language (VB.NET)

No it is not. A lot of people get extremely frustrated when languages require more from you. This is their first few programs they ever developed. Why do they NEED to start with a harder language? Why is it easier for a new programmer to learn from a harder language than something that is much easier? An easy language gets you thinking like a programmer and not have to worry about the advanced topics like memory management and setting everything up yourself. When you are thinking like a programmer, the advanced languages would be much easier.

Wow you started with two of the most easiest and horrible languages. The only thing C++ has in common is that it is OOP.

Uhhhh yeah.....You start out learning math with 1+1. Your point that I STARTED programming with an EASY language is what exactly?

I will agree that Visual Basic is horrible, I just cannot stand it. BUT when I was young, it got me in the programming mind. Even if it did teach me some bad habits, which I quickly switched out of when I moved to Java, it still made my mind think like a programmer.

seethru: AS3 is another good choice.

Veiva: I assume you are using XNA since you said C#? If you said it in an earlier post, I apologize. I agree and I think C# will be more than enough for the beginners first five or so games they make. Not to mention if you like sticking with 2D, it has more than enough power for you. Why would I need C++ if XNA is MORE than enough for my game's needs? One of XNA 3.0's starter kits is a 3D racing game that runs at 60 fps. I say C#/XNA has more than enough power for a beginner's first several games.

This topic is now closed to further replies.
  • Posts

    • Rufus 4.15.2393 Beta 2 by Razvan Serea Rufus is a small utility that helps format and create bootable USB flash drives, such as USB keys/pendrives, memory sticks, etc. Despite its small size, Rufus provides everything you need! Oh, and Rufus is fast. For instance it's about twice as fast as UNetbootin, Universal USB Installer or Windows 7 USB download tool, on the creation of a Windows 7 USB installation drive from an ISO (with honorable mention to WiNToBootic for managing to keep up). It is also marginally faster on the creation of Linux bootable USBs from ISOs. A non-exhaustive list of Rufus supported ISOs is available here. It can be especially useful for cases where: you need to create USB installation media from bootable ISOs (Windows, Linux, UEFI, etc.) you need to work on a system that doesn't have an OS installed you need to flash a BIOS or other firmware from DOS you want to run a low-level utility Rufus 4.15.2393 Beta 2 changelog: Add RISC-V 64 support to UEFI:NTFS Improve the guards for using the "silent" option Improve the ability to cancel during write retries Improve progress reporting for compressed image extraction Fix unrestricted XML entity expansion and integer overflow in ezxml parser (courtesy of @esadowski4) [GHSA-55r2-34wg-8mv9] Fix "silent" Windows installation failing at 75% in most cases [#2960] Fix a crash during boot when using UEFI:NTFS on Snapdragon X based ARM64 platforms [#2934] Fix the first WUE option always being checked by default [#2965] Fix an infinite loop when using Windows ISOs that contain multiple WIMs Fix "Enable runtime UEFI media validation" checkbox not always being properly enabled Other WUE improvements/fixes for OneDrive removal and username validation (with thanks to @christian8641) [#2984, #2991] Download: Rufus 4.15 Beta 2 | 1.9 MB (Open Source) Links: Rufus Home Page | Project Page @GitHub | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Tixati 3.43 by Razvan Serea Tixati is a free and easy to use BitTorrent client featuring detailed views of all seed, peer, and file transfer properties. Also included are powerful bandwidth charting and throttling capabilities, and a full DHT implementation. Tixati is one of the most advanced and flexible BitTorrent clients available. And unlike many other clients, Tixati contains NO SPYWARE, NO ADS, and NO GIMMICKS. Tixati portable version is meant to run on a USB flash drive or other portable media. It stores all its configuration files in the same folder as the executable binary files, and all file paths are stored in a format relative to the program executable folder. It is important you do not delete the "tixati_portable_mode.txt" file within the executables folder. This file is what triggers Tixati to run in portable mode. (The executable binaries are actually the same as the standard edition binaries.) When running the portable edition from a USB flash drive, especially one that is formatted in FAT16/FAT32, you may experience some lag when initially loading a new transfer. This is because initializing and allocating large files on flash-based media consumes a greater amount of time and resources compared to a conventional hard-drive. Tixati has the following features: detailed views of all aspects of the swarm, including peers, pieces, files, and trackers support for magnet links, so no need to download .torrent files if a simple magnet-link is available super-efficient peer choking/unchoking algorithms ensure the fastest downloads peer connection encryption for added security full DHT (Distributed Hash Table) implementation for trackerless torrents, including detailed message traffic graphs and customizable event logging advanced bandwidth charting of overall traffic and per-transfer traffic, with separate classification of protocol and file bytes, and with separate classification of outbound traffic for trading and seeding highly flexible bandwidth throttling, including trading/seeding proportion adjustment and adjustable priority for individual transfers and peers bitfield graphs that show the completeness of all downloaded files, what pieces other peers have available, and the health of the overall swarm customizable event logging for each download, and individual event logs for all peers within the swarm expert local file management functions which allow you to move files to a different partition even while downloading is still in progress 100% compatible with the BitTorrent protocol Windows and Linux-GTK native versions available Tixati 3.43 changelog: Several major DHT improvements Added several screening heuristics to filter malicious DHT nodes, prevent Sybil floods Rewrote DHT search algorithms to add support for multi-path lookups Improved DHT logging, more details in several error messages Extended timeout lengths for outgoing queries over I2P Added incoming query / response per second to DHT table status display Updated Regex engine to PCRE2 Faster Search function, scans channel user profiles in much less time Fixed problems with file name parsing and date handling in RSS Faster and more accurate RSS filtering and episode number detection Several optimizations to global text processing functions, such as UTF-8 cleaning, line splitting, and token parsing Complete update of port-mapping UPNP/NAT-PMP engine, added PCP support, mapping over VPN support, and more Several refinements to default gateway detection on Windows / Android, which is used for port-mapping Support for IPv6 interface-scoped addresses, which is sometimes needed for IPv6 gateway detection and port mapping Full support for PCP port remapping, added backup zero-port query in case requested port is rejected New UPNP/NAT-PMP Monitor in Help > Diagnostics New reflected local port/location tracker that analyzes DHT replies to detect true port/location and NAT mapping type New TCP/UDP Ports monitor in Help > Diagnostics, with several statistic and information tabs, and a detailed event log Calculated/reflected local port is now used for port parameter in tracker queries and peer handshake Fixed several problems with Linux Wayland compatibility Completely replaced tray icon functions in Linux, new SNI implementation is now the default with GSI backup Implemented full DBus-Menu server to be used by new SNI tray icon implementation Replaced Linux tray balloon notification DBus client Rewrote auto-shutdown DBus interface for Linux Rewrote sleep inhibit DBus interface for Linux Dropped deprecated Linux dbus-glib dependencies Completely new Windows asynchronous file handling, now using IOCP model with several block-alignment optimizations Better handling of system network resets and interface down/up cycles Added option to fully clear configuration in Settings > Import/Export Remember last option checkboxes when using Import/Export Fixed minor I2P incoming connection routing problems Much faster I2P vanity host name finder Much faster channel user vanity key finder Raised length limit for torrent tracker remote failure messages to 120 from 64 Fixed problems setting download location on a torrent before the meta info is resolved Added location/MOC paths to category pane tooltips Several minor Web Interface fixes Refinements to static and scrolling ellipsizing layout routines Several fixes and improvements to single and multi-line text edit controls Many other minor fixes throughout the user interface A major overhaul of the Android framework has also been done: API target raised to 35, page alignment set to 16K Rewrote all inset processing routines Full rewrite of foreground service, application, and main activity objects New permission request routines Added multi-cast lock request before UPNP/LPDP discovery operations Fixed file permission and locking problems when loading .torrent from web browsers Fixed problems with Z-ordering of modal / non-modal and popup windows Fixed handling of back gesture on newer OS Added status bar icon adjustment based on status bar background color Added option in Settings > UI > Behavior to continue running in tray when task removed from recents App can be closed by swiping away notification Rewrote IME interface, fixed several problems with auto-correct, on-screen keyboard visibility, and cursor positioning Added full support for Android hardware mouse and keyboard function Added full tooltip implementation for Android hovering via mouse or other cursor device Full rewrite of popup menu widgets to better support hardware pointers and keyboard Added mouse cursor updating framework for Android hovering Added Settings > Import/Export to Android builds Added language file support to Android builds Download: Tixati 64-bit | Tixati 32-bit ~20.0 MB (Freeware) Download: Portable Tixati 3.43 | 114.0 MB Download: Tixati 3.43 for Linux | Android View: Tixati Website | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Firefox 152.0.1 by Razvan Serea Firefox is a fast, full-featured Web browser. It offers great security, privacy, and protection against viruses, spyware, malware, and it can also easily block pop-up windows. The key features that have made Firefox so popular are the simple and effective UI, browser speed and strong security capabilities. Firefox has complete features for browsing the Internet. It is very reliable and flexible due to its implemented security features, along with customization options. Firefox includes pop-up blocking, tab-browsing, integrated Google search, simplified privacy controls, a streamlined browser window that shows you more of the page than any other browser and a number of additional features that work with you to help you get the most out of your time online. Firefox key features Enhanced Tracking Protection (ETP) – Blocks trackers, cookies, cryptominers, and fingerprinters by default. Private Browsing Mode – Deletes history, cookies, and temporary files when closed. Lightweight & Fast Performance – Optimized memory usage with efficient page loading. Cross-Platform Sync – Sync bookmarks, passwords, history, and open tabs across devices. Customizable Interface – Toolbars, themes, and extensions can be tailored to user needs. Strong Privacy Controls – Options to manage cookies, permissions, and site data easily. Reader Mode – Strips away clutter for distraction-free reading. Pocket Integration – Save and read articles offline with Pocket built into Firefox. Picture-in-Picture (PiP) – Watch videos in a floating window while multitasking. Extensions & Add-ons – Vast library for productivity, security, and personalization. Built-in PDF Viewer – No need for external software to view PDFs. Firefox Monitor – Alerts users if their email is part of a known data breach. Multi-Account Containers – Isolate browsing sessions (e.g., work, personal, shopping). Performance & Resource Efficiency – Uses fewer system resources than some competitors. Open Source & Community-Driven – Transparent development with global contributions. Firefox 152.0.1 fixes: Fixed frequent crashes affecting users with Intel Raptor Lake processors. (Bug 2039575) Fixed an issue on macOS where choosing a PDF option, such as "Save as PDF", from the system print dialog would send the job to your printer instead of saving a file. (Bug 2047850) Download: Firefox 64-bit | Firefox 32-bit | ARM64 | ~70.0 MB (Freeware) Download: Firefox for MacOS | 146.0 MB View: Firefox Home Page | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Zed 1.7.2 has landed with updated OpenCode models, bug fixes and other improvements by David Uzondu Zed 1.7.2 recently landed on the stable release channel, bringing a host of AI-related features including automatic context compaction and settings-based skill management, along with other things like better Markdown preview rendering and custom git commands in the graph view. Starting with the AI stuff, the developers introduced "/compact", a command that basically summarizes your conversation history on demand. This tool prevents your active chat window from hitting token limits by compressing older parts of the dialogue into a brief overview. In addition to that, the team relocated skill management to the settings UI, improving how the application communicates errors regarding those skills, and updated the OpenCode model roster to support DeepSeek V4 Flash, MiniMax M3, Qwen 3.7 Plus, and Nemotron 3 Ultra Free. External agent users can also monitor context window cost metrics and delete individual sessions directly from their history. Right-clicking ref labels in the git graph now opens a context menu that runs different actions against selected targets, kind of how VS Code does it. Here are some of the bug fixes this new release brings: The active agent fails to auto-select when creating a new git worktree. A scrollbar unexpectedly appears on wrapped code blocks in the agent chat. Collapse indicators for project headers appear when performing sidebar searches. Bracketed ellipsis title prefixes fail to show the ellipsis icon properly. Project icons render incorrectly in the recent projects picker. Diff hunk controls appear inside non-editable commit view multibuffers. The software update button hangs indefinitely on the downloading stage. Restoring an agent terminal in a remote project triggers a sudden crash. Splitting a pane that contains an active commit view causes a crash. Linux Wayland freezes when trying to read the clipboard from laggy external apps. Zed is a "newish" code editor trying to break the massive stronghold VS Code has on the developer community. Funny enough, the editor was created by former GitHub employees who worked on the Atom text editor (which Microsoft killed in 2022, several years after it bought GitHub). The project officially hit version 1.0 back in April, introducing platform parity for Windows and Linux alongside deep support for DeepSeek-V4-Pro.
    • 26H2 absolutely will support ARM Windows just not on devices that came with 26H1. This is evident by the fact I am running 26H2, which on my MacBook Neo and Surface Pro 12 (inch), within a VM.
  • Recent Achievements

    • One Year In
      hhgygy earned a badge
      One Year In
    • One Month Later
      AMV earned a badge
      One Month Later
    • Week One Done
      AMV earned a badge
      Week One Done
    • Collaborator
      ryansurfer98 went up a rank
      Collaborator
    • One Month Later
      Eurosoft10 earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      523
    2. 2
      +Edouard
      172
    3. 3
      PsYcHoKiLLa
      78
    4. 4
      Steven P.
      72
    5. 5
      Michael Scrip
      71
  • Tell a friend

    Love Neowin? Tell a friend!