The original poster is seeking resources that have proven helpful for others in their game development journeys. They are specifically interested in recommendations beyond the typical beginner tutorials, hoping to find resources that have helped people move from intermediate to advanced skill levels. They're open to any type of resource, including books, courses, articles, communities, or tools, and are particularly interested in areas like game design, shaders/graphics programming, and AI.
NESFab is a new, experimental programming language specifically designed for creating NES games. It aims to simplify NES development by providing a higher-level abstraction than assembly while still allowing fine-grained control over hardware. The language features a simplified syntax, built-in support for NES hardware features like sprites and scrolling, and a compiler that outputs optimized 6502 assembly code. NESFab also includes a suite of tools for building, running, and debugging games directly on original NES hardware or emulators. The project is actively being developed and welcomes community contributions.
HN users generally expressed excitement about NESFab, praising its simplicity and the ease with which it allows creation of NES ROMs. Several commenters drew comparisons to Pico-8, highlighting NESFab's similar approachable nature. Some discussed the limitations of the language, like its current lack of support for scrolling or metatiles, but acknowledged its early stage of development. Others appreciated the technical details shared about the compiler's implementation, including its use of Lua and assembly language. There was also interest in the potential for targeting other retro consoles. Overall, the comments reflected a positive reception to NESFab as a promising tool for aspiring NES game developers.
The original BBC Micro Elite source code, written in 6502 assembly, has been released and extensively commented by its author, Ian Bell. This release provides a fascinating look into the technical ingenuity behind the classic space trading game, revealing how Bell managed to cram a complex universe simulation, including 3D wireframe graphics and combat, into the limited resources of the 8-bit machine. The heavily commented code offers valuable insights into the optimization techniques employed, such as clever use of lookup tables and bit manipulation, making it a great resource for those interested in retro game development and 6502 programming.
Hacker News users discuss the newly released and heavily commented source code for the 8-bit game Elite. Many express excitement and nostalgia, praising the code's clarity and the detailed comments which provide insights into the game's development process. Several commenters highlight the impressive feats accomplished on such limited hardware, like the use of clever algorithms for 3D graphics and procedural generation. Some discuss the historical significance of Elite and its influence on subsequent games. A few users share personal anecdotes about playing Elite in their youth, while others analyze specific coding techniques used. There's also discussion about the challenges of working with 6502 assembly and the ingenuity required to overcome hardware limitations. The overall sentiment is one of appreciation for the release of this historical artifact and the opportunity it provides to learn from the pioneers of game development.
Driven by a desire to learn networking and improve his Common Lisp skills, the author embarked on creating a multiplayer shooter game. He chose the relatively low-level Hunchentoot web server, using WebSockets for communication and opted for a client-server architecture over peer-to-peer for simplicity. Development involved tackling challenges like client-side prediction, interpolation, and hit detection while managing the complexities of game state synchronization. The project, though rudimentary graphically, provided valuable experience in game networking and solidified his appreciation for Lisp's flexibility and the power of its ecosystem. The final product is functional, allowing multiple players to connect, move, and shoot each other in a simple 2D arena.
HN users largely praised the author's work on the Lisp shooter game, calling it "impressive" and "inspiring." Several commenters focused on the choice of Lisp, some expressing surprise at its suitability for game development while others affirmed its capabilities, particularly Common Lisp's performance. Discussion arose around web game development technologies, including the use of WebSockets and client-side rendering with PixiJS. Some users inquired about the networking model and server architecture. Others highlighted the clear and well-written nature of the accompanying blog post, appreciating the author's breakdown of the development process. A few commenters offered constructive criticism, suggesting improvements like mobile support. The general sentiment leaned towards encouragement and appreciation for the author's technical achievement and willingness to share their experience.
This GitHub repository contains the fully documented and annotated source code for the classic game Elite, specifically the BBC Micro version adapted for the Commodore 64. The code, originally written in 6502 assembly language, has been meticulously commented and explained to make it easier to understand. The project aims to provide a comprehensive resource for anyone interested in learning about the game's inner workings, from 3D graphics and ship control to trading mechanics and mission generation. This includes explanations of the game's algorithms, data structures, and overall architecture. The repository also offers resources like a cross-reference and memory map, further aiding in comprehension.
Hacker News commenters on the Elite C64 source code release express enthusiasm and nostalgia for the game. Several discuss the ingenuity of the original developers in overcoming the C64's limitations, particularly its memory constraints and slow floating-point math. Commenters highlight the clever use of lookup tables, integer math, and bitwise operations to achieve impressive 3D graphics and gameplay. Some analyze specific code snippets, showcasing the elegant solutions employed. There's also discussion about the game's impact on the industry and its influence on subsequent space trading and combat simulations. A few users share personal anecdotes about playing Elite in their youth, emphasizing its groundbreaking nature at the time.
Summary of Comments ( 7 )
https://news.ycombinator.com/item?id=43169715
The Hacker News comments on this "Ask HN" post offer a variety of resources for aspiring game developers. Several commenters emphasized the importance of starting small and finishing projects, recommending simple game jams and focusing on core mechanics before adding complexity. Specific resources mentioned include "Game Programming Patterns" by Robert Nystrom, Handmade Hero, and the Unity and Godot engines. A few suggested learning through decompilation or recreating classic games. Several cautioned against getting bogged down in engine choice or overly ambitious projects. The consensus seemed to be that practical experience, combined with targeted learning of core concepts, is the most effective path.
The Hacker News post "Ask HN: Any recommend resources that helped your game dev journey?" has generated a variety of helpful comments offering advice and resources for aspiring game developers.
Several commenters emphasize the importance of starting small and focusing on completing projects, rather than getting bogged down in complex tools or ambitious ideas. One commenter suggests beginning with simple games like Pong or Tetris to learn the fundamentals. This sentiment is echoed by others who advocate for iterative development and the creation of minimal viable products. "Finish something, anything," is a common refrain, highlighting the importance of seeing a project through to completion to gain experience and build a portfolio.
Specific resources mentioned include books like "Game Programming Patterns," which is praised for its clear explanations of common game development problems and solutions. Another commenter recommends the "Handmade Hero" series, which provides a deep dive into game engine development from scratch. Free online resources like the Godot Engine documentation and various YouTube channels are also highlighted for their accessibility and educational value.
Beyond technical skills, some comments focus on the importance of design and game feel. One commenter recommends studying classic games to understand what makes them enjoyable and applying those principles to one's own projects. Others emphasize the importance of playtesting and iterating based on feedback.
Several commenters also discuss the value of community and networking. Joining online forums, attending game jams, and participating in local game development groups are all suggested as ways to connect with other developers, learn from experienced professionals, and get feedback on one's work.
A recurring theme in the comments is the importance of perseverance and passion. Game development can be a challenging and time-consuming process, and commenters stress the need for dedication and a genuine love for games to succeed in the field. One commenter encourages aspiring developers to focus on the joy of creation and to view setbacks as learning opportunities.
Overall, the comments offer a wealth of practical advice, valuable resources, and encouragement for anyone embarking on a game development journey. They highlight the importance of starting small, focusing on completion, continuous learning, and engaging with the game development community.