What I want to do is build a video game from the ground up and share what I learn with everyone. I will post code snippets, tutorials, and ideas/concepts.
I am putting a pause on all my projects to work on a new one. I will post my progress, code snippets, and ideas as I build a video game from the ground up.
After working forever on learning everything, writing an endless amount of functions, and working on 3 editors I think it is time to make a video game. Although the tools/editors, functions, and libs/classes speed up everything it still takes a lot of time.
Edited Out Animation Code. Check updated version here.
What I am working on next:
I finished extracting and loading the animation. All this code for loading the animation isn't accessible without every index being global. To solve this problem use Matrix1Utils #31 Lookup Tables or Dark Data. Using something like Dark Data is a good idea for handling this amount of data. Easy to lookup via the two database files.
List of Features
Animation Extraction/Loading: Download Here
- Extract Animation From Test Object
Done
- Add Animation From Test Object To Database (KFS, DFS)
Done
- Extract + Add To Database for all Objects
Done
Multi-Key Input System with Events:
- Multi-Key Input
Done
- Events: Key Pressed, Released, Down
Done
- Work for every key: (Shift, Alt, Ctrl ...)
Done
- Other input devices (XBox 360, Joystick ...)
- Multi-Threaded Key Search
Done
Dynamic Resources:
- Finds the next resource
Done
- Recycles old indexes
Done
- Coroutines Garbage Collector
Done
Multi-Threading is a good idea, but Matrix01Util's coroutines work great!
RagDoll:
- Create RagDoll Object
- Add Physics and Link Up Joints
- Add Constraints and Break Points for Joints
Event System:
- Setup, Loop, and Close Function name tags
Done
- IsSetup for initial setup.
Done
- Loop functions automatically called before each sync
Done
- Setup function called first
Done
File System:
-
ScanFolder function
Done
- Misc File Functions
Done
- Custom File Formats
Multi-Theading:
- Run test on Multi-Threading
Done
- Keep Multi-Threading from crashing
Done
- Make Multi-Theading Example
Done
-
Multi-Threading + Input Example Done
What you can not do in another thread:
- Access Arrays with String Values
- Load Objects or anything having to do with rendering
Any others?
Untested:
- Create an array in a thread
Any ideas of some commands to test?
I think I am officially the first one to get Multi-Threading working and to find practical applications of Multi-Threading!
I have a story written for a zombie game. For now I am just going to work on finishing a basic multiplayer like nazi zombies and then get into the story.
What I still need help with:
Fault Formation: Help - The determinate is suppose to remove or add by a certain amount. I don't understand how to calculate the determinate. Check the quote on how to calculate the determinate. I need help figuring out what the quote is telling me about calculating the determinate. It is a bit confusing.
Multi-Key Input System with Events: Input and Coroutines don't get along. T_T
The problem is the Keyboard function can't be in a coroutine. It skips checking some keys. What I need is an alternative way to scan for input. Scancode doesn't work for scanning input!
Keyboard - Only allows 7 keys to be pressed at a time. DBP only allows 4 keys at a time in a row (ex. 37-40).
One thing I have noticed:
For Index = 1 To MAX_KEYS
does reduce the performance a bit. I tried using Coroutines with no luck. In theory multi-threading + input should work.
Check Back Often. I will try and update this daily. Help me with my current problems and more code will come your way.
Don't forget to credit me if you use any of my code.
DigitalFury