COGS is a new language designed to make it simple and fast to create games. COGS is awesome and you should try it because:
- COGS is 100% cross platform. If your game works on Windows, it will work on Linux without any changes. COGS (and SDL) deal with all that stuff for you. macOS, Android and iOS are coming.
- Any game created with COGS will be modable. If there's something about a game you don't like you can change it. You can add new features and remove any chickens you don't like.
- COGS is free to use.
- COGS is complete, ready to go. There is one small download that contains everything you need. Just grab your favourite text editor (or vim) and go......
- COGS is very lightweight to develop with. You can use a Raspberry Pi as your dev machine. Builds take seconds. I know as Exploding Fist was developed on a Pi4.
COGS is Currently In Development
COGS is currently being developed. It is working, and can create fully playable games. There are some important features still being developed but you can check out some games created and coming in the Games section.
I'm developing a set of my favourite classic games to get the design of COGS right. All games will be free and the COGS source for all the games will be available to see how it's done. If you want to help, see the Community section.
How Does COGS Work?
COGS games are developed in a new language designed to be as easy to use a possible. If you've tried to learn something like C++ or Java and got bogged down in header files, external dependencies, 10GB IDE downloads and given up, give COGS a try. There is one small download that includes everything you'll need. Use your text editor of choice and start coding.
COGS Development Tools
COGS is coming soon.........
Games
To show what can be done with COGS, I'm currently re-creating versions of classic games from the past. They will all be completely free, and I will be releasing the COGS source code for the games so you can see how it's done. If there's something you don't like about the game, you'll be able to change it or you can use the game as a starting point for your own game.
Check out the games:
The Way of the Exploding Fist++
The Way of the Exploding Fist was released on the Commodore 64 in June 1985. It's one of the best fighting games of all time and all modern fighters owe a massive debt to this game.
COGS Version
How can you improve on one of the best 2 player fighting games of all time? Easy.... make it 4 player!!! As well as adding the extra players, The graphics have been updated for modern 16:9 TVs/monitors and allow the game to scroll. I've tried to make the game play and feel as close to the original as possible. Parallax scrolling, you can never have too much parallax!
Controls
- Press A Button to start.
- Each additional player presses their A Button to join.
- To add CPU fighters, press B Button.
- Up changes your fighters robe colour while waiting to play. Down makes them crouch so you can work out which one is you.
- Left and Right changes the CPU fighters skill level. You can see this by the CPU symbols. The more, the better the fighter.
- Press Start when everyone has joined to start the fight.
- Esc twice in quick succession will quit the game.
The moves are exactly the same as the original
For more info about using controllers and keyboard see Controllers
Game Modes
- If there are 2 fighters, the game plays much like the original. The first person to make a hit wins the round and the fighters reset. First to 6 points wins.
- If there are more than 2 fighters, it's more like IK+. The fight continues until one fighter has 6 points.
What's Coming?
The game is fully playable with the most iconic background but I'm working on new features:
- More backgrounds. All the other backgrounds will be updated and added. I'm liking the idea of each background corresponding to a different game mode....
- More game modes. Currently there are 2 game modes. Other potential game modes:
- Last man standing. All fighters start with 6 points and are out when they lose them all.
- Team battles. Each player picks a team and your attacks only work on the other team.
- Single player against multiple bad guys. Bruce Lee style.
Download
Version History
The version is stored in the CogsApp.cogcfg file.
Version: 0.7.2R
Date | Version | Info |
---|---|---|
04-Nov-22 | 0.7.1R | Intial, multi player only demo. |
05-Dec-22 | 0.7.2R | Added CPU players and classic game mode. |
07-Dec-22 | 0.7.2P1 | Patch: Fix low punch. Add missing lib for Pi Ubuntu. |
12-Dec-22 | 0.7.3R | Frame rate fix/improvements. |
Installation
Windows x64
- Copy the ExplodingFist folder out of zip file. I create a Games directory in my home folder but anywhere will do.
- Run the ExplodingFist.exe from the ExplodingFist directory.
- Windows will usually pop up a "Windows protected your PC" window. This is because COGS is a brand new site.
- Select "More Info" and "Run anyway" to run the game. You won't need to confirm again.
macOS
You'll need to get your terminal out to install on macOS. I'll look at creating an application bundle but for now you'll need to go geeky. Download the zip file to a appropriate place. I create a Games dir in my home dir.
cd Games
unzip ExplodingFist_macOS_x64.zip
xattr -c -r ExplodingFist
cd ExplodingFist
./ExplodingFist
macOS Frame Rate Issue
There seems to be an intermittant framerate issue on some macOS machine. Occasionally the game starts but seems to miss frames and generally run poorly. Quitting and restarted usually sorts it. I'm investigating the cause.
You can run the game windowed, which seems to solve the problem:
./ExplodingFist -w720
Linux
Unzip the download:
x64 (Intel)
unzip ExplodingFist_Linux_x64.zip
cd ExplodingFist
./ExplodingFist
arm64 (Raspberry Pi)
unzip ExplodingFist_Linux_arm64.zip
cd ExplodingFist
./ExplodingFist
I've tested COGS and Exploding Fist on a Pi4 running Raspberry Pi OS and it works fine with no slowdowns. It should work on a Pi3 but I've not got one and they are unobtainable at the moment. If it is running slowly, setting the refresh rate down to 30 Hz might help. Let me know how it runs if you try it on a Pi3.
Linux Versions
So far, I've tested COGS on Ubuntu, Fedora, Ubuntu Mate and Pop OS. It works fine on these but there's a lot of Linux distros out there. Let me know if you're using a different distro and are having problems.
Toubleshooting
Frame Rate Issues
There were frame rate issues related to vSync that caused the game to run too fast. These should now be fixed in the latest version. This should also make the game run much better on slower hardware.
Uninstall
To uninstall, just delete the ExplodingFist directory.
Feedback
If you have any problems installing or running the game, please let me know.
Email: paul@cogsgames.org
Power PC
This works on my iMac G5 Debian but is being tested for Fienix. Try it at your peril!!!
Installation
unzip ExplodingFist_Linux_ppc64.zip
cd ExplodingFist
./ExplodingFist
Green Yamo
Green Yamo is a COGS remake of the 1984 Commodore 64 game Bruce Lee.
COGS Version
The graphics on Bruce Lee were incredibly basic and look pretty bad full screen on a modern monitor. TIX made a much better set of sprites that have been put into a version of the Atari original. He's currently working on an updated set of graphics in a higher resolution for Green Yamo. They are still retro looking but are a higher resolution so will look good on a modern display. Check out his WIP sprites in the screen shot above.
Get Involved
I'm going to get the first 'level' working and release this as a demo. If you'd like to get involved and make the rest of the game, get in touch. I'll be available to help and add any features you need to COGS. Some programming experience would help but it's not essential. Let me know.
Controls
For info about using controllers and your keyboard with COGS see:
For additional config options (eg. running COGS in a window), see:
USB Controllers
COGS uses the rather excellent SDL2 library to handle USB controllers. This uses a community sourced config file with 100s of USB controllers. This is the gamecontrollerdb.txt file in the root dir of your game. It will be a reasonably up-to-date copy of the file but it's perfectly fine to overwrite the one in the game with an updated one.
Your controller should work. If it doesn't, there are utilities you can use to create the entry for your controller and OS. If you do need to add your controller, please make the effort to update the database so other people with your controller will benefit. Either push your new file back via Github or mail me a compressed copy of your updated file (paul@cogsgame.org) and I will add it. Note: I have no involvement with SDL or the SDL controller database.
Keyboard Controllers
There are 2 virtual keyboard controllers you can use as well as the USB controllers:
Button | Keyboard 1 | Keyboard 2 |
---|---|---|
DPad Up | W | Numpad 8 (Up) |
DPad Down | S | Numpad 2 (Down) |
DPad Left | A | Numpad 4 (Left) |
DPad Right | D | Numpad 6 (Right) |
A Button | Return | Numpad Enter |
B Button | Space | Numpad 0 |
Start | 1 | Numpad + |
Back | 2 | Numpad - |
Note: If you want to use Keyboard2, make sure Num Lock is off.
Other Key Controls
- "+" and "-" can be used to change the volume.
- To exit any COGS game, press Esc twice in quick succession.
Config
Command Line Params
By default, COGS runs full screen. You can run COGS windowed using command line parameters. Supported resultions are:
Resolution | Linux Param | Windows Param |
---|---|---|
960x540 | -w | /W |
1280x720 | -w720 | /W720 |
1920x1080 | -w1080 | /W1080 |
2560x1440 | -w1440 | /W1440 |
On Windows
CD D:\Games\ExplodingFist>
ExplodingFist /W1080
On macOS or Linux
cd Games/ExplodingFist
./ExplodingFist -w1080
Community
YouTube
The best way to support COGS and to get notifications when there's something new, is to subscribe to the COGS Games YouTube channel. Watch and like any videos that interest you.
If you have any problems with installing or using COGS, you can email me for help:
- paul@cogsgames.org
If you're reporting a problem as well as what's not working, it would be good to know:
- The OS you're using.
- The hardware you're using.
Privacy Policy
No personal data is collected or stored about anyone visiting or using this site.
Cookies
A cookie is used to store your prefered settings for this site (eg. Theme).