Game Template
Edit: NOW FREE! No longer for sale because of lack of interest.
NEW THREAD HERE: http://forum.thegamecreators.com/?m=forum_view&t=187007&b=10
Edit: I created a
WIP for posting what updates I am working on for the Game Template. The Game Template is a finished product. This product will be updated with more classes and the code will be rewritten to make it easier to use.
The Game Template is a bunch of classes useful for Dark Basic Pro. Most programers write the same code again and again and spend a lot of unnessesary time on debugging, design, and writing the video game. This products goal is to reduce development time as much as possible.
After two months of development I have finally finished the Game Template! I put a hold on a few features and cut down the price to release it earlier. This is an expansion on a bunch of classes I wrote on one of my threads. What makes this different is I re-wrote and added on over 218 functions. Each class is designed to work with each over. An example would be Dynamic Resources using the File class to access the database of resources for loading and searching. I created the Game Template with several things in mind: Automation, Performance, Management, and ease of use.
Cost: FREE
Free Go here: http://forum.thegamecreators.com/?m=forum_view&t=187007&b=10
Function List: View List using Google Docs. Over 218 functions! For a full function list download the PDF file attached to this post!
Requirements: You must have the required plugins. If you do not have the Dark Data or Enhanced Animations plugin then comment out any functions that use Dark Data or Enhanced Animations.
-
Matrix1Utils
-
Dark Data (Optional)
-
Enhanced Animations (Optional)
-
Unity Or
Barnski’s Lua
Terms of use:
- The work is sold "as-is"
- Can not resell
- Can not redistribute
- Can not take credit for this Game Template
- Can not share source code anywhere
The Game Template is copyrighted by MyFreeCopyright:
-
Game Template: http://myfreecopyright.com/registered_mcn/CRNP2-GNV3Y-J9N9R
-
Game Template Update 1.0: http://myfreecopyright.com/registered_mcn/CPW6Y-1XCDB-KSBQJ
Features
Resources
Indexes are hard to keep track of and you sometimes end up with a lot of empty indexes that you could recycle. The template assigns indexes, recycles indexes, and searches for indexes by name with ease. When the template starts a File Database is created for looking up resources and where they are located. You can load a resource just with a name and the index is returned. You can also lookup loaded resources to find that index.
Highlights:
- Store Resource names you loaded in Lua Arrays
- Plug into the File class to search for resources
- Load a Resource by name
- Manage Resources indexes and recycle unused ones
- The alternative to loading by name is by full path which can be hard when you have to manage many resources by Index
- Name your own resource indexes with NameResource and GetResource
Performance
Performance is also another major feature of the Game Template. The Performance code will run the loops at a constant rate of Loops Per Second. Threads are also run just like loops. You can set the rate of any performance loop or thread giving you control of how fast or slow you want everything to update. Whenever a loop isn't running it will use "Nice Wait" to return the unused time back to the processor. This means the CPU usage will be very small. As you use more CPU power the CPU usage will go up. This technique insures that the CPU usage will be minimal.
Highlights:
- Create a performance loop using "Loop_" function tag
- Run at an specific rate. (Loops Per Second)
- The Loops Per Second rate will reflect as the Frames Per Second rate because sync is being called the Loops Per Second Rate. Ex. A Loops Per Second Rate of 30 will yield 30 Frames Per Second.
- CPU usage is minimal because wasted time is calculated and returned back to the processor.
Performance Console: The values that are displayed here are used by my performance class to calculate the wait time and the loop rates for each loop.
Timing
You have two different types of timers: Normal game timers and event timers. Game timers just keep the games time. You can reset the timer at any time using ResetTimer(). An event timer is a countdown timer that calls a function when it reaches 0. It can run once or reset when it reaches 0.
Highlights:
- Create Game Timers
- Create Count-Down Timers
- Create Count-Down Timers with Events
- Reset any timer using ResetTimer(Index)
- Get Milli-Seconds, Seconds, Minutes, Hours from a Timer
File
The ScanFolder function will scan all the folders and sub folders and add all the files/folders to the array. The array can be saved via Dark Data database or .dat File.
Highlights:
- Stores every file in a database for easy access
- Load the database rather then searching.
Animation
I cataloged all the animation for: Character Shop, The Apocalyptic Pack, and Model Pack 10. It will automatically extract and write an animation list for every animation. You can also load an animation using the LoadAnimation() function. Any animations you load can be looked up the index using GetAnimation() function. You can provide the Objects Name and the Animations name to get the index. I formatted the File Name of the .anim file to be easy to parse. This makes searching and loading easier.
Highlights:
- Automatically searches for objects and if they exist then extract the animation files and an animation list.
- The File Class can handle the files and be loaded by name.
Flexibility
I make the game template flexible. You can decide what you want to use. There are two types of databases: File and Dark Data. You can use Unity if you bought Unity or Barnski's free Lua. If you don't have Dark Data then you can use a File Database. You can use Dark Data, Array, or Lua file resource searches. There are a lot of flags for controlling what you load or process. Everything is made for ease of use and to have many different choices of methods.
There are many other features. Check out the help file attached for a complete list of all the functions.
Alpha Features: Features I added, but they are still in the alpha stage.
-
Multi-Threading: I haven't implemented mutexes fully. Variables being access by reading/writing from the new thread or the main thread still causes a crash.
-
Mutexes: I am using Mutexes just for Thread performance. The Mutexes will be added in the next full update of the Game Template.
-
Debugger: To make things easier to debug I created a basic debugger to catch errors, warnings, and messages and send them to the Command Center.
-
Command Center: The Command Center displays errors and outputs messages and warnings to the console window if the console window is active. You can also pause the game using the Command Center.
-
Performance + Threads: The thread's performance is handled by the main thread's UpdatePerformance() function. It would be easier to control the performance from the inside the thread. I will implement this next update.
How updates work:
- Free Updates are added when it is a small addition to one of the classes.
- Some updates cost money and are just a few dollars on top of the price of the Game Template.
- The Game Templates price will increase as I add more updates/classes to the Game Template.
- You can buy the Game Template anytime. I keep track of what version you have and calculate the cost of updating to the newest version. It would only be a few dollars normally to update to the newest version.
- Updates are distributed via a link sent to your email. The link will expire once you download the update.
Other Features:
- Separate Classes with examples
- Separate Builds for each plugin. Just load the Build based on which plugins you own
- Complete Help File: Contains documentation for every function and important variables
- Competition Game Code: Below is a preview for the first mini-competition. The game code is completed and shipped out with the Game Template. It is code for a Ball Game included free with the Game Template.
Free Updates: Will be released soon!
-
Tutorial version: Full documentation. The difference between the help file is that the game template will be completely broken down and explained where the help file explains how to use the template and each function. I will release this after the competition.
-
Examples: Examples showing how to use each class. I will release this after the competition.
-
Bug Fixes: If there are any bugs then I will fix then and release the bug fixes free.
-
Competition Game Code: Some basic template for a video game that you will base your game off of.
Notices:
- At game startup and game resume there is a lag. That is due to the performance catching up. Sync has this same behavior so it can't be fixed. It doesn't affect the game templates performance after the initial game startup. I noticed this behavior is the same as the Sync command with starting at a high fps then jumping to the set fps.
- Multi-Threading: Variables being access by reading/writing from the new thread or the main thread still causes a crash. Mutexs should fix that issue. This is how Multi-Threading is designed. If you do something incorrectly it could result in a crash. I will post fixes via Mutexs soon.
Possible Updates: These are just ideas of what to include in future updates.
-
Animation: Parses and processes FPS Creator Model Packs and generates the anim files and animation lists automatically.
-
Sound Packs: I might hire someone to make some sound packs for basic video game sounds. The sounds are mostly for character and walking sounds for every surface. I also want to get a class for automatically adjusting the efx sounds depending on the surface and room.
-
Other Features: I added the other features I plan to add on my blog and on my WIP thread.
Help Wanted
I am looking for help with development of the Game Template. Progress is slow and I need the extra help. You would get a fair portion of the profits. If you are interested then email me. My email is under my account info.
Updates are posted on my blog:
http://digitalfuryblog.tumblr.com/
Let me know of any Thoughts, Questions, Comments, Ideas, or bugs.
DigitalFury
Help File Attached
![](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)
Donate to the Game Template!