fornever / tankdriver Goto Github PK
View Code? Open in Web Editor NEWSimple game about tanks.
License: MIT License
Simple game about tanks.
License: MIT License
nix-shell
at the root of the projectError message dialog with the following text "Error while trying to load the project '/home/rexim/Programming/ForNeVeR/TankDriver/TankDriver.Tests/TankDriver.Tests.csproj': Unknown ToolsVersion '14.0'"
Project opens clearly without any errors
There should be an environment (project?) to run unit tests.
So a random visitor of the repo doesn't have to build the game just see how it looks like.
We have both x86
and AnyCPU
configurations. Need to use only AnyCPU
.
On mouse click the tank should shoot a bullet object that dies when goes outside of the screen. Bullet direction should correspond to the tank turret direction at the moment of fire.
Everything else (like bullet interaction with other objects) is the scope of other issues that have to be
created.
Everytime I compile TankDriver on my NixOS setup I get
/home/rexim/Programming/ForNeVeR/TankDriver/TankDriver.App/Game.cs(42,42): Warning CS0414: The private field `TankDriver.Game._graphics' is assigned but its value is never used (CS0414) (TankDriver.App)
in Game.cs
You can see that warning on Travis CI
But there are no any warnings on AppVeyor
Follow NixOS build instructions in README
The warning message in the compilation log (see Description)
Compilation without any warnings.
It may fail on Windows without proper video adapter, need to check.
Currently it's like
$ cd TankDriver.App/bin/Debug
$ ./TankDriver.App.exe # or mono ./TankDriver.App.exe
Just to keep track of this shit and collect useful links
This is how cool kids show their coolness today I guess. Examples:
Try the following:
$ cd C:\
$ D:\TankDriver\TankDriver.App\bin\Debug\TankDriver.App.exe
The game will fail to load the textures and crash. We need to configure texture manager to load the resources from the same directory as our binary.
Probably we want to preserve the cache of downloaded NuGet packages on both Travis and Appveyor.
Currently the tests fail on NixOS with mono 4.0.1:
$ mono ../../../packages/xunit.runner.console.2.1.0/tools/xunit.console.exe ./TankDriver.Tests.dll
xUnit.net Console Runner (64-bit .NET 4.0.30319.17020)
System.TypeLoadException: Could not load type 'Xunit.Sdk.XunitTestFrameworkDiscoverer, xunit.execution.desktop, Version=2.1.0.3179, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c'.
It seems like we hit xunit#158 that was fixed somewhere around mono 4.2. Unstable NixOS channel have mono 4.4 already, but the stable channel doesn't.
What options do we have? We wanna run these tests without problems. Rely our build on mono44
and recommend the users to use unstable channel? Could it be done in a user-friendly manner?
Tank shouldn't be able to shoot too many bullets at once. Probably no more than 1 bullet per second or something like that. Add a cooldown constant to the tank model and follow that constant (i.e. don't let him to shoot if the the turret haven't cooled down yet).
Probably let's start from the static block enemies with some fixed amount of HP.
We need to create plans for a big picture of the game. Currently we have no vision of that, and it creates a problems for everyone.
Currently I've enabled the console window in #16 because we want to be able to debug the game started from terminal. In Windows there's no easy way to control whether I want or don't want to enable the console window. The most obvious way is to compile the application for a console subsystem (see TankDriver.App.csproj:9). This have an undesirable effect: the game will now show the console window every time anybody is starting it. And we don't want to scare ordinary gamers with out black console windows. So we'll need a way to disable console in release mode.
We can recompile application for Windows subsystem, but
So, I think that we need to provide a small Windows-specific piece of code that will detect if an application was launched with specific command line arguments and show (or hide?) console based on that.
See something like that SO answer as a reference implementation.
Enable and configure NLog in the project.
Currently the tank bullets appears at its center. They should start at the end of its barrel instead.
Currently we have no artistic license applied, so these masterpieces (and also this one) thus have unclear legal status.
Let's use cc-by license for the artwork.
@rexim, are you agree to relicense your present artistic contributions in this project under the terms of cc-by?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.