cxong / cdogs-sdl Goto Github PK
View Code? Open in Web Editor NEWClassic overhead run-and-gun game
Home Page: https://cxong.github.io/cdogs-sdl/
License: GNU General Public License v2.0
Classic overhead run-and-gun game
Home Page: https://cxong.github.io/cdogs-sdl/
License: GNU General Public License v2.0
Show score earned/lost when killing enemies
There are a few source files that are >10kb in size, which is highly suspect. No module should need to be this big. They may be big because they contain large, hand-coded data structures (which can be separated from logic), or they have multiple functionality.
Currently the following source files exceed 10kb in size:
This is almost half of all the source files. Given that CDogs is a fairly big game for the number of source files, this is somewhat expected.
This will be a big ongoing issue. Keep updating this issue with findings such as:
Code that depend on different build configs or platforms should be separated. Having two versions of the same code in the same functions makes maintenance hard. This is especially the case for modules such as sound.c.
The knife is the only melee weapon, and is hard to balance. A medium range melee weapon, maybe one that is swung/lunged, could be interesting.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This will also require drawing the bullet, in a way that has nothing to do with its hit detection.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
In a squad, AI has awareness of each other, so they can work together, share awareness of the player etc.
And other states like guarding, idle etc.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
This is so that the FILE and LINE macros can be used, to trace where the memory allocation actually came from.
Shield as a weapon. Could be paired with a weak weapon such as a pistol.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The players can be customised with different body part colours, but there's no option to use textures.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Some improvements include: bobbing, syncing feet to ground
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The map is brought up using a key; see if it can be shown all the time
Could help the ambiance especially when hearing footsteps in the distance
Add a mode to quickly start in a random map, objective kill all enemies.
In sounds.c, the ToggleTrack function's track parameter is unused. It seems that the game has the ability to choose which music to play, but it's unimplemented.
A bit of eye candy. Could be just blob shadows to start with; later may experiment with directional shadows based on the angle of the sun.
Instead of just a number. Also may consider adding health bars to other players, especially bosses.
Seems as if the game is buffering up the keypresses. Examine the keyboard handling code, check that map is implemented as a keydown check, rewrite if necessary.
Gun models can be used in the weapon selection menu, as well as displayed in the HUD
The current makefile is a bit unwieldy, and users must edit it according to their platform. CMake should have the following improvements:
i.e. something players can get into, which changes their weapon and/or movement style. Also could add autoturrets, which just don't move.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
AI to understand cover, and evasion, i.e. sliding away from player's bullets.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Would help especially if the player could hear when they are being hit
There were a number of ports made for C-Dogs SDL. Some are now dead, but for those that are still alive, check them out and see how they were ported, and if we can continue to support those ports in one codebase.
Dingoo: http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,30,228
PSP: http://gtamp.com/forum/viewtopic.php?f=20&t=46
Dreamcast: http://www.dcemu.co.uk/vbulletin/threads/116400-C-Dogs-SDL-Versi%F3n-0-4
DS: http://gtamp.com/DS/cdogsds.php
Wii: http://wiibrew.org/wiki/C-DogsSDL
Amiga: http://aminet.net/package.php?package=game/shoot/cdogs_aos4.lha
BeOS: http://www.bebits.com/app/4549
The snipergun for example has a huge reload time, so it will be good if a sound plays when it is ready to be fired again.
AI should want to move into the best range when engaging. For example a flamer AI should want to close the distance before engaging.
Current sound effects are low-fi and a bit inconsistent. See if a total conversion can be done
C-Dogs website had a load of user-created campaigns. Find them and include. May need to implement campaign folders to avoid crowding out the choose campaign menu.
Subtasks for a huge piece of work:
After the simple LAN multiplayer, testing over a WAN (or with simulated latency/loss) might reveal severe shortcomings in the protocol, such as
Try to move to a position that can hit the player before firing, such as lining up until the player is directly left/right/up/down or 45 degree diagonal.
Allies always get in the way, especially hostages. If players can either shove or warp/repel around allies, it would be less annoying.
Grenades as weapons seem out of place in C-Dogs. They may work better if they were used as a secondary weapon.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Add some stealth elements into the game
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The password system is neat but is very outdated and inconvenient. There is somewhat of an autosave already, where the game remembers the last password, but it is not a full-blown save system.
Get this project up to date, make it easy to use, add some polish.
CDogs can play music but only if some config files are set up with the filenames of the music. Include some sample music and include them in the install/build, and the game should play any music that's placed in the music folders.
The current mainmenu implementation is unstructured, with the displaying and handling of menus in separate data structures and routines. Combine them to make them easier to maintain, and possibly refactor common routines.
Unfortunately this is required before campaign folders are implemented, because that depends on how the menu systems work.
So players can get on top of buildings, into basements etc
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
For the AI, hostages etc. Probably means the AI needs the concept of "where to go", instead of now where they move randomly.
Some bullets (powergun, snipergun) appear differently depending on their angle, but there are 8 at most. Add graphics so that even for guns that have more directions than 8 (machinegun), their bullets are drawn differently. This may require a new drawing technique.
This feature may be there already
I.e. not randomly generated ones
The config files right now are just numbers in text files. This makes them impossible to edit outside the game, unless one has access to the source.
We could change this to some structured form, so that they're easier to edit. Should be either INI or YAML, will need to look at which one is easiest to build, or whether YAML is required at all.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.