VVVVVV
Celeste
DISCONTINUED
Our great sponsors
VVVVVV | Celeste | |
---|---|---|
28 | 49 | |
6,795 | 3,100 | |
- | - | |
9.7 | 0.0 | |
5 days ago | over 1 year ago | |
ActionScript | C# | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
VVVVVV
-
why are gamedevs so against sharing code?
*The Monkey's Paw curls* https://github.com/TerryCavanagh/VVVVVV
-
Can you give an example of well-designed C++ code, and explain why you think it is so?
Yeah, just look at this beauty! https://github.com/TerryCavanagh/VVVVVV/blob/master/desktop_version/src/Game.cpp
- Ask HN: Favourite Open Source Game?
-
Is making a game supposed to be this messy?
Finally, games are really that complex. Check out for example Terry Cavanagh's blog post on releasing the source code for VVVVVV, and check out the source for Game.cpp (although keep in mind this was ported from ActionScript).
-
Nothing but the truth here..
So it seems to be an unofficial policy rather than a written rule, if those allegations are true (remember that those are Wolfire's claims of what Valve said). Certainly there doesn't seem to be consistent enforcement - for instance Tales of Maj'Eyal is free, but $7 on Steam. Apparently there are some minor differences - does that mean that they can claim that it's a "separate version" and hence doesn't need price parity, even though 99.9% of the game is identical? There's also VVVVVV, which is open source (albeit years after initial commercial release) where you can freely build the exact same copy as on Steam ($5), including steamworks support. Does that count as a "separate version" when you just have to compile code? Admittedly these are two indie games, albeit extremely well-known ones, but then - isn't Wolfire Games also an indie studio?
-
Any professional devs struggle with fear of breaking stuff?
VVVVV's game logic includes a switch-statement with over 4000 cases.
-
Don't neglect Open Source Games! They'll be great on Steam Deck!
Source: https://github.com/TerryCavanagh/VVVVVV/blob/master/LICENSE.md
-
Devs who open source their games, why?
Also VVVVVV wasn't actually open sourced. It's source available. In particular, per its license, it explicitly forbids selling copies:
-
What are the best/most fun games for which the entire code has been made open source?
VVVVVV
-
VVVVVV getting its first update in seven years: bug fixes, editor updates, 60FPS support
He released the source code to VVVVV over a year ago the community has be making constant updates since then https://github.com/TerryCavanagh/VVVVVV I mean Terrys own immediate follow up tweet:
Celeste
-
Pico 8 in other software
Aha, found it! They opened sourced the C# version https://github.com/NoelFB/Celeste/tree/master/Source/PICO-8
-
In games such as Celeste, Super Meat Boy, Hollow Knight, etc, is the character's horizontal acceleration constant, exponential, or logarithmic?
Also Celeste’s Player.cs is on GitHub. Not the whole game, just the one file, but I think it has all the player movement in it. Could be mistaken.
They dropped the controller script for Celeste. 5400 lines of tuning and refining to get everything right. https://github.com/NoelFB/Celeste
-
How did Sonic Adventure interpret input when running on walls/ceilings?
It's not uncommon for novel or finely-tuned character controllers to keep getting tweaked for the entire development cycle, and they can get hilariously intricate in the process.
There's actually a README now, that does say it's probably messier than it should be and includes more cutscene logic than it should.
-
Open source is democratizing video game development
Celeste has a huge amount of code dedicated to the proper smooth movements. It requires both knowledge of "physics" simulation, as well as coding methods to get a particular desired outcome (ala, the feeling of responsiveness).
It might not be easy for someone without coding experience to create. Have a look at https://github.com/NoelFB/Celeste/blob/master/Source/Player/...
-
The project with a single 11,000-line code file
I remember sharing that Player.cs code from Celeste in the gamedev subreddit, and getting all kinds of weird novice comments about how the code doesn't adhere to 'OOP Principles' or 'there isn't any unit tests' or 'you should split it into multiple files with 100 lines each' or 'you should use an ECS to make a real game'.
Laster on Noel Berry did give a response explaining the various design choices behind their code:
https://github.com/NoelFB/Celeste/tree/master/Source/Player
Anyways, kudos to the team sharing their code even if it's a bit messy.
-
Tutorial on how to recreate Celeste-like movement with free source code
FYI the official Celeste player movement source code is also available here: https://github.com/NoelFB/Celeste
Instead of "don't do this", I'd say read the Dev's comments/regrets and others who have shipped games. Consider the context that people come from when the opine on this code: both amateur and professional programmers who haven't shipped in the requirements-poor domain of gamedev have very different experiences from gamedevs. (Imagine making a novel game where you knew exactly what needed to be delivered!)
-
Any professional devs struggle with fear of breaking stuff?
This has been linked already, but the Player class in Celeste is a 5000+ line bloated mess.
What are some alternatives?
Unity-2D-Platformer-Controller - A customizable 2D platformer motor that handles mechanics such as double jumps, wall jumps, and corner grabs. Includes a player controlled prefab that can be dropped into any scene for immediate support.
ILSpy - .NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
2d-platformer-controller - Simple implementation of a 2D platformer character controller using raycasts for smooth and precise input and movement
Godot - Godot Engine – Multi-platform 2D and 3D game engine
osu - rhythm is just a *click* away!
shapez.io - shapez is an open source base building game on Steam inspired by factorio!
skia-binaries - Prebuilt binaries generated with GitHub Actions that are downloaded by skia-binding's build.rs script.
godex - Godex is a Godot Engine ECS library.
games - :video_game: A list of popular/awesome video games, add-ons, maps, etc. hosted on GitHub. Any genre. Any platform. Any engine.
SNKRX - A replayable arcade shooter where you control a snake of heroes.
specs - Specs - Parallel ECS
oolite - The main Oolite repository.