You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, I used to play claw when I was a kid and I still do:).
I would like to contribute to this project. How can I go about doing so? My experience in game programming is limited to a chess engine: https://github.com/universecoder/Horus-Chess-Engine.
Could you provide me some guidance?
The text was updated successfully, but these errors were encountered:
This game and its engine is written pretty much only "by myself, for myself", but certain things, like implementing new levels using existing components are not hard. But delving into things like tweaking physics engine or Claw's states / movement is a big no-go since the code is a mess.
For this I would need to create a new wiki page, which I will certainly do in foreseeable future, but here are atleast some basics when it comes to adding new levels:
Add a new level to SAVES.XML file (in this case new level is 7) with its checkpoints
Try to load the level from menu, it will crash on assert - find the root cause of assertion failure and fix it. Then try again until there are no more assertion failures.
It will fail most certainly in places where only levels 1-6 are expected
It will fail on unimplemented logics for certain actors
Now, implementing game actors:
Most actors are defined via .XML files in Assets/LEVELx/.XML - you can check for reference existing actors in existing levels. These XMLs consist of multiple components which in its effect assemble actor as a whole - you can google "Actor Entity-Component system"
This actor defined in XML is a "prototype" - it is a template upon which a concrete in-game actor is created
Introducing new actor takes multiple steps:
Create *.XML file as an actor template
Add this actor to enum in Interfaces.h / Interfaces.cpp along to all other actors
In Engine/Converters.h (this file is a mess) there is a huge if-else if control which translates original WWD object's (actors) into XML actors which are then spawned by my engine - you need to translate the logic you are trying to implement into a XML actor by calling specific ActorTemplates::CreateXmlData_*
Best way to learn how to implement new concrete logics is to check one of my past commits - there are multiple commits implementing concrete actors.
I know that what I wrote just know is probably uncomprehensible, I will try to describe it in some wiki page as I mentioned.
Hello, I used to play claw when I was a kid and I still do:).
I would like to contribute to this project. How can I go about doing so? My experience in game programming is limited to a chess engine: https://github.com/universecoder/Horus-Chess-Engine.
Could you provide me some guidance?
The text was updated successfully, but these errors were encountered: