C# Programming Beginner Tutorial: Designing the Game with Programming Logic in Mind (Part 1)
Wow!!! We've been learning a lot of concepts and basic principles of programming and c# in general. We're flying through this process... and boy, are my arms tired!!! Ok, old joke. Well, this stuff is all old stuff, so we're learning stuff that's already been learned before. No problem, though, because everyone has to start somewhere and this post will be a bit of a pause in the grand scheme of things.
Today. We. Design. A. Game.
You read that right. I'm not going to say we're making a masterpiece or that anything will even come of it, but I do like to head towards a goal so that we know what to focus on. Having that project goal in mind will keep us intent with the mindset of "eyes on the prize"! Will we succeed? Will we be able to meet and/or exceed our goals? Will we finish the whole thing? Will we make money from it? Who knows, but I do know this: STEEM on, my friends... STEEM on!!!
Making a game (in any way, shape, or form) takes some level of dedication and fortitude. It also takes logic, creativity, and an open mind. Do we have those things? I think we do. I think we do.
Now, since I'm making the game itself, I'll be choosing the game. This is one I've been looking forward to making for quite some time and this will cement it's Legacy as my own Concept on the Blockchain for ALL to see. Yes, I need some fame... or infamy, either works. The Name of this Game I will Title Fight Or Flight: Space Capture the Flag (although I'm open to suggestions... maybe if someone has a really good one I will use it; and if I use said title, you can bet that I'll pay some in SBD to that person).
So here's what we'll be discussing over the next few weeks to break up the monotony of actual Code and Logic:
*The Basic Overview
*Game Play
*The Look-and-Feel
Game Concept
Game Features
Game Items
Game Scoring
Game Add-Ons
Game Purchases and Item Purchases
Game Tactics
I will give a description and context to each item on that list (and others as we continue through) within the Posts, but I also want great Comment-based Discussion as well. I want these Posts to be interactive, fun, and engaging! I will even try to give everyone credit that assists in rolling this game forward (End Credits line and maybe a reward?) until it becomes LIVE. We'll go slow and take our time, we'll even revisit and reinvest time if we need to. We're ALL in it for the long haul (hopefully) and will begin to reap the rewards of great work.
Since I'm long-winded here, I'm going to now cut away to a scene from classic Star Wars (no Prequels and/or Sequels).
Vader vs. Luke
Feeling motivated now? Good. Or Bad. It doesn't really matter, actually, because we're STEEMrolling onward...
Basic Overview
Imagine that you are a Space Ace, winner of medals and honor and glory. What else is there for you to do? Oh, yeah, to show off! Now's your chance. The Galactic Council has developed a new Contest that you want to join. The game consists of teams that work together in order to capture a Target Base. Each Team will need to fly through space and find the other Teams' (yes, I'm thinking Multi-Team) Flags to score points and earn in-game rewards.
The Winners will be those that have fun! In the end, I plan to make this an unending game where players join in, grab their ship's controls, and go in for the kill. Then, they can take their earnings/winnings and use them.
Adventure. Fun. Fast-paced Action. Strategy. Treachery. Scavenging. Earning.
Game Play
The Game will eventually be keyboard or controller-based. You will fly through space in a vessel of your choosing and design (within limits). You will be able to purchase and scavenge raw materials in order to repair/build up your ship. You'll be able to communicate with your team and even send silent messages to other teams to create alliances, rebellions, and wreak havoc. You could even turn traitor if you were so inclined! Shame on you!
You will need to avoid not only the other Teams, but you will need to avoid NPC ships that are just ready to fight and destroy for their own reasons. You'll be able to use scanners, weapons, navigational controls, communications, scientific research, Engineering, and Financing. All of these components will allow you to immerse yourself in the game and become the ship's commander that you've always dreamed of becoming.
The Look-and-Feel
Imagine yourself in the cockpit of a Spaceship, whizzing through space and seeing the striated color of streaming photons and energy waves. Imagine yourself spinning a circle and diving down within space debris to conceal yourself from the dozens of chasing vessels armed to the teeth. Now see yourself creeping above the line of Nebula Clouds and siting in for the kill, taking out the Leader of the chase.
Fly through the debris that is left behind and collect raw materials that were used to create the enemy's weapons and ship. These raw materials can be used, traded, or sold. Your material deposits are full, so let's escape back to the Storage Shop and sell or store the raw materials! There, safe and sound. You now only need 3 Units of Titanium and 14 Units of Rhodium to repair the Sensor Array.
Hey! Look! There's a message on your Comm Screen! It's a request for a trade of 22 Units of Magnesium for the remaining requirements for the Sensor Array. Oh, but it looks as though it's coming from an Enemy Team! Oh No!! Your Team has forbidden contact with this Team.
You decide that you like your Team too much to risk their irritation. You decide that you can make it through another mission to reach the goal, so you decline without comment.
This is your Universe to deal with as you wish! You control your own destiny! You make the calls!
Fun. Excitement. Dastardly Deeds.
Q&A
Here are a couple of Example Q&As that I had to consider when setting up the initial concept:
Q1. "What happens if I want to leave the game?"
A1. In the event you want to hop out of the game, you will have 3 options: Abandon Ship, Raise the Signal, and Secure a Location.
Abandon Ship! Yes, you guessed it, you're just jumping out and hoping that your vessel is not destroyed and looted. You may lose your ship and weapons, but your money is safe.
Raise the Signal! This one entails sending a beacon signal to a remote tow-shop that will charge for the safe tow. You are safe with this option, but will lose some of your money.
Secure a Location! This one is the best option if you are close to a Safety Zone (Docking Station, Space Restaurant, Shielded Facility, etc.). You will be safe and will not lose any money; however, this could take time to reach, at which point you are not safe until you make it.
Q2. "Can I buy in with real money?"
A2. Until we have a solid foundation for the game, it will all be earned in-game currency and/or fake monetary units. When everything is in place, I'd like to offer a way to convert SBD and STEEM to in-game currency. I might end up trying to team up with someone that knows how to create Cryptotokens in order to fund accounts and offer as buy-in credits. This is still in its conceptual infancy.
Q3. "What can I do with the in-game currency?"
A3. The short answer: Lots of things. You will be able to buy ships, weapons, scanners, miners, and more. You will be able to pool resources within your Team in order to buy larger team-based items (safe zones or repair shops and the like). You will even be able to bribe other players on other Teams or set up Treachery Schemes. It's your in-game money, you can do with it what you want.
Q4. "Can I get a refund on the in-game currency that I buy in with?"
A4. You will not be able to get a refund of your spent in-game currency; however, if you're good and earning in-game currency from your skilled game play, you will be able to convert it back to STEEM or SBD and do with it what you want. This will be like real-world spending, so you will need to be wary of transacting and spending only amounts that you can afford to use, as well as making deals that cause your fellow Team Members to dislike you.
Q5. "Can I change Teams?"
A5. Certainly. You can change Teams at any point that you'd like. In addition, if you mistreat other players or do not follow the chat rules or, basically, just act mean to your fellow Teammates, they can flag your ship for mutiny. If you get a Full Mutiny, your crew will leave you and you will be returned to the Main Dock to buy a new ship... you will get a refund of in-game currency for any PENDING purchases.
So, my suggestion: Be a decent player.
Thanks for reading and I'll see you in the next lesson!!
Here are previous lessons if you need to brush up:
Basic Concepts & Ideas
First Look at Actual Code - D&D Focus
Variables & Data Types to Fuel the Game Engine
This looks interesting. I look forward to reading the series.
Thanks, hopefully it gives you some valuable information when all is said and done.
DISCLAIMER: dropahead Curation Team does not necessarily share opinions expressed in this article, but find author's effort and/or contribution deserves better reward and visibility.
to maximize your curation rewards!
with SteemConnect
Do the above and we'll have more STEEM POWER to give YOU bigger rewards next time!
News from dropahead: Bye bye 25+ and 50+! Welcome 20+ 40+ and 60+!
This post has received a 100.00 % upvote from @thundergod thanks to: @crimsonclad.
I like this programming.Thanks,
Thank you. Hopefully it helps to advance that knowledge. Just stay tuned and watch for more!
It's an awesome post @dbzfan4awhile. The C# program and is quite unique but do I need to know much of c++ to do any of this?.
I really appreciate that! C# is separate from C++. Some of the concepts are similar, but only insofar as programming languages are similar.
C++ has sooooo much more in the way of header and cleanup. The dotNet Framework does most of this for you. There are, obviously, some nuances that I won't be digging too deeply into in these beginner tutorials; but the majority of components are far more straightforward than with C++.
In addition, once you learn dotNet through C# it will trim down the learning curve for Visual BASIC and other dotNet-based languages. On top of that, it will make learning the "simpler" languages even easier since you should already have the foundation in place.
If you already now some C++ techniques, then it will help you understand some of the concepts quicker, but it's definitely not required.
Wow.. This is so much bigger. I wish I could meet you in person for a physical tutorial. Thanks for your answer.
You're quite welcome. Yes, this project is a huge project. I've wanted to do it for quite awhile, so I think it will be good to use it as the basis for my lessons. Maybe sometime in the future we will meet in person... who knows.
Love this initiative!
Thank you very much. I look forward to seeing the suggestions that the readers/learners can provide. It's only through feedback that we can flush out problems and flesh out end results.
Great and helpful post
I'm glad to be of service.
This post has received gratitude of 1.10 % from @appreciator thanks to: @dbzfan4awhile.