Find Jobs
Hire Freelancers

C# Simulation

$100-500 USD

Cancelado
Publicado há mais de 14 anos

$100-500 USD

Pago na entrega
This project involves creating the basic outline for a simulation engine in C# One could think of it as a 2D game. It will need a GUI which can display a tile-based map and render entities on the map, and a simple, thread-safe world model which just holds known world objects. Good architecture and thread safety a must. ## Deliverables This project will consist of creating a prototype for a simulation engine in C#. The project roughly follows the model-view pattern. I will explain what I have in mind below, but any recommendations are welcome based on your expertise. **Model** The model can roughly be viewed as the 'world'. - It should havea container or manager for known objects. For this project, the objects need only a unique ID and a 3D position. - Objects should be added, removed, and updated in a thread-safe manner. - Adding and removing objects will occur several times per second, but updates much more frequently. **View** The view will be a GUI which can display the objects from the model on a tile-based map. - The maps will vary both in dimension and tile-size, for example one area could be 4x4 and have 128x128 pixel tiles, and the next area could be 20x24, etc. The area ID, size of the map, and size of the tiles should be accessed from the model. Map tiles will be numbered sequentially starting from zero. - The map should be able to follow an entity while seamlessly loading surrounding tiles. It may optionally be able to zoom and pan based on user input. - The GUI should always feel fast and responsive, so background work such as loading should be performed elsewhere. - I've considered GDI+ or an OpenGL window inside the .NET form, though maybe you have a better solution. **Misc**. - For the purpose of this project, a seperate thread should simulate adding, removing and updating the position of the world objects. - It should contain two sample areas (they can be small, blank tiles) and be able to move from one to the next. - I'm specifically looking for good architecture, 'best practice' coding, good threading, and good performance (in that order).
ID do Projeto: 2948114

Sobre o projeto

10 propostas
Projeto remoto
Ativo há 15 anos

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos
10 freelancers estão ofertando em média $513 USD for esse trabalho
Avatar do Usuário
See private message.
$680 USD em 14 dias
4,9 (22 avaliações)
5,5
5,5
Avatar do Usuário
See private message.
$340 USD em 14 dias
5,0 (13 avaliações)
4,6
4,6
Avatar do Usuário
See private message.
$340 USD em 14 dias
5,0 (12 avaliações)
4,4
4,4
Avatar do Usuário
See private message.
$297,50 USD em 14 dias
4,8 (8 avaliações)
4,2
4,2
Avatar do Usuário
See private message.
$935 USD em 14 dias
2,6 (6 avaliações)
4,0
4,0
Avatar do Usuário
See private message.
$204 USD em 14 dias
4,9 (5 avaliações)
3,2
3,2
Avatar do Usuário
See private message.
$212,50 USD em 14 dias
3,8 (7 avaliações)
3,1
3,1
Avatar do Usuário
See private message.
$255 USD em 14 dias
4,5 (1 avaliação)
2,8
2,8
Avatar do Usuário
See private message.
$510 USD em 14 dias
4,1 (4 avaliações)
2,9
2,9
Avatar do Usuário
See private message.
$1.360 USD em 14 dias
0,0 (0 avaliações)
2,2
2,2

Sobre o cliente

Bandeira do(a) UNITED STATES
United States
5,0
3
Membro desde out. 29, 2009

Verificação do Cliente

Outros trabalhos deste cliente

Simple C++ and C# Client/Server
$100-300 USD
Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos Publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.