Screenshot of Socket City game showing connected city blocks
Screenshot of Socket City game showing connected city blocks

Cars and Cats Mean Coding Dojo: Evolving Game Design Lessons from Socket City

Click here to play the web version now. (updated to work on touch mobile like iOS browsers as well)

The rush of a game jam, much like diagnosing a tricky car problem, demands quick thinking and efficient execution. Ludum Dare 24, a coding dojo of sorts for game developers, saw a record 1405 games emerge over a single weekend. This intense environment, where creativity and technical skill collide, is where games like Socket City are born. For those who appreciate the intricate mechanics of cars and the agile problem-solving of a cat, the coding dojo of game development offers a similar blend of logic and finesse.

In the previous Ludum Dare (LD23), the developer wrestled with Flash and Flashpunk to create a platformer. The experience, while yielding a memorable creepy boss, felt somewhat restrictive in terms of diving deep into the programming aspects. This time, however, the functional Flash target of Proton unlocked the potential to leverage the power of C++ for web-playable games. This shift from Flash to C++ is akin to moving from basic car maintenance to advanced engine tuning – a deeper engagement with the core mechanics. The focus shifted from technical constraints to pure game design, a welcome evolution.

The theme for LD24 was “evolution.” The core concept for Socket City revolved around presenting players with three evolving versions of a space town each day. The player’s choice essentially guided the town’s “evolution,” not through direct construction, but through strategic selection. Each town piece was designed with “sockets,” acting as connection points for new growth, much like how car components interface with each other in a complex system.

Screenshot of Socket City game showing connected city blocksScreenshot of Socket City game showing connected city blocks

To elevate this concept into a fully fledged game, asteroid attacks were introduced between rounds, demanding resource management, life preservation, and the strategic placement of turret gun pieces for defense. This added action element transformed the game from a passive selection process to an engaging challenge. However, as development progressed and gameplay unfolded, a critical flaw emerged…

The Perils of Randomness in Game Evolution: A Coding Dojo Lesson

The initial design, limited to just three plan choices, proved too restrictive. This echoes the limitations one might face with only a few diagnostic options when troubleshooting a car issue. To address this, a crucial gameplay evolution was implemented: allowing players to rotate new pieces at will. This simple addition gave players agency, enabling them to strategically orient gun emplacements and socket connections for optimal growth. Alternative solutions, such as offering more plans or introducing a resource-based plan regeneration system, could have further refined this aspect of controlled evolution.

Another design consideration was the city’s growth orientation. Initially conceived to grow from the bottom of the screen with asteroids descending from above, the decision was made to center the city and allow growth “in all directions.” The effectiveness of this change remains a point of reflection, highlighting the iterative nature of game design – a constant process of experimentation and refinement, much like the iterative improvements in car engineering over generations.

What Drove Success: Like a Well-Oiled Engine

Several factors contributed to the successful development of Socket City within the tight constraints of a game jam, mirroring the key elements of a smoothly running engine:

  • Scope Management: The project’s scope and difficulty were perfectly calibrated for the developer’s capabilities. It wasn’t overly ambitious, preventing burnout, nor too simplistic, hindering creative exploration. This is akin to choosing the right repair job for your skill level – challenging but achievable.
  • Proton’s Performance: The Proton framework and its Flash target functioned flawlessly “out of the box.” This eliminated time wasted on technical troubleshooting, allowing for focused development. The ability to test and debug in MSVC++ provided a comfortable and efficient workflow, a stark contrast to the previous FlashDevelop experience. Furthermore, the framework’s cross-platform capabilities, extending to iOS and Android, ensured broader accessibility, much like a car designed for diverse terrains.
  • Effective Audio Design: Despite the time constraints, decent audio was achieved using Garageband iOS on an iPad with a MIDI keyboard and sfxr for sound effects. Audio, like the sound of a well-tuned engine, significantly enhances the overall experience.
  • Abstract Graphics: Embracing simple, abstract graphics proved to be a wise decision. Resisting the temptation to pursue overly complex visuals prevented potential pitfalls and kept the focus on gameplay. Sometimes, like in car design, simplicity and functionality are more impactful than overly ornate aesthetics.
  • Clear Goal Setting: The inclusion of a special win song and poem upon reaching level 10 provided a tangible goal for players. This element of reward and progression is crucial for player engagement, offering a sense of accomplishment akin to completing a challenging road trip.
  • Intuitive Interface: The game’s interface was successfully designed for both mouse and touch inputs, eliminating the need for keyboard controls. This focus on user-friendly interaction is paramount, just as a car’s controls should be intuitive for drivers.
  • Life Support Mechanic: The implementation of “life support units” represented by hearts added a layer of strategic depth. Protecting these units became crucial for survival, introducing an element of risk and reward, similar to managing vital car components to prevent breakdowns.
  • Polished Final Product: For a 48-hour game jam creation, Socket City achieved a commendable level of polish. Positive feedback, including a “great” proclamation from the developer’s son, validated the effort and design choices. This feeling of accomplishment mirrors the satisfaction of a successful car repair or restoration project.

