So GameDev.net seems to run these "community challenge projects". The next one is called "Survive, Loot, and Discover! It's Time for the Dungeon Crawler Challenge". I'm not sure this early into my learning process it is a good idea to try something so complex.. but I was talking to a mate of mine and he said the mnemonics created by working on a "real" project would help teach me in a way that is a little more fun than reading through text books and doing exercises. I mean in a way this is a big exercise right?
The issue I have is that this has a tight timeline. I strongly believe that setting time restrictions on your goals is the ONLY way to do things, least you find out it is 6 months latter and you have done exactly jack all but memorized all the words to Babylon 5 Season 1. Been there, done that! lol. The problem is that the project runs over Xmas and New Year. Which is a historically super busy time for my family. I come form a ginormous extended family and it is traveling and eating and playing with kids well into late January.
Still, that being said a "Challenge Project" satisfies a few things that I think could be really cool for a terminally lazy hobby guy.
- It gives me needed focus, as in a task to attempt which would use my fledgling knowledge in a practical way.
- It also gives me an arbitrary deadline to work to. As I said above, I think deadlines are crucial for effective task management and goal achievement, at least for myself.
- Probably most importantly though is that these project are probably going to get genuine feedback. As a solo, self-educating, hobbyist it is all to easy to loose motivation if there is no feedback of any kind. This is the main reason for my blog. It may be narcissistic I suppose, but seeing the blog getting likes and the view count going up translates as a motivational force for me. Putting my project into a public group with much more skilled people commenting and possibly advising is very appealing.
Yeah, but not so much : (
The game must include:
- Main menu and a way to return to the main menu
- Game Design
- Player navigating in a maze or labyrinth of a style defined by the developer
- Minimum one protagonist character controlled by the player
- Must maneuver the player around moving and stationary obstacles
- Minimum one level
- Must define the end goal for the level
- Enemies or antagonists attempting to disrupt the player's progress and/or kill the player
- The player can kill or ignore the enemies
- Enemies may or may not drop items or "loot" that can be used by the protagonist to further their progress
- Items or "loot"
- Must include a minimum of 3 items that may be used by the player to perform various actions in the game
- The player must be able to carry these items, but items may expire (i.e. when used)
- An additional item representing "credit" must be included
- Examples of "credit" include treasure, cash, points, etc.
- No restrictions on how "credit" is obtained - up to the game design
- To simplify the challenge, there is no requirement to allow "credits" to be used but there is a bonus for entrants who implement this
- Players can acquire items by killing enemies or picking up items through discovery
- No player perspective restrictions - the game may be text-based (MUD-style - but must include all the above requirements!), 2D, 3D, top-down, first-person, etc
- Minimum 1 music track fitting of the chosen labyrinth environment
- Sound effects fitting for the environment
- Visual Arts
- No restrictions
- Minimum one GameDev.net reference or easter egg
This is a list of the requirements, and it just seems to be so much. There is a lot of stuff here that I have not ever tried.. like sound and music. I have been thinking over the course of the day exactly what I would like to do and how I could use the project to advance my own needs. As I said in my 1st Blog Entry my initial short term goal is to produce a text adventure game. I'm a big adventure game fan. Now a text adventure and a text dungeon crawler have a lot in common. A maze is pretty much just a set of interconnected rooms, inventories, items, currency... there is a lot of overlap between these projects. In fact the engine I develop for a text adventure could look nearly identical to a dungeon crawler for most of it's systems. How it handles maps, items, inventories, object tests, console printing and stuff. Even direct combat is not out of sight for a adventure game. Though it was not something I planned on.
The thing is even if I was able to get this project done, and I think I would be able to, eventually. It would probably not have all of the required aspects. Particularly the music and Sound Effects part. I wouldn't even know where to start on that, well I guess I could google it.. there is probably some console command in c# that can just play a wav file or something.
There is a lot going on at the moment for me hobby wise. I have a paid run through for a new BoardGame called HeroPath on my uTube Chan that is starting on Wednesday, and a scheduled play through of Arkham Horror (3rdEd) that my subs have been bugging me about for months, this on top of the Xmas and New Year stuff, plus I need to continue with my "studies" by working through the books... PLUS all my regular social stuff and actual work that pays my mortgage.
I just do not think I have the time, or the present skills to do this project. Yet there is always no time to do anything. People always have excuses for not doing something. I think you just need to go for it... there is never a perfect time to start.. you just gotta START!!
So what I will be doing is in the same time frame as the challenge I'll be working on my Adventure Game Project. Basically I am setting my own Challenge Project. The main goal of which is to produce the language processor.
Text Adventure Challenge Project
Produce a language processor that can phase commands from user input.
- The processor has to behave either by being a natural language processor or giving the impressions that it's natural language processor
- I can not use any external NPL libraries.
- The processor should be able to understand combined commands form the user. "Pick up the ball and throw it at the target". "Walk to the chair and sit down". Stuff like that.
- Produce a program that allows the player to test the parser on objects in a scene.
Well, that's it..