• 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
  • entries
  • comments
  • views

GS:SW "Mercenaries" -- Log 2 - "Let there be Game!"

Sign in to follow this  
Followers 0


"Let there be Game!"

I was hoping to get this done much earlier, but a lot got in the way...
Coming in, I knew this was going to be a tough/long stretch. I wanted to work more on the combat aspect of the game, but I knew I needed to lay the foundations of the 'game flow' before that, so I set out to do just that.
Without further ado, I give you, the game flow (at least, for the 'Arena' game mode).

Game Flow
When I chose to turn this prototype into an actual game, I had a rough idea of where I wanted to go with it. Solar Winds and Raptor: Call of the Shadows have been my two main sources of inspiration for this installment. Of the two, Raptor was simpler to replicate in the short term (Solar Winds has a more adventure-themed type of gameplay).

To mimick Raptor, I had to come up with a simple routine where the player would organically switch between levels and some form of shop system. The idea is that the player is sent on missions, accumulating cash, and spending it to further upgrade its ships. To do this, I needed to implement a lot of UI which I hadn't done up to this point. It took a lot of re-engineering to get there (it was a prototype after all), but here's the rough cycle the player goes through:

- Main Menu / Landing Page

[indent=1]The player enters the game through this page and chooses a game mode:

[indent=2]- Arena: This is the game mode I've been focusing on. It is a single player (and possibly coop multiplayer) mode in which the player accumulates money in 'missions' and uses it to buy upgrades. It uses a fixed camera and an enclosed combat area (the screen) much like earlier titles (pac-man, spacewar!, etc.) It is meant to have an arcade feel to it.

[indent=2]Enemies spawn in waves, which the player defeats, until the mission is over (all enemies have been killed) or the player is damaged. It allows me to introduce enemies of varying strength and even bosses.

[indent=2]I'm still unsure how I'll handle player death however...

[indent=2]- Skirmish: This is very similar to the Arena except it is actually a PVP mode. All players join the game (preferably using controllers) and choose a custom set of ship components 'on a budget' and fight it out to determine the winner. Can easily implement team-based combat as well. From a logic standpoint, it is almost exactly the same thing as the Arena, only the pre-combat UI varies, and the actual play experience.

[indent=2]- Campaign: This is a mode that will be developed in the future based on Solar Winds. I've toyed with cameras a bit (just enough to make a fixed one) and I know this mode will require a camera that tracks the player's movement efficiently. It is relatively straightforward, but it takes time, and I'd much rather invest time in a simpler design for now and see where the fun factor lies.
[indent=2]I'm hoping this is the mode that will be the most engaging, but I'm glad I get to provide other less immersive modes earlier.

- Single Player setup screen / "Shop Screen"
[indent=1]Once the player has selected the Arena mode, he is prompted with a screen (WIP in the video) that allows him to choose the gear he wants to bring with him. The left side of the screen displays the available inventory (combines everything the player currently owns in storage and everything available for purchase) while the right one displays the current ship gear.
[indent=1]The system is rather simple to use and borrows from RPG inventories. Simply drag from left to right into the appropriate slot and the content of the slot will change.
[indent=1]Currently, all slots are fixed, but my intent is to 're-populate' the actual slots based on the hull selection. If the hull tolerates two weapons and not just one, a new container would be created to accommodate for the change.
- Victory Condition (Combat)
[indent=1]Combat begins, and a victory condition is set (generally, being the only side with any remaining forces, but could also be things such as surviving for X seconds).
[indent=1]I've put a placeholder HUD at the top which displays the cumulative life gauge and shield points for each team (the player is in the first slot, and the aggregated enemy ships are currently in the 2nd, but this will be changed in the future as enemies are bound to be added in waves).