Setbacks and Areas for Improvement: Identifying Engine Troubles

Despite its successes, Socket City also encountered challenges, highlighting areas for future refinement, much like diagnosing and addressing issues in a car:

  • Uneven Difficulty and Randomness: The game’s difficulty curve remained uneven and overly reliant on randomness, particularly in the initial stages. This inconsistency can frustrate players, much like unpredictable car performance can frustrate drivers.
  • Graphics Clarity and Style: The abstract graphics, while functional, lacked visual clarity and a distinct style, detracting from the overall perceived quality. Visual appeal, like a car’s design, plays a significant role in user perception. The graphics didn’t quite convey the “Cars And Cats Mean Coding Dojo” aesthetic, missing an opportunity for a more thematic visual style.
  • Socket and Gun Barrel Confusion: The graphical similarity between “sockets” and gun barrels caused visual confusion, hindering gameplay clarity. Clear visual communication is essential, just as clear labeling of car parts is crucial for mechanics.
  • Minor Interface Issues: Various minor issues, such as asteroids spawning too close to the city and the upgrade menu obscuring parts of the city, detracted from the user experience. These “little stuff” issues, while seemingly minor, can accumulate and impact overall enjoyment, much like small car defects can become irritating.
  • Flash Target Limitations: Designing with the limitations of the Flash target (640×480 resolution, potential performance constraints) in mind likely restricted the game’s potential scale and complexity. Considering target platform limitations is important, but it shouldn’t overly stifle creative ambition, just as car design should consider practical constraints without sacrificing innovation.

Conclusion: Evolving the Design – From Game Jam to Garage Innovation

Socket City served as a valuable experiment, yielding key insights into game design and development within a constrained timeframe. To elevate the game to the next level, several potential evolutions are proposed:

  • Streamlined Piece Acquisition: Replacing the plan/growth system with a direct purchase system, where pieces with more sockets cost more resources, could simplify gameplay and enhance player agency. This is akin to offering a more direct and understandable parts purchasing system for car customization.
  • Automated Turret Fire: Transforming turrets to fire automatically could shift the gameplay focus towards tower defense strategy, emphasizing strategic placement and resource management. This would be similar to automating certain car functions for improved user experience.
  • Real-Time Gameplay: Transitioning to real-time gameplay, allowing for continuous additions and actions, even during attacks, could inject more dynamism and urgency. Real-time responsiveness is a key aspect of both engaging games and efficient car control systems.
  • Sim City Elements: Integrating Sim City-esque elements, such as visible citizens, animations, and resource management tied to population happiness, could add depth and emergent storytelling. This would be analogous to adding layers of complexity and realism to a car simulation game.
  • Enhanced Visuals: Replacing the abstract art with high-tech 3D renderings of tile pieces could significantly elevate the game’s visual appeal and immersion. Visual fidelity is a crucial aspect of modern games, just as car aesthetics are important to consumers.
  • Camera and Zoom Overhaul: Implementing a robust camera and zoom system with pinch-to-zoom and free movement, especially for touch devices, would greatly improve navigation and control. Intuitive camera controls are essential for modern gaming experiences, especially on mobile platforms.

Ludum Dare 24 proved to be, as always, a rewarding experience. Special gratitude is extended to Akiko for childcare support throughout the weekend, enabling this creative endeavor. And also for providing essential sustenance:

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *