IN3D / Pokemon

Recreation of pokemon, in C#.
0 stars 0 forks source link

Our visions of this project #37

Closed IN3D closed 9 years ago

IN3D commented 9 years ago

@BradMackey , @Daxter304 One thing that I think would be good for us to do is each write out what we envision this project becoming. I think we can break this down using some of the prompts from an "Inception Deck" in Agile programming. We don't need all (or most, honestly) because there is no client. This is just for fun. So if everyone can comment on this with a response to this on these points.


  1. Elevator Pitch: A 1 to 3 sentence "pitch" of what you see the project as.
  2. Project overview: A longer (as long as you want) explanation of what you see the project being when everything is said and done. In your minds eye, what does it look like? How do you interact with it? Anything like that goes here.
  3. Not list: Exactly what it sounds like, now that you've stated what you feel the project should be, list off what it should explicitly not be.
  4. Up at night: What development problems do you envisions that really bother you?

If you're looking at that and you don't know, that's fine. There is no rush to go diving back into development. Think about some of these when you get some free time. When you have a good idea of it, comment on this issue and then we can all compare notes. This way we all end up building the same thing, rather than assuming we are all building the same thing.

BradMackey commented 9 years ago

(I am actually remembering to reply to stuff lol)

  1. For the project overall, I see the project as an example of coming together as a team and developing a game for an example of our abilities. As well, it is something that I think may be for fun/the hell of it.
  2. In my minds eye, I kind of see the game running a lot like an emulator of sorts. Maybe not exactly, since emulators are basically ripped versions of a professional game. But I'm thinking of something maybe were instead of commands being entered we'd be able to use a keyboard( ex: arrow keys to move, a & s for the A and B buttons, etc.). I'm imagining maybe, like the old 8 bit graphics or maybe a little better depending on what we can do as a group.
  3. *Not a professional game so probably not 100% perfect unfinished lol (I can't think of much else to exactly put)
  4. I think the transition of console to graphical may be a very big issue when we come too it. As well, as getting the beginning workings of actually moving around the routes, such as going from road to grass and stuff.

Sorry for the half-ass, I just got home from work lol if anything hits me I'll post it.

IN3D commented 9 years ago

@Daxter304 @BradMackey , No Worries. It's always editable. (like I just had to do) :grimacing:


As for me, this is where I stand:

  1. A re-imagining of the Pokemon game series, based around ideas/improvements that have been floating around in the fan community for a while, but are outside of the scope anything GameFreak would ever do (fix Flareon, bigger game world, etc etc)
  2. I've actually been throwing around the idea of deviating further from the premise and presentation of the Pokemon games on the GameBoy. While I don't imagine this being any sort of thing that will be implemented at any point soon (or possibly ever). What I think would be a very cool "end goal" is some kind of networked game. Where so long as you know the IP address of a game being hosted you can join into it. The game's actual presentation would be more like a traditional window form, albeit with lots (read: LOTS) more eye candy. Maybe with some sort of "Who's on this server" listbox browser over on the side, showing the usernames of who is currently playing the game alongside you. While I still haven't come to some concrete idea of how the player would interact with a given place. I'm imagining that moving between areas will fire conditionals that will hide, move, or modify existing controls on the form. For example, if the player moves into a route, an "explore the grass" button should become visible (and enabled). Perhaps a dropdown (combo box) for the people that can be interacted with in a given area. When going into a new area, the combo box will be cleared out and repopulated with people relevant to that area. Battles would be another window (or possibly a panel that becomes visible once a battle is commenced). While I'm not married to the idea I think it would be interesting to do something distinctive from the original game series.
  3. I'm in agreement NOT a professional game. And I'm thinking that it's not always going to be "basic" or "vanilla". To give some more details as to what I mean. In a traditional sense, combining several languages wouldn't necessarily be viewed as the most sensible choice (there are obviously reasons to do it, but common convention says to do it infrequently). However, as an example; I have done some work on an F# class library that dramatically decreased the amount of code required to generate the level group's XP requirements. While in a more "conventional" project, C# would just be stuck with, I'd like to bring in my F# library because:
    • I think it works better
    • It's cool
  4. Two big things stick out to me.
    1. Database design
      • I'm honestly still not sure exactly where to go with this. I don't want to keep doing too much more development because I already know that we are already going to rapidly outgrow XML. It was perfectly fine for when we were just cranking out a proof of concept, but as it grows bigger it's just going to become a worse and worse system for us to try and use. I've narrowed down my choices of potential database systems to two options. I'm thinking we either go with T-SQL, the MicroSoft SQL Server standard (what I use at work, basically the standard for traditional .NET development). Or MongoDB, a NoSQL database system, based around a variety of data structures that...well aren't SQL, JSON objects seem to be the standard. In 100% honesty, I'm considering it because it's different and I think it sounds interesting. There are some legitimate reasons it could work out better in some instances, but honestly either will work just fine. I think T-SQL may be the better choice in the long run, just because it's so tightly integrated with Visual Studio and .NET.
    2. Conditionals
      • Oh god the conditionals. The more I've looked over Pokemon Showdown's code, I'm realizing that Pokemon is basically conditional hell. Massive Switch...Case and if...else if...else statements. Especially when it comes to Abilities. They are, quite literally all over the map. Some are passive effects, some are active effects, some don't do anything meaningful in battle. I have an idea brewing and you can see it over in the proposals(?) section. The title is something like "a way to handle abilities" or something to that effect (I'll update with a link when I find it) This is my current idea for how to handle it[https://github.com/IN3D/Pokemon/issues/34]. But yeah: conditionals.
Daxter304 commented 9 years ago
  1. A pokemon game just like the others but done our way. We can do whatever we want with it.
  2. Pokemon done our way, we could have YOLO mode where when a pokemons HP hits zero he's gone. We could interact with the came either by typing commands, or WASD, whatever. Graphical interface would be nice but I feel like that should be beta version and alpha could be text.
  3. As you guys said, not pro level, it will feel noobs made it. Other than that I am not sure what I don't want to see until I do see it, because with this it's ours, we can do whatever we want. (OMG I looked at my two side monitors and thought Celestia and Luna as the legendaries XD)
  4. Planning it out. Example: When you write a book, you write out every plot point from beginning to end, then you start. I kind of feel like we wrote the first plot point then started working. True or not, there is another personal issue. Me actually working on it. I have a distraction/motivation issue, such as "Oh hey X is playing MWO, I should join him".

As an extra note, I would like to see if we can get a weekly get together in person going. I think that is very important, true we have many ways of conversing right now but I think nothing beats in-person.

IN3D commented 9 years ago

Thanks to everyone for putting your input into this issue. To see how we discussed some of this please review the minutes from the meeting on 08/04/2014.