- Outcome screen
[indent=1]Once the combat is over, a result screen is displayed. It tells the player stats about the match, and what he gets from it (money essentially).
[indent=1]Currently, the currency system is just an embryo (every kill nets the player some $) but ultimately, it will be used to unlock new gear in the shop, completing the gameplay loop for this mode.
[indent=1]If the combat ends in a victory, the next combat will be harder, otherwise, a different combat with roughly the same difficulty will be fought next, with un-determined consequences for the recorded loss (I'm still debating whether I want this to be a perma-death / arcade-style game, or a bit more casual / forgiving).

One of the most important changes I've had to do in the last 2 weeks was the conversion of the current 'dummy data' into a more elaborate and yet flexible metagame data structure.
As can be demonstrated in the above video, ships are now assembled from a list of components that are selected by the player, and these components persist in memory thanks to that new data structure.
It took a while, but it works great and it helped clean a lot of my prototype code into something much more intelligible / malleable for future implementations. It also forced me to slash my original game class into more specified classes: originally, as this was a prototype, the game class was handling nearly everything as far as game flow is concerned. Now, everything that occurs during a combat is a combatSession that is created from the Game instead. Semantics, I know, but it does make it a lot easier to work with!

Couple of other things I've glossed over:

[indent=1]- Bullet spawning positions (automated template)
[indent=1]Now, ship weapons that fire more than one ammunition with each shot will fire in preset orientations. This makes each attack more predictable and reliable.

[indent=1]- Accuracy variation
[indent=1]Although latent, I've implemented a system that cares about the accuracy of a weapon. It basically derives the course of a shot by an angle based on how accurate the weapon is. I have a few ideas of how this would be best used (shotgun-styled weapons) but I did not want to enabled this feature for now given how low-profile it compares to other development I need to do.

[indent=1]- Weapon Swap / 2nd weapon / Secondary Fire Mode / Special Trigger
[indent=1]I've mapped controls and modified all game systems in such a way that these would be relatively easy to implement (swapping weapons would be laughably simple actually) but I'm still thinking about what's the best approach here.
[indent=1]On the one hand, Raptor: Call of the Shadows' main weakness was the ability to have multiple weapons but rarely ever using this feature (except when purposely cheating the weapons cooldowns). I want to avoid spending time implementing a feature that looks good but serves no purpose.
[indent=1]Solar Winds provided a limited use for this by giving the player 'missiles' which were limited-ammunition power-weapons. My system is already accounting for ordnance (but never decrements it) so this would be easy to implement, but this would have an impact on my current approach to this game.
[indent=1]I'm also interested in seeing possibly 2 weapons firing at once, allowing the player to determine what's the best 'pair' for their ship (similar to how Silpheed did back on D.O.S.)

[indent=1]- Dampeners
[indent=1]I've modified how physics worked in my game to give it a more 'space-like' theme. I've also mapped an input key that allows me to modify the 'rules'. When disengaged, the dampeners allow the ship to drift endlessly in the direction it was moving. Re-engaging the dampeners seeks to put the ship to a halt. While dogfighting, a mix of both allows for the best manoeuvres and offers the skilled pilot with more 'lethal' opportunities against the enemies. It is also an element the AI cannot use efficiently, so it gives players an edge, and makes PVP that much more different than Arena mode.

[indent=1]- Weapons: How far can I go?
[indent=1]I've shelved a lot of ideas for later on what to do in terms of weapons (*cough* cluster bombs *cough*) but I still wanted to get an idea of how malleable my current implementation was. Turns out I can actually make a laser without much effort. It is not fully functional as it will require a few modifications to my collision algorithm, but I was surprised to see how 'easy' it was to implement.

Lastly, I've done a few fixes and tweaks, most notably:
There are no longer any 'ghost' ships (ships that were half dead so to speak and rendered victory conditions useless). This bug had been around since my early inception of this game, so it was quite a kill!

At the end of this 'stretch' I've got less clarity about where to go next. I should probably polish what I've just done, because it feels very raw (despite also being placeholder). My gut tells me however that I need to fully implement the 'Skirmish' mode now so that I can retain parity between single player and PVP and avoid bad surprises down the road.


Sign in to follow this  
Followers 0


There are no comments to display.

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