In this month I got to work on the project in my spare time. We are starting to see the project take shape!
Breaking changes:
- I refactored the script engine from LUA to Javascript (js is much softer for anonymous functions)
- I created a repository for scripts and example world generation (you can find it at this LINK). It is a typescript project with types support
- I created the client (initially it had to be in webgl but in the end I created it with Avalonia, I feel much more confident)
- I have optimized the code and all the classes
- It's possible (it's an experimental feature and if someone wants to help me do it, it's welcome) to create the definitions in typescript (types.d.ts) in order to have a minimum of development comfort (yes you have the possibility to have autocomplete to create the world!)
- Two example npc's have been implemented, the cat, the mushroom seeker and the mushroom!
- Thanks to the advice received on reddit, I implemented SignalR as a communication protocol between the client and the server
Ensure you have installed docker
docker pull tgiachi/darkstar.server
git clone [email protected]:tgiachi/DarkStar.Scripts.git darkstar_root
docker run -p 5000:5000 --env DARKSTAR_ROOT_DIRECTORY="data/" -v $(pwd)darkstar_root/:/data tgiachi/darkstar.server
Then compile DarkStar.Client
and run it with username [email protected]
and password 1234!
!!! README being updated !!!
Hi, my name is Tommaso and I've always been passionate about fantasy and mmorpg games, especially when (back in 1999) I discovered Ultima OnLine.
I am a very curious person and as such every year I set myself challenges in order to grow professionally and the challenge of 2023 is to create a 2d MMORPG in C#
You can find me on linkedin Tommaso Giachi | LinkedIn
The project is still in the early stage
Dark Star is a fantasy roguelike game where the entire game world is procedurally generated. In this game, the player has to go through the underworld of the game,
encountering monsters and exploring procedurally generated dungeons. The game is known for its difficulty, as the player has to fight for survival in a hostile world, where even one wrong choice can lead to the death of his character.
In Dark Star, the player has the choice between different character classes, each with their own unique abilities and characteristics. Furthermore, the game features a progression system that allows the player to upgrade his character as he progresses through the game.
- GoRogue (https://github.com/Chris3606/GoRogue)
- TinyCsv (https://github.com/fmazzant/TinyCsv) thanks Federico
- ProtoBuf C#
- SignalR
Management of character and account creationCreation of the AI dummy (cat and mushroom finder human)Management of the movements of the character- Basic inventory management
Random map creation (city [ which has 10 dungeons ] )
- Catch me in https://discord.gg/DkNBQg8Etv
- Open a PR
For the creation of Dark Star I was inspired by
- NetHack
- Tales of Maj'Eyal
- Cataclysm Dark Days Ahead