Underdog
Level 0
|
|
« on: January 13, 2011, 12:48:28 AM » |
|
Hello TIGForums, I am starting year 12 this year and require to develop a working software application within a period of 7 months using either the structured or prototype approach for my major work. Having played computer games my whole life, I've decided I would love to make a game. I have roughly a year's worth of experience in languages Python and RealBasic. However I don't have access to RealBasic at home.
I would greatly appreciate any advice.
|
|
|
Logged
|
|
|
|
Mitiz
|
|
« Reply #1 on: January 13, 2011, 01:01:13 AM » |
|
What type of game do you have in mind?
|
|
|
Logged
|
|
|
|
Underdog
Level 0
|
|
« Reply #2 on: January 13, 2011, 04:54:59 AM » |
|
I was thinking of a 2D shooter or a dungeon crawler, but I honestly don't know for sure. Considering my situation, with little experience programming and even less developing games, I can't tell whats a good idea or not even if it was right in front of me.
|
|
|
Logged
|
|
|
|
Player 3
|
|
« Reply #3 on: January 13, 2011, 05:30:56 AM » |
|
What's a good idea and what isn't is in the eye of the beholder. Plan it out a bit on paper. Ask some others around if it sounds interesting. If so, you got something to go for. If not, work on it a bit and repeat.
|
|
|
Logged
|
|
|
|
chumez
|
|
« Reply #4 on: January 13, 2011, 05:48:25 AM » |
|
You have 7 months, right? That's a lot of time. If you want to make a game, stick with something simple. 2D shooter is okay. One of my classmates did a Snake clone for his high school graduation work in C#. You could probably do something similar in Python. If you're interested in how to begin working on a game and haven't done it before, gamedev has loads of resources. Good luck!
|
|
|
Logged
|
Yea, though I walk through the valley of the shadow of death, I will fear no evil: for thou art with me; thy rod and thy staff they comfort me.
|
|
|
Falmil
Level 6
|
|
« Reply #5 on: January 13, 2011, 09:28:43 AM » |
|
If you have Python experience and have some decent programming foundations, then PyGame or Pyglet would probably be good to use. Other than that, it all depends on the scope of what kind of game you want to develop and the extent of your own abilities.
|
|
|
Logged
|
|
|
|
nahkranoth
|
|
« Reply #6 on: January 13, 2011, 02:05:30 PM » |
|
7 months is allot of time, but try to keep the time span in mind when deciding what to make, because no one likes an unfinished game. Also keep in mind that there are a lot of things you can't plan, that will go wrong, and need time to be fixed. Besides that anything is possible. With some programming skills it's not that hard to make a playable game that is fun, if you have spend enough time on making it fun.
|
|
|
Logged
|
|
|
|
HyperNexus
|
|
« Reply #7 on: January 17, 2011, 06:07:52 AM » |
|
If this project is for school then be sure to keep the scope of the game at a manageable level. It's hard to estimate how long it'll take to make a game, especially if you are starting out. I'd suggest designing something that is simple to make but has lots of potential to extend upon. That way in the worst case scenario you'll still have something to show your teachers and in the best case scenario you'll have a polished game that is fleshed out.
If you don't have an ideas for a game at the moment then I suggest mocking up some basic prototypes. Besides helping you flesh out your ideas this process will also help you get familiar with the technology which will allow you to better scope the project.
|
|
|
Logged
|
|
|
|
eclectocrat
|
|
« Reply #8 on: January 17, 2011, 06:29:17 AM » |
|
Hey,
If this is for an assignment then I offer the following advice: every step of the way should leave you with a product you can hand in for marking. So if you're making a dungeon crawl then start by making a maze game with no combat. Just a simple game to go through a maze. Then try and add some (monsters/treasure/whatever), if you get stuck, have a backup of your maze game ready to hand in. If you succeed proceed to adding some lighting, magic, or traps. Once again, if you get in over your head (this WILL happen eventually), you'll have a maze game with monsters to hand in. Lather, rinse, repeat. DON'T take chances with your grades. In my experience most teachers and professors lack the imagination to understand your vision anyways and will punish you for handing in an extremely innovative but unfinished product instead of a polished, simple application.
|
|
|
Logged
|
|
|
|
Nix
Guest
|
|
« Reply #9 on: January 17, 2011, 07:35:59 AM » |
|
Hey,
If this is for an assignment then I offer the following advice: every step of the way should leave you with a product you can hand in for marking. So if you're making a dungeon crawl then start by making a maze game with no combat. Just a simple game to go through a maze. Then try and add some (monsters/treasure/whatever), if you get stuck, have a backup of your maze game ready to hand in. If you succeed proceed to adding some lighting, magic, or traps. Once again, if you get in over your head (this WILL happen eventually), you'll have a maze game with monsters to hand in. Lather, rinse, repeat. DON'T take chances with your grades. In my experience most teachers and professors lack the imagination to understand your vision anyways and will punish you for handing in an extremely innovative but unfinished product instead of a polished, simple application.
This is brilliant advice. Do this. And the bit about teachers not understanding is especially true. A half-finished RPG on the scale of Cave Story will earn you no appreciation. They will just see an unfinished school project.
|
|
|
Logged
|
|
|
|
Underdog
Level 0
|
|
« Reply #10 on: January 18, 2011, 03:19:28 AM » |
|
Ok first of all thanks to everyone who replied so far, I have dabbled in some Pygame for a couple of days using a series of tutorials from youtube as a teacher. I think I will be using Pygame for this project considering I have experience in python. Also it was my bad but I'm afraid that I failed to mention our teacher told us he would not penalize us for an unfinished program but instead he would give marks for how we code, documentary and what our train of thought was when creating this program. However, eclectocrat's idea is still really helpful. Making these simpler versions of the final vision, like HyperNexus mentioned, will help me get familiar with the code and I can also use it as a prototype to hand around for feedback, give it to my teacher for his thoughts and even play it myself to see if it plays out the way I want it to. At the moment I need to write up a Walkthrough to discuss with my teacher in a few weeks and I'm juggling a couple of ideas.. - 2D Shooter (Similar to space invader)
- Top-down Shooter
- Dungeon Crawler (Turn based)
- Strategy-builder (Score based objective, turns similar to the card game "Citadel")
I'm still brainstorming, feel free to give your opinion on my current ideas. One last thing, I'm worried about creating an AI for the player to play against. I have no idea how one begins to create an AI. Maybe I could avoid making one like that crazy helicopter game.
|
|
|
Logged
|
|
|
|
ink.inc
Guest
|
|
« Reply #11 on: January 18, 2011, 03:21:56 AM » |
|
One last thing, I'm worried about creating an AI for the player to play against. I have no idea how one begins to create an AI. Maybe I could avoid making one like that crazy helicopter game.
Can do it with a series of if statements, with each if statement being ranked at a different priority. Think 'gambit system' from FFXII.
|
|
« Last Edit: January 18, 2011, 03:30:52 AM by John Sandoval »
|
Logged
|
|
|
|
WhiteNinga
Level 0
|
|
« Reply #12 on: January 31, 2011, 05:22:07 AM » |
|
One last thing, I'm worried about creating an AI for the player to play against. I have no idea how one begins to create an AI. Maybe I could avoid making one like that crazy helicopter game.
Ai is a tricky situation because it is so specific to the game you are working on. Can do it with a series of if statements, with each if statement being ranked at a different priority. Think 'gambit system' from FFXII.
The FF Gambit system works OK if you only have basic abilities/situations for your AI. I have found that the "list of if-statements" has never achieved an organic person-like experience for an AI. That being said, it is also one of the easier methods to program AI and might be a very valid approach for a first time tackler. It can also work well as a starting point to then develop further upon down the line. So in the beginning you might have an: if (Foe.isFlying) { UseMagic("Aero"); } which can later be tuned to: if (Foe.isFlying) { UseMagic(FindBestAppropriateMagicAttack(Foe)); } That way you can nest more logic to make your opponent smarter (or dumber).
|
|
|
Logged
|
|
|
|
AndrewFM
|
|
« Reply #13 on: February 01, 2011, 04:20:14 AM » |
|
Also, with the Gambit system, you can make your AI a little more organic and unexpected by adding a percent chance to each item in the priority queue. For example:
Priority 1: If (Foe is flying), then (Use magic) [50%] Priority 2: If (Foe is attacking), then (Block) [100%] Priority 3: If (Foe is flying), then (Persue) [100%]
If the foe is flying AND attacking, the AI has a 50% chance to use magic, otherwise it'll block.
If the foe is just flying, the AI has a 50% chance to use magic, otherwise it will pursue the opponent.
If the foe is not flying, but is attacking, the AI will block 100% of the time.
|
|
|
Logged
|
|
|
|
WhiteNinga
Level 0
|
|
« Reply #14 on: February 01, 2011, 10:15:35 AM » |
|
You also have to be careful with the Gambit system, as well as *any* AI system that you make sure your AI is not tied to the framerate. I recommend setting timers based on a creature's intelligence. Priority 1: If (Foe is flying), then (Use magic) [50%] Priority 2: If (Foe is attacking), then (Block) [100%] Priority 3: If (Foe is flying), then (Persue) [100%]
If this was checked every frame then that 50% magic chance would almost certainly get selected within the first 3 frames. However if you use a timer, you can check, say, every 600 milliseconds for the next action, thus reducing "AI jitters" as well as making your AI more organic. Of course if you are making a turn-based RPG style game then you don't need to worry about timers. AI would only need to check once a turn what it wants to do. Real-time games however present different challenges...
|
|
|
Logged
|
|
|
|
|