All Projects → DomWilliams0 → name-needed

DomWilliams0 / name-needed

Licence: GPL-3.0 license
🕹 A one man effort to produce an open source, intuitive and high performance Dwarf Fortress-esque game. Needs a name.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to name-needed

stonne
STONNE: A Simulation Tool for Neural Networks Engines
Stars: ✭ 57 (-34.48%)
Mutual labels:  simulator
Moonwards-Virtual-Moon
Development continues on Unreal, in the MoonwardsUE repository
Stars: ✭ 97 (+11.49%)
Mutual labels:  simulator
XWorld
A C++/Python simulator package for reinforcement learning
Stars: ✭ 82 (-5.75%)
Mutual labels:  simulator
mima
MIninmal MAchine Assembler and Simulator
Stars: ✭ 19 (-78.16%)
Mutual labels:  simulator
WebRISC-V
WebRISC-V: A Web-Based Education-Oriented RISC-V Pipeline Simulation Environment [PHP]
Stars: ✭ 74 (-14.94%)
Mutual labels:  simulator
device-simulator
基于netty的设备模拟器,模拟设备消息收发,压力测试。
Stars: ✭ 35 (-59.77%)
Mutual labels:  simulator
Thunder-Lightning
An Open Source Futuristic Action Flight Simulator Game Inspired By Carrier Command
Stars: ✭ 29 (-66.67%)
Mutual labels:  simulator
8800-simulator
A JavaScript simulator to demonstrate the front panel operations of Altair 8800.
Stars: ✭ 65 (-25.29%)
Mutual labels:  simulator
xefis
Qt-based EFIS and EICAS
Stars: ✭ 19 (-78.16%)
Mutual labels:  simulator
FluentSimulator
A fluent syntax .NET REST/HTTP API simulator for automated unit and UI testing.
Stars: ✭ 23 (-73.56%)
Mutual labels:  simulator
Hospitality
Orion's "Hospitality" and more
Stars: ✭ 69 (-20.69%)
Mutual labels:  rimworld
ravel
A RISC-V simulator
Stars: ✭ 24 (-72.41%)
Mutual labels:  simulator
showdown-battle-bot
Socket Battle Bot for Pokemon Showdown (http://pokemonshowdown.com/)
Stars: ✭ 19 (-78.16%)
Mutual labels:  simulator
RimAlong
RimAlong : Multiplayer mod for Rimworld [Ceased]
Stars: ✭ 32 (-63.22%)
Mutual labels:  rimworld
Physics
experimenting with physics simulation
Stars: ✭ 53 (-39.08%)
Mutual labels:  simulator
cas
Cellular Automata Simulator
Stars: ✭ 22 (-74.71%)
Mutual labels:  simulator
coord-sim
Lightweight flow-level simulator for inter-node network and service coordination (e.g., in cloud/edge computing or NFV).
Stars: ✭ 33 (-62.07%)
Mutual labels:  simulator
iBeacon-Android
iBeacon scanner and simulator - Android application example
Stars: ✭ 28 (-67.82%)
Mutual labels:  simulator
continuous Bernoulli
There are C language computer programs about the simulator, transformation, and test statistic of continuous Bernoulli distribution. More than that, the book contains continuous Binomial distribution and continuous Trinomial distribution.
Stars: ✭ 22 (-74.71%)
Mutual labels:  simulator
Python-2D-Simulation-of-Schrodinger-Equation
Une simulation de l'évolution d'un paquet d'onde gaussien
Stars: ✭ 39 (-55.17%)
Mutual labels:  simulator

name-needed

Build status Devlog Lines Files Test Count

A one man effort to produce an open source, intuitive and high performance Dwarf Fortress-esque game. Needs a name.


Progress log

  • 25 Jan 2022: A better UI for selecting entities with a dragged selection, and for issuing commands via a right-click context menu.

  • 08 Jan 2022: In-world text labels to show entity types and names, job progress and item stack information.

  • 22 Dec 2021: Material gathering for simple build jobs, with homogeneous item stacking. The build job (translucent square) requires 6 stone bricks, which are brought over in a stack of 5, then 1. The blue circle then uses these gathered materials to build a stone wall.

  • 08 Oct 2021: Major overhaul of activities (go pick this up, go break this block, etc) to use a custom async runtime for long running tasks, rather than manually implementing state machines. Activities are now much easier to write and maintain.

  • 16 May 2021: Simple Lua scripting API.

  • 02 May 2021: Tree placement in forests. Trees are very simplistic for now, more like large mushrooms. There's a lot of progress behind the scenes in parallel regional feature discovery, which will be documented in a future devlog.

  • 29 Mar 2021: Basic planet-scale biome selection based on temperature/latitude/moisture/elevation. Pictured is a smooth transition between a plains and beach biome.

Continued here

Building/downloading

The engine uses SDL2 and OpenGL 3.3, and is developed primarily on Linux, although it seems to work fine on Windows too. macOS is not yet supported due to its depreciation of OpenGL.

See the releases page for prebuilt binaries - occasionally the main develop branch is built and published there. Download the archive for your platform, unzip and run the name-needed binary in that directory. On Linux, you will need to install SDL2 through your distribution's package manager first.

Otherwise you can build it with cargo build --release (debug builds are really slow). Ensure SDL2 is installed.

I use the latest stable Rust toolchain and the newest fanciest language features, so no promises for a Minimal Supported Rust Version.

$ git clone https://github.com/DomWilliams0/name-needed

$ cd name-needed/

$ # optionally modify game config, see below

$ cargo run --release

Configuration

The game config can be found in resources/config.ron. This contains settings for the game engine, world generation and entity spawning parameters.

Entity definitions live in resources/definitions/ and define the stats and capabilities of all entities, both living and inanimate.

The environment variable NN_LOG configures logging, set it to one of trace, debug, info (default), warning, error, critical.

The --scenario parameter chooses a specific situation to spawn entities in, for example people hauling things to a chest or wandering around and picking up food. Provide an invalid scenario to list all available ones (sorry, what an awful interface).

Usage

Note: the "game" is currently very much a demo and not very playable in the slightest. Abandon all expectations!

  • WASD to pan the camera

  • Up/Down to move the camera vertically

    • Hold Control to resize the vertical range
    • Hold Shift to move the full vertical range instead of incrementally
  • Scroll to zoom in/out

  • Right-click to drag a selection over blocks in the world

    • Then Right-click in the bottom right corner to build there/destroy the blocks
    • Move the selection up and down with buttons in the World tab
  • Left-click (or drag) to select entities

    • Then Right-click a location in the world, or another entity to order them around
  • Escape to clear the current entity and world selections

  • P to pause/ unpause

  • ]/[ to speed up/slow down the game

  • Alt+Q to exit (most importantly)

  • Alt+R to restart

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].