New ‘Action Roguelike’ C++ Project on GitHub
tomlooman.com
tomlooman.com
You emergency land on a alien planet with dangerous wildlife and ancient civilisations and everything wants to kill you. Levels and encounters are semi randomized, and you can buy items that stack idefinitly. Enemies get stronger with time so you need to be fast and activate the portal to the next level. But when you do that too early you won't be able to kill the boss that shows up while the portal is charging. If you die you start from beginning.
Risk of Rain 1 was the same only in 2D. Both are totally recommended for people who like shooters, challenging games and such.
Ie, Doom's shotgun.
RoR doesn't do this, despite being a single session action game. RoR makes the player grind excessively to unlock powerful abilities, rewarding players who play many sessions or who have high skill. This doesn't serve players with little free time or without high skill.
It's not wrong, just a particular style of design that many prefer; kinda a "Soulslike", but it's worth being aware of.
It's a race, even though that's not super apparent up front. What makes it really hard is finding the balance of clearing a level (which stops enemies from spawning, which stops income) as a tradeoff for looking aimlessly for chests, and choosing when to move to the next level. Loosely speaking the meta is to progress very quickly up front because money and loot is easier to acquire in later stages.
But I found that model to be kind of tiresome. They have an alt artifact mode where you don't need to open chests anymore and enemies just drop items instead. I found that to be a lot more fun and help even the playing field for playing co-op. It also encouraged sharing and teamwork in a weird way. When you have to pay for chests, the chest is "your" chest and you don't want to give an item to a teammate even if its better for them. When its a drop, sharing is caring. Your idle time looking for loot drops to zero and you can instead just play the game, go straight for bosses, and advance as fast as possible.
However then if you slow down those mechanics enough the brain can out think a computer AI so people complain because the game is too easy. I think the reality is that while these games are cool and fun the AI part needs to be very good and very advanced. Probably several years in the works like dwarf fortress. Most game cycles simply cannot support this so you end up with basically a cool idea that has to be reduced to a gimmick for sales.
Perhaps eventually I still get time to evolve it to include proper RNG and procedural content
Impressive. The Stanford course 'CS193u: Video Game Development in C++ and Unreal Engine' sounds good too: https://www.tomlooman.com/stanford-cs193u/
I also happen to be working on a 3D action roguelike, but in the other big game engine: C# and Unity. https://twitter.com/Doomlaser/status/1335652128438820864
https://store.steampowered.com/app/577410/The_Pit_Infinity/
It also has co-op, which AFAIK is pretty exceptional for a roguelike† ?
P.S.: It's in a lot of ways a 3D remake of the critically acclaimed Sword of the Stars : The Pit, which is a 2D roguelike† with modern graphics (at least modern compared to most of the other roguelikes†):
https://www.gog.com/game/sword_of_the_stars_the_pit_osmium_e...
(†roguelikes, not roguelikelikes, The Pit isn't going to go easy on you !
The most important skill to learn is how to conserve, and when to use your various resources : health, 'psi'=mana, food, item durability, ammo, inventory space, crafting items, taking character levels which you decide and which also refills your health and psi…
with the hardest probably being to decide which rooms is worth the risk to open, and which is not.)
At best you could say it's an action roguelike, but it looks like a generic fps, with maybe randomised layout (I hope) and maybe some rpg-like stats.
There's a lot of dilution of the roguelike term, and even while some variety and games that don't fully fit the term could be marginally accepted I don't think a randomised Borderlands could fit the genre at all.
[1] http://www.roguebasin.com/index.php?title=Berlin_Interpretat...
"Explore procedurally generated hallways, rooms and biomes!"
"Gain Levels to improve your Attributes and Skills!"
"Collect components and craft new items to improve your chances of survival!"
which along with permadeath and makes it a good match for the action roguelike term.
Terms have a meaning, and if we dilute them we will have the literally situation again,in which it's used instead of figuratively.
It's probably also much less action-based than OP's project(?) and Risk of Rain 2, more of an horror/survival vibe. Especially with how touching an enemy with a shot still requires a skill check roll, and there's no bonus (AFAIK?) for headshots or such.
Not to mention the other aspects, especially resource management being extremely important : expect often dying of starvation (or dying desperately trying to find food and rushing into hopeless fights).
Not really. It's pretty common, esp. if you include modern games: Spelunky, Caveblazers, The Binding of Isaac, Son of a Witch, Enter the Gungeon, all have co-op, most of them support up to 4 players.
Anything else than text-based seems difficult though.
He insisted on everyone using Visual Assist X (which isn't cheap) and would go through the course using VX keyboard shortcuts. VX is expensive and mutually exclusive with ReSharper (which I was already paying for), but uses totally different navigation and menus.
Then, IIRC, after a brief intro explaining some basic concepts, your first homework assignment is to create a black hole that sucks everything in and then spits it out. Without even really explaining much in the way of 'how' to do so, or what tools you use to achieve that effect, and neither spending much time teaching how to navigate Unreal docs or otherwise find the information on one's own.
Not to crap on this particular project, more that seeing the course ad on the right brought back a wave a bad memories.
Unreal is a beast to learn, and I get that teaching people to code in it is probably not easy. But this guy's course simply did not jive with me.
Contrast that with Ben Tristam's courses at Gamedev.tv, which are considerably longer, but they do a much better job of explaining what the hell is going on and how to figure out how to do what you need to do to proceed. The 4.22 guide even drops Visual Studio entirely in favor of VS Code (which I don't particularly like but will admit that VS trying to Intellisense the unreal engine source slows it down a ton)
if a C++ compiler is able to compile it, then it's C++, no matter how many layers of macros there are. GCC, Clang and MSVC have no problems compiling my UE projects here.
https://www.gamedev.net/blogs/entry/2265481-oop-is-dead-long...
1. Login (Authentication and identity)
2. Persistence of data
3. Social graphs
4. Gameplay
5. Metrics/telemetry collection, ingestion, tracking, presentation.
1,2,3 and 5 are generalizable and a framework can be made to fit almost any game. Metrics/telemetry might be game-specific, but you can come up with an abstraction to fit most of the types of things you might want to collect/observe.
I'm not even talking about operation and maintenance. You can assume those are fairly well-understood generalizable problems. Or the type of networking requirements of WoW vs CoD.
Number 4 is impossible to generalize. A gameplay server will be unique to each game. Frameworks like SpatialOS etc. are not scaling out game play. They are scaling out the persistence and distribution of game state. Those are two very different problems.
A lot of engines (like Unreal) include a "server" component which you can use for upto 64-ish players. After that, any optimizations you need are going to be very, very specific to the game.
For example, the requirements to scale a diablo-style looter game are completely different from an FPS or a WoW-style classic RPG. How many ticked objects you have in a game instance on the server for example will vary from game to game and will drastically alter the scalability.
Many companies, including Unity and Unreal at various points have tried to come up with such a framework and have failed. No such framework exists even at a paid level. Let alone an open-source framework where your users will be mostly non-technical game designers who just want the damn thing to work so they can be creative. As much as I love their creativity, I would go mad trying to satisfy such an audience :-)
TLDR: Gameplay logic is not conducive to a generalized abstraction and thus cannot be scaled independent of game type.
Scalability is also not an issue. Number of simultaneous players and objects is limited by bandwidth and latency only. There are certainly no barriers to handling multi-million entity databases on any modern server. You're really only limited by how much data you can push out to your users within an update tick. And of course by how much money you're willing to pay for back end compute capacity on an ongoing basis. But those costs are very low these days, especially if you have dedicated servers rather then AWS/Google/Azure.
I think perhaps the issue is not so much that frameworks don't exist, but rather that no single framework has achieved popularity in the game design community. The indie crowd is not likely to want to, or afford to, run servers for years and years, so the demand is not there. The triple-A studios roll their own.