Jump to content
  • Advertisement

Project: Unsettled World

Organizing this Unsettled World

Septopus

819 views

So, I've been thinking hard about this little project of mine and I came to the conclusion that I'll never finish it if I don't get some things in order around here.  I'm not talking about smelly code either.  That's a constant cleanup task in my world.  NO, I'm talking about Project Management type thingums and stuffs..  So, I spent a few hours working up a mind map on mindmeister only to get it nearly to where I was happy and then their whole interface started failing miserably on me, browser related weirdness..  So I tried xmind, decent, but I knew it was more than I ever wanted to pay for...  FreeMind (https://sourceforge.net/projects/freemind/) to the rescue! 

So, here's a little picture that's STARTING to describe all the little bits and pieces that need to be massaged into existence in order to call my game nearly functional in most of the ways I would like.  Every time I look at it I add another two or three or twelve nodes...

 

Unsettled_World_MindMap.thumb.png.f30191aab071ed2fd0816b150574637f.png

In addition to Beginning the Mind Map I've also started using hacknplan.com to keep track of Tasks and my Time investment.

hacknplan10-15-18.png.1ddee99ce2e933476c23379b53d29809.png

I wish very much that I was able to break my entire project down into 50 more tasks that will take less than 200hours to complete.. Very very much..  Sadly, no, this is the result of me entering a goodly portion of the Mind Map data into hacknplan's "Design Model" which is just a simple tree system.  Simple, but quite functional.  Tasks can be created out of items in the tree or attached to items in the tree.  If you are looking for a good free project management system that is designed for building games, it's working great for me so far.  These 50 tasks are probably a 10th of what I still have to add before I have the project "roughed out" in hacknplan(I'm adding in tasks for items that are in "Completed/Testing" stages as well, so I can get an idea of total time investment).

I was hesitant to stop working on things for a few days to get this stuff up and running, but I'm already starting to see the benefits.  First off I'm developing a much clearer idea of what I'm actually building.  That's going to be a game changer I think.  Being able to look at the bigger picture of the whole eco-system, I'm able to re-evaluate what code goes where based on what systems need to access/interact with it, instead of a hunch based on a rough imagining of how I want things to work.  I'm also able to begin prioritizing my time and deciding if I want to try to build a project team, or continue the solo adventure.  If I want to have any help though, this whole process is going to be the absolute key to making it possible.

So much more to do...

I'll post an update again when I get my hacknplan setup more flushed out.




0 Comments


Recommended Comments

Wow, that all looks very awesome.  Please keep the pictures coming.

Share this comment


Link to comment

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
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By Mapet
      Hi, I started implementing 2D board game. I have concept of how to write rules, controlls etc, but i dont want to write another all-in-app. So i decided to do it "right". I divided my code into reuseable modules - ResourceManager, Renderer, Core, Math (for now). All modules use SDL2.
      ResourceManager(RM) - loads textures, audio etc without duplicating them in memory. Resources are gathered in TextureResource, AudioResource (...) objects, handled by std::shared_ptr. For textures I have prepared Texture class that wraps SDL_Texture and I RM serves this Texture objs for Core module.
      Core - The main game module, contains game loop, gameobject / component implementation and event handling. Core requests for data from RM and sends them to right components.
      Renderer - Creates window and knows about render range (in core represented by camera). Takes info about texture, position, rotation and scale to render images (just this for now).
      Its time for my questions:
      is this architecture good? After I end this board game I want to extend renderer module for example for rendering 3D objects.  Loading resources while ingame is good idea? I mean single textures, models, sounds etc.  As I said, for handling resources I am using shared_ptr, is it good cleaning cache every (for example) 3 minutes? By cleaning i mean removing not used resources (counter =1). And the hardest thing for me right now - take a look at this flow: Core create a T1 token Component Renderer2D is connected to T1. Core requests a texture /textures/T1.png from RM. RM checks if /textures/T1.png is in map, if not, loads it. RM returns a std::shared_ptr<Texture> to Core. Core assign texture to T1 Renderer2D component.
      Now i want to pass this object to renderer. But I wont pass all gameObjects and checks which have renderer2D component (i also cant, because only Core know what is gameObject and component). So i had an idea: I can create Renderable interface (in Renderer module) and inherit from it in the renderer2D component. Renderable will contain only pointers to position data. Now i am able to pass renderer2D component pointer to Renderer and register it.

      Is this good way to handle this? Or im overcomplicating things? If point above is right I had last question - registering object in Renderer module. I dont want to iterate over all objects and check if I can render them (if they are in render range). I wanted to place them in "buckets" of - for example - screen size. Now calculating collisions should be faster - i would do this only for objects in adjacent buckets. But for 2D game i have to render objects in correct order using Z index. Objects have to be placed in correct bucket first, then sorted by Z in range of bucket. But now i have problem with unregistering objects from Renderer module.
      I think I got lost somewhere in this place... Maybe You can help me? Of course it this is correct way to handle this problem. I would love to read your comments and tips about what can I do better or how can i solve my problems.
      If i didnt mention something but You see something in my approach, write boldly, I will gladly read all Your tips :).
    • By Seer
      Currently if I was to program a game using C++ with SFML or Java with LibGDX I would render game objects by calling "object.render()" on the game object. Although this makes it easy to access the information necessary to render the game object, it also couples rendering to the game logic which is something I would like to move away from. How can rendering be implemented so that it is decoupled from the game objects?
      I wish to know how this can be done in the standard object oriented paradigm, so please don't suggest that I use an ECS. Thank you.
    • By Wolfebytes
      I am currently an undergrad several months from graduation. My major is in Game Programming and Development. During the course of my studies, we've had a few modeling classes and I really took to it and feel that is the direction I really want to go, specifically I would love to become a character artist. I keep hearing about your portfolio being super important, but I've really never been able to find out what kind of work is best to put into my portfolio. There's no "put 2 of these and 1 of those in," kind of tips. I get that I'll want to put some characters I've modeled in there, but I guess what I really want to know is, if I want my portfolio to be noticed and taken seriously for a character artist position, what is the best way to present it? Since most of my courses have dealt more with programming, I need to build everything for my modeling portfolio on the side, outside of class on my own time. I know there are no specific numbers like: put 3 realistic humans, 2 robots, a creature, and a stylistic character in your portfolio. But as a general rule is there some kind basic guideline or tips for what to make to get your portfolio off to a good start?
    • By Kjell Andersson
      Genifect 2.0 OpenFX plugin has been released by Dual Heights Software.
      New in 2.0 is the Materialized Bevel filter which creates bevel and lighting effects for texts and symbols. Using MatCap textures you can create advanced and realistic lighting effects on 2D-text and logos to make it look like it was made out of gold, copper or any other material that you can find a MatCap texture for on the Internet.

      Genifect is an OpenFX plugin that works with the major compositing software for video and animation including Nuke, DaVinci Resolve/Fusion, Vegas Pro and Natron to name a few.
      Visit the official Genifect page to learn more: https://www.dualheights.se/genifect/
       

      View full story
    • By Kjell Andersson
      Genifect 2.0 OpenFX plugin has been released by Dual Heights Software.
      New in 2.0 is the Materialized Bevel filter which creates bevel and lighting effects for texts and symbols. Using MatCap textures you can create advanced and realistic lighting effects on 2D-text and logos to make it look like it was made out of gold, copper or any other material that you can find a MatCap texture for on the Internet.

      Genifect is an OpenFX plugin that works with the major compositing software for video and animation including Nuke, DaVinci Resolve/Fusion, Vegas Pro and Natron to name a few.
      Visit the official Genifect page to learn more: https://www.dualheights.se/genifect/
       
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!