SFML community forums
General => SFML projects => Topic started by: rubenwardy on April 20, 2018, 06:50:17 pm
-
I have been working on a game for the last 3 years, on and off.
I’m aiming towards a city-based game, where players can wander around a procedurally generated city. The concept is you'll run a community of rebels in a dystopian future, so there will be mechanics such as stealth and avoiding standing out.
I haven't got much actual game play, but I have a partially functional networked world with multiple z-layers. RVWP originally standed for Ruben's Virtual World Prototype, but now stands for Ruben's Virtual World Project (https://rubenwardy.com/rvwp/).
The map is made up of 3 layers - terrain, flooring, and objects. Each of these is registered using Lua scripts and stored in using the Type Object (http://gameprogrammingpatterns.com/type-object.html) pattern. I choose this instead of ECS as it's easier to serialise and send across the network. Moving things on the map - including players - are Entities. Entities use an ECS with components mostly implemented in Lua.
The client is structured using a MVC pattern. There's controllers and views for each window, the HUD, and the scene. There are also multiple controllers for the player input, which allows the type of input (keyboard/mouse/etc) to be abstracted away from the actual movement code.
More information: https://rubenwardy.com/rvwp/ (https://rubenwardy.com/rvwp/)
Blog post detailing history: https://blog.rubenwardy.com/2017/08/13/multiplayer-topdown-sandbox-game/
(https://rubenwardy.com/rvwp/static/images/lighting.png)
(https://blog.rubenwardy.com/static/blog//rvwp/video_thumbnail.png) (https://www.youtube.com/watch?v=jVDRooxlx7M)
(https://blog.rubenwardy.com/static/blog/rvwp/7_controllers.jpg)
-
I've made a lot of progress since the opening post!
New World Rendering
The world rendering has been massively overhauled to render all layers in a cross-section where you can walk up and down layers like so:
(https://blog.rubenwardy.com/static/blog/rvwp/zlayers.gif)
3D Lighting
I've added support for 3D lighting with day and night transitions:
(https://rwdy.uk/CdKT5.gif)
(https://rubenwardy.com/rvwp/static/images/lighting.png)
I've created a webpage with up to date information here: https://rubenwardy.com/rvwp/
And More!
- 8-bit connections for walls
- Add architect mode
- Add plots, to represent land ownership
- Use ENet for networking
- Improve chunk loading by using spiral search pattern
- Better inventory GUI, with pictures and tooltips
- Simplex-noise based map generation
-
Thanks for bumping the thread, because I've missed such a nice project :P
I quite like the minimalistic graphics, and looking for more gameplay details.
Any info on when first playable alpha will be available? Also, is it a commerical project, and if no, is the source code available?
Good luck in future work.
-
Thanks for bumping the thread, because I've missed such a nice project :P
I quite like the minimalistic graphics, and looking for more gameplay details.
Thanks :D
Any info on when first playable alpha will be available? Also, is it a commerical project, and if no, is the source code available?
I have no idea when it will be available. I'm currently keeping the source code closed for two reasons:
- it is not in any playable or usable state, and I don't want to have to support or accept contributions to it
- so I can decide at a later point whether to make it open source or a proprietary product
I am a contributor to lots of free software projects, but this is something for myself!
I've been publishing things I've learned during the course of this project. See the RVWP webpage (https://rubenwardy.com/rvwp/) for a list, and also these:
- A Comparison of GUI Libraries for SFML: TGUI vs SFGUI vs IMGui and more (https://blog.rubenwardy.com/2020/01/21/creating-game-guis-in-sfml/)
- C++: Self-registering functions using macros for test libraries (https://blog.rubenwardy.com/2019/02/17/cpp-self-registering-test-macros/)