Hello there,
that title is a little weird i know, but it describes it perfectly:
I am developing software since i was 6 or something - started with basic on the C64 and had no understanding what i was doing there, how it works, what programming is etc. I was just fooling around, trying to modify existing codes and see what changes. A bit later in the starting of the dos-age, i was creating simple text-based games with BATCH-files using the choice command. After that my interests of creating games was starting to grow and this was also the turning point for me which has leads me into a programming-career. Now i am a professional software engineer since over 10 years and also have 10 years additional programming experience as creating software, websites, services as a hobby.
But, in all that times i never ever finished one damn game. I only have made hundreds of prototypes, technology demos and applications but never got to a point where i could call that a game. Today i understand mostly how a game is built, what technologies may be used or need to be created and i have a good understanding what a game engine are - thanks to the internet and books and such.
Now i comes to the actual question/problem i have:
I have made several game-prototypes which got to a state where you can see a bit of the game - no good graphics at all, but basic stuff was working fine so far and then... i just lost the motivation and dont know what to do anymore. Thats really depressing, because it happens all the time and really want to get over it. Its like loosing the grip how to proceed, what to do next - just feeling overwhelmed even with good progress :-( Even now i have a prototype for a game again which looks a bit like a platformer now - i can jump collide etc, but i am nearly at the point where i get overwhelmed and starts to get unmotivated. I know the time may be the biggest factor after all, cause i dont have much of it - have 2 kids and work as a software-developer on a daily basis - so i just have a few hours for each week.
Dont get me wrong, i think from the programming perspective this should be no problem at all with my experience, but from the organization-perspective it may be a complete wrong approach i do - i am not sure...
My current project is a medium-sized game with a design document which all the relevant game ideas and such and i have a digital todo-list like this - thats it:
Starting today 2014-08-14 - this is the new TODO-LIST !!!
Every task here must not be removed and will just be marked as [DONE] when its done.
Tasks will only be removed when is really not needed anymore.
Done main tasks will be moved to the other done tasks - undone tasks are the bottom!
There are no difference between engine and game, everything is just for the game!
Tasks may classify the state of funniness - like how boring it is, or how interesting etc.
Tasks may have sub-tasks and sub-tasks can have sub-tasks as well, etc.
If a task have no brackets at the start - then its just a "hint" / "information" and no real task
New tasks are to be placed at the bottom!
!!!! DO NOT GET TO TECHNICAL !!!!
-----------------------------------------------------------------------------------------
[DONE] Integrate bitmap font creation in the editor (rather boring)
-> [DONE] Create a simple ui for font selection and an image preview panel
-> [DONE] Create a bitmap font texture for a given font and size
-> [DONE] Convert created font chars to a signed distance field
-> [DONE] Fix missing alpha channel in final bitmap font
[DONE] Create a simple LWJGL sample for drawing text using bitmap fonts (partly fun)
-> [DONE] Drawing a single letter with the on-the-fly created bitmap font
-> [DONE] Drawing more letters
-> [DONE] Fix letter advance calculation
-> [DONE] Create a simple shader for the signed distance field rendering
-> [DONE] Create a good shader for the signed distance field rendering
-> [DONE] Make a good test example "The quick brown fox jumps over the lazy dog" with multiple font sizes
[ ] Save font asset from the editor
-> [DONE] Save font files images/font description onto the filesystem
-> [DONE] Move font file saving into the asset utils
[DONE] Add a fps counter on the top left corner (partly fun)
-> [DONE] Create a HUD component
-> HUD components have just a bunch of labels with a relative position, a text and v/h alignment
-> The fps counter is a label in a hud component
-> [DONE] Create a HUD system which renders the HUD - always in orthographic mode
-> [DONE] Fix wrong aspect ratio in font rendering
-> [DONE] Implement text alignment and block alignment
-> [DONE] Use drawElements instead of drawVertexArray
[ ] Fixing internal edges collisions using b2edge (boring)
-> [DONE] Set a bit of restitution to the static body to fix this issue for now
-> [ ] Calculate the outline of the entire level and create the edges instead of boxes
[ ] Improve player behavior (somehow boring)
-> [ ] Player movement is still too slow and is not perfect
-> [ ] Player double jumps bounce only when pushing against the wall
[ ] Tileset mapping to ids (rather boring)
-> Currently there is no mapping - the first tile index in the platform layer is always solid
-> [ ] Create mapping file structures for defining tilesets and map tile indices to an string key - this key maps to a template
-> [ ] Create entity template file structure. This is used to automatically create entities with all its components, including material and behaviors.
[ ] Drawing cubes for tiles instead of rects (a bit fun)
-> No idea where to store the vbo/texture instances to not hurt performance
-> [ ] Just draw a blue-chess-like "test"-textured cube like in HL2
-> [ ] 6 Textures per cube (Z-Front and Z-Back, Left and right, Top and bottom)
-> [ ] Drawing the textures like in HL or Quake - repeat, texcoord calculation based on original pixels
-> [ ] Improve performance by sorting the textures - to reduce draw calls and switch states
[ ] Complete level loading in the engine - not in the game code! (boring)
-> [ ] Loading tilesets and mappings
-> [ ] Creating collider edge shapes for the level outline
-> [ ] Creating entities like triggers, traps, jumppads etc. from templates -> tile mappings
[ ] Restrict the camera to a certain area (rather boring)
-> When camera-area hits the boundary-area (restriction) the player target movemenent stops for the axis.
-> When the player is in the half camera-area beside the boundary area then movement for the given axis starts moving again.
[ ] Fix rendering lagginess by using position interpolation in the game loop (extremely boring)
-> [ ] Keep track of latest position/orientation somehow - not sure where? Transform? Do not touch the physics system for that!
-> Must happen before every update system!
[ ] Adding lights (starts boring but will get fun in later states)
-> Lights are entities as well
-> [ ] Single point light (Look into the OpenGL ES 2.0 Book!)
-> [ ] Placing point lights with the editor on a separate layer
-> [ ] Specular support for point lights
-> [ ] Spot lights
[ ] Create jumppad (seems to be fun)
-> Entity must have at least one shape which is flagged as sensor
-> Entity must have a physics component
-> Entity must have a transform component
-> [ ] Behavior needs to be extended to accept incoming collisions/overlappings
-> [ ] Create jumppad behavior class and add a velocity impulse when triggered - take trigger states in account (when other entity has not triggered yet and triggers it and still penetrates there should be no impulse!)
Can you guys give me some hints how to organize a myself better to not feel overwhelmed on creating a game, cause i think the main problem i have is to organize myself.
Thanks for reading.
Will be glad for every tip i get from you guys!
Greetings,
Finalspace