Aki is a Game Engine covered by the LGPL V3 liscence designed for rapidly prototype games. It was made in about a week.
What is your interest?
ABOUT - "I want more information about the Aki Game Engine"
TEMPLATE PROJECT - "I want to make my own games with the Aki Game Engine"
TUTORIALS - "How do I get started making games?"
FULL SOURCE - "I want to modify the code to the Aki Game Engine"
FAQ - "I'm having trouble"
About the Aki Game Engine
What Aki does:
- Draw stuff
[-]
- Load .BMP and .PNG images from the hard drive and display them on the screen
- Display bitmap font based text
- Read input from the keyboard and mouse
- Play sound
[-]
- Load .WAV files from the hard drive and play them in stereo
- Load .OGG / .WAV / .MID / .MOD / .XM files and play them as background music
- Natively maintains persistant external data (saves / high scores)
- Module-based object oriented wrapping for all functionality
- Project files for compliation in Microsoft Visual Studio and Dev C++
Why I made Aki:
- I wanted something smaller and more manageable than my larger projects
- I want to be able to make small games quickly and (mostly) painlessly
- I need a simple environment to tutor people in game programming with
What Aki isn't:
- bug free
[-]
- Total time put into this engine is roughly a week
- It really should be unit tested, but I have too much real work to do
- 3D
[-]
- I usually work in 3d
- It's quite the mess of worms
- I'm just not going there this time
- Cross Platform
[-]
- The SDL API it's built on is cross platform, the engine isn't
- If someone wants to port the engine to mac or linux be my guest
- I'm not against it, I'm just busy
What Aki is built on:
- SDL - libraries used for input / graphics
- SDL_image - used to load png images
- SDL_mixer - used to load and play sound and music
What Liscence is Aki Distributed under?
- Aki and the SDL libraries its built on are covered by the LGPL liscence
- You can download, use, and modify the game engine at your discression
- I allow and encourage you to share your projects and engine fixes with other people (and me!)
- You may commercially redistribute binaries compiled from the game engine if you choose
- The liscence should be included with all source downloads (If not, please let me know)
Aki Game Engine Binaries and Template project
Download Aki Limited (1.48 MB)Download Aki Limited if:
- You want to make your own games
- You want to compile the source code for other games made with Aki
- You don't want to deal with all the mess of how the engine was made
Instructions
- Develop using Visual Studio C++ 2008 Express
[-]
- Unzip all files into a new "Aki" folder of some kind
NOTE: This folder should not be on your desktop (see FAQ #1) - Download Microsoft Visual C++ Express
- go into the "template" directory and open either "template.sln"
- right click on the "template" project under the solution in the "Solution Explorer" tab and select properties
- select "Debugging" under "Configuration Properties"
- set the "Working Directory" field to "$(ProjectDir)\..\_game\" (see FAQ #2)
- close the "template Property Pages" window
- click on "Build Solution" under the "Build" menu (hotkey - F7)
- click on "Start Debugging" under the "Debug" menu (hotkey - F5)
NOTE: you should be aware that you aren't legally allowed to send people the EXEs you make with VC++ Express
- Unzip all files into a new "Aki" folder of some kind
- Develop using Dev C++ v5
[-]
- Unzip all files into a new "Aki" folder of some kind
- Download Dev C++
- go into the "template" directory and open either "template.dev"
- click "Compile & Run" under the "Execute" menu (hotkey - F9)
Should I use VC++ Express or Dev C++?
Visual Studio is by far the superior development environment, with one catch. Microsoft releases Visual Studio Express for free on the condition that you aren't supposed to give anyone the things you make with it. I generally use VC++ Express to develop my code, then when I'm done I rebuild it in Dev C++ so I can distribute them on my website. All EXE binaries on this site were not compiled with VC++ Express.Tutorials in the Aki Game Engine
Start by downloading the Aki Game Engine Binaries and Template project- These tutorials assume a rudementary understanding of C++
- The template project included with Aki Limited should serve as a basic tutorial for keyboard input and displaying text
- Tutorial 1 - Creating a Player Avatar
- Tutorial 2 - Creating a Level
Full Aki Game Engine source code
Download Aki Full (538 KB)Download Aki Full if:
- You want to add new features to the engine
- You want to fix problems with the engine
- You know a bit about working with libs and dlls
What is the deal with the "engine" project?
- I'm new to dll's, and I only sort of get them, so the project is a bit messy.
- engine.lib & engineVC.dll contain basic functionality - including all the SDL dependant functions
[-]
- this way you don't need to link your final game project against all the SDL libraries, or include the SDL h files
- it also means if you were to rewrite the game engine to use something other than SDL, you don't have to make any changes to your game
What is the deal with the "program" project?
- I wanted to make sure the source code of the game template has very few explicit function calls. Learning programming and game design is hard enough without tons of exposed crap in the template project
- The program project defines implementation for C++ dependant object oriented classes I haven't figured out how to pop into a DLL yet.
- program.lib is statically linked against your final program, so it does bloat up your EXE a bit.
FAQ and Troubleshooting
- "When I try to compile the project I get the error 'LINK : fatal error LNK1181: cannot open input file 'c:\Documents.obj''"
[-]
- Visual Studio will not compile a project if that project is in a folder that contains spaces in the path name. For example: the desktop has "Documents and Settings" as a root folder, and therefore you cannot compile the msvc project from the desktop. I have no idea why a piece of Microsoft software does this, since the Desktop is the most plausible place on a Microsoft Windows system to put something like this. It's retarted.
- "The project compiles, but it crashes when I run it and I get all these 'file not found' errors in the console"
[-]
- In Visual Studio - under (Project Settings->Configuration Properties->Debugging): make sure the working directory is the same as where the EXE is. I can't do this myself in the downloaded content, because the working directory is stored in a temporary hidden file who's name is dependant on the name of the logged in user. So unless computer is called "MELISSA" and your windows user name is "Jade" giving you "template.vcproj.MELISSA.Jade.user" file won't do you much good.
- "I downloaded the full source, and when I try to compile and run a project I get an error that 'engine.dll' or 'engineVC.dll' can't be found."
[-]
- When you create a dll file (like engine.dll) it creates a .lib reference file along with it to link your final project against. By default both of these end up in the _lib folder because thats where the .lib belongs. You have to move the _dll into the _game folder to run the exes.
