Create an account


Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,134
» Latest member: jax9090nnn
» Forum threads: 21,936
» Forum posts: 22,806

Full Statistics

Online Users
There are currently 3251 online users.
» 0 Member(s) | 3245 Guest(s)
Applebot, Baidu, Bing, Facebook, Google, Yandex

 
  ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6
Posted by: xSicKxBot - 07-25-2019, 08:29 AM - Forum: C#, Visual Basic, & .Net Frameworks - No Replies

ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6

Daniel Roth

Daniel

.NET Core 3.0 Preview 6 is now available and it includes a bunch of new updates to ASP.NET Core and Blazor.

Here’s the list of what’s new in this preview:

  • New Razor features: @attribute, @code, @key, @namespace, markup in @functions
  • Blazor directive attributes
  • Authentication & authorization support for Blazor apps
  • Static assets in Razor class libraries
  • Json.NET no longer referenced in project templates
  • Certificate and Kerberos Authentication
  • SignalR Auto-reconnect
  • Managed gRPC Client
  • gRPC Client Factory
  • gRPC Interceptors

Please see the release notes for additional details and known issues.

Get started


To get started with ASP.NET Core in .NET Core 3.0 Preview 6 install the .NET Core 3.0 Preview 6 SDK

If you’re on Windows using Visual Studio, you also need to install the latest preview of Visual Studio 2019.

For the latest client-side Blazor templates also install the latest Blazor extension from the Visual Studio Marketplace.

Upgrade an existing project


To upgrade an existing an ASP.NET Core app to .NET Core 3.0 Preview 6, follow the migrations steps in the ASP.NET Core docs.

Please also see the full list of breaking changes in ASP.NET Core 3.0.

To upgrade an existing ASP.NET Core 3.0 Preview 5 project to Preview 6:

  • Update Microsoft.AspNetCore.* package references to 3.0.0-preview6.19307.2
  • In Blazor apps:
    • Rename @functions to @code
    • Update Blazor specific attributes and event handlers to use the new directive attribute syntax (see below)
    • Remove any call to app.UseBlazor<TStartup>() and instead add a call to app.UseClientSideBlazorFiles<TStartup>() before the call to app.UseRouting(). Also add a call to endpoints.MapFallbackToClientSideBlazor<TStartup>("index.html") in the call to app.UseEndpoints().

Before

app.UseRouting(); app.UseEndpoints(endpoints =>
{ endpoints.MapDefaultControllerRoute();
}); app.UseBlazor<Client.Startup>();

After

app.UseClientSideBlazorFiles<Client.Startup>(); app.UseRouting(); app.UseEndpoints(endpoints =>
{ endpoints.MapDefaultControllerRoute(); endpoints.MapFallbackToClientSideBlazor<Client.Startup>("index.html");
});

New Razor features


We’ve added support for the following new Razor language features in this release.

@attribute


The new @attribute directive adds the specified attribute to the generated class.

@attribute [Authorize]

@code


The new @code directive is used in .razor files (not supported in .cshtml files) to specify a code block to add to the generated class as additional members. It’s equivalent to @functions, but now with a better name.

@code { int currentCount = 0; void IncrementCount() { currentCount++; }
}

@key


The new @key directive attribute is used in .razor files to specify a value (any object or unique identifier) that the Blazor diffing algorithm can use to preserve elements or components in a list.

@foreach (var flight in Flights) { }

To understand why this feature is needed, consider rendering a list of cards with flight details without this feature:

@foreach (var flight in Flights) { }

If you add a new flight into the middle of the Flights list the existing DetailsCard instances should remain unaffected and one new DetailsCard should be inserted into the rendered output.

To visualize this, if Flights previously contained [F0, F1, F2], then this is the before state:

  • DetailsCard0, with Flight=F0
  • DetailsCard1, with Flight=F1
  • DetailsCard2, with Flight=F2

… and this is the desired after state, given we insert a new item FNew at index 1:

  • DetailsCard0, with Flight=F0
  • DetailsCardNew, with Flight=FNew
  • DetailsCard1, with Flight=F1
  • DetailsCard2, with Flight=F2

However, the actual after state this:

  • DetailsCard0, with Flight=F0
  • DetailsCard1, with Flight=FNew
  • DetailsCard2, with Flight=F1
  • DetailsCardNew, with Flight=F2

The system has no way to know that DetailsCard2 or DetailsCard3 should preserve their associations with their older Flight instances, so it just re-associates them with whatever Flight matches their position in the list. As a result, DetailsCard1 and DetailsCard2 rebuild themselves completely using new data, which is wasteful and sometimes even leads to user-visible problems (e.g., input focus is unexpectedly lost).

By adding keys using @key the diffing algorithm can associate the old and new elements or components.

@namespace


Specifies the namespace for the generated class or the namespace prefix when used in an _Imports.razor file. The @namespace directive works today in pages and views (.cshtml) apps, but is now it is also supported with components (.razor).

@namespace MyNamespace

Markup in @functions and local functions


In views and pages (.cshtml files) you can now add markup inside of methods in the @functions block and in local functions.

@{ GreetPerson(person); } @functions { void GreetPerson(Person person) { <p>Hello, <em>@person.Name!</em></p> }
}

Blazor directive attributes


Blazor uses a variety of attributes for influencing how components get compiled (e.g. ref, bind, event handlers, etc.). These attributes have been added organically to Blazor over time and use different syntaxes. In this Blazor release we’ve standardized on a common syntax for directive attributes. This makes the Razor syntax used by Blazor more consistent and predictable. It also paves the way for future extensibility.

Directive attributes all follow the following syntax where the values in parenthesis are optional:

@directive(-suffix(:name))(="value")

Some valid examples:

<!-- directive -->
...
<!-- directive with key/value arg-->
...
<!-- directive with suffix -->
<!-- directive with suffix and key/value arg-->

All of the Blazor built-in directive attributes have been updated to use this new syntax as described below.

Event handlers

Specifying event handlers in Blazor now uses the new directive attribute syntax instead of the normal HTML syntax. The syntax is similar to the HTML syntax, but now with a leading @ character. This makes C# event handlers distinct from JS event handlers.

<button @onclick="@Clicked">Click me!</button>

When specifying a delegate for C# event handler the @ prefix is currently still required on the attribute value, but we expect to remove this requirement in a future update.

In the future we also expect to use the directive attribute syntax to support additional features for event handlers. For example, stopping event propagation will likely look something like this (not implemented yet, but it gives you an idea of scenarios now enabled by directive attributes):

<button @onclick="Clicked" @onclick:stopPropagation>Click me!</button>

Bind

<input @bind="myValue">...</input>
<input @bind="myValue" @bind:format="mm/dd">...</input>
<MyButton @bind-Value="myValue">...</MyButton>

Key

...

Ref

<button @ref="myButton">...</button>

Authentication & authorization support for Blazor apps


Blazor now has built-in support for handling authentication and authorization. The server-side Blazor template now supports options for enabling all of the standard authentication configurations using ASP.NET Core Identity, Azure AD, and Azure AD B2C. We haven’t updated the Blazor WebAssembly templates to support these options yet, but we plan to do so after .NET Core 3.0 has shipped.

To create a new Blazor app with authentication enabled:

  1. Create a new Blazor (server-side) project and select the link to change the authentication configuration. For example, select “Individual User Accounts” and “Store user accounts in-app” to use Blazor with ASP.NET Core Identity:

    Blazor authentication

  2. Run the app. The app includes links in the top row for registering as a new user and logging in.

    Blazor authentication running

  3. Select the Register link to register a new user.

    Blazor authentication register

  4. Select “Apply Migrations” to apply the ASP.NET Core Identity migrations to the database.

    Blazor authentication apply migrations

  5. You should now be logged in.

    Blazor authentication logged in

  6. Select your user name to edit your user profile.

    Blazor authentication edit profile

In the Blazor app, authentication and authorization are configured in the Startup class using the standard ASP.NET Core middleware.

app.UseRouting(); app.UseAuthentication();
app.UseAuthorization(); app.UseEndpoints(endpoints =>
{ endpoints.MapControllers(); endpoints.MapBlazorHub(); endpoints.MapFallbackToPage("/_Host");
});

When using ASP.NET Core Identity all of the identity related UI concerns are handled by the framework provided default identity UI.

services.AddDefaultIdentity<IdentityUser>() .AddEntityFrameworkStores<ApplicationDbContext>();

The authentication related links in top row of the app are rendered using the new built-in AuthorizeView component, which displays different content depending on the authentication state.

LoginDisplay.razor

<AuthorizeView> <Authorized> <a href="Identity/Account/Manage">Hello, @context.User.Identity.Name!</a> <a href="Identity/Account/LogOut">Log out</a> </Authorized> <NotAuthorized> <a href="Identity/Account/Register">Register</a> <a href="Identity/Account/Login">Log in</a> </NotAuthorized>
</AuthorizeView>

The AuthorizeView component will only display its child content when the user is authorized. Alternatively, the AuthorizeView takes parameters for specifying different templates when the user is Authorized, NotAuthorized, or Authorizing. The current authentication state is passed to these templates through the implicit context parameter. You can also specify specific roles or an authorization policy on the AuthorizeView that the user must satisfy to see the authorized view.

To authorize access to specific pages in a Blazor app, use the normal [Authorize] attribute. You can apply the [Authorize] attribute to a component using the new @attribute directive.

@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
@page "/fetchdata"

To specify what content to display on a page that requires authorization when the user isn’t authorized or is still in the processing of authorizing, use the NotAuthorizedContent and AuthorizingContent parameters on the Router component. These Router parameters are only support in client-side Blazor for this release, but they will be enabled for server-side Blazor in a future update.

The new AuthenticationStateProvider service make the authentication state available to Blazor apps in a uniform way whether they run on the server or client-side in the browser. In server-side Blazor apps the AuthenticationStateProvider surfaces the user from the HttpContext that established the connection to the server. Client-side Blazor apps can configure a custom AuthenticationStateProvider as appropriate for that application. For example, it might retrieve the current user information by querying an endpoint on the server.

The authentication state is made available to the app as a cascading value (Task<AuthenticationState>) using the CascadingAuthenticationState component. This cascading value is then used by the AuthorizeView and Router components to authorize access to specific parts of the UI.

App.razor

<CascadingAuthenticationState> <Router AppAssembly="typeof(Startup).Assembly"> <NotFoundContent> <p>Sorry, there's nothing at this address.</p> </NotFoundContent> </Router>
</CascadingAuthenticationState>

Static assets in Razor class libraries


Razor class libraries can now include static assets like JavaScript, CSS, and images. These static assets can then be included in ASP.NET Core apps by referencing the Razor class library project or via a package reference.

To include static assets in a Razor class library add a wwwroot folder to the Razor class library and include any required files in that folder.

When a Razor class library with static assets is referenced either as a project reference or as a package, the static assets from the library are made available to the app under the path prefix _content/{LIBRARY NAME}/. The static assets stay in their original folders and any changes to the content of static assets in the Razor class libraries are reflected in the app without rebuilding.

When the app is published, the companion assets from all referenced Razor class libraries are copied into the wwwroot folder of the published app under the same prefix.

To try out using static assets from a Razor class library:

  1. Create a default ASP.NET Core Web App.

    dotnet new webapp -o WebApp1
  2. Create a Razor class library and reference it from the web app.

    dotnet new razorclasslib -o RazorLib1
    dotnet add WebApp1 reference RazorLib1
  3. Add a wwwroot folder to the Razor class library and include a JavaScript file that logs a simple message to the console.

    cd RazorLib1
    mkdir wwwroot

    hello.js

    console.log("Hello from RazorLib1!");
  4. Reference the script file from Index.cshtml in the web app.

    http://_content/RazorLib1/hello.js
  5. Run the app and look for the output in the browser console.

    Hello from RazorLib1!
    

Projects now use System.Text.Json by default


New ASP.NET Core projects will now use System.Text.Json for JSON handling by default. In this release we removed Json.NET (Newtonsoft.Json) from the project templates. To enable support for using Json.NET, add the Microsoft.AspNetCore.Mvc.NewtonsoftJson package to your project and add a call to AddNewtonsoftJson() following code in your Startup.ConfigureServices method. For example:

services.AddMvc() .AddNewtonsoftJson();

Certificate and Kerberos authentication


Preview 6 brings Certificate and Kerberos authentication to ASP.NET Core.

Certificate authentication requires you to configure your server to accept certificates, and then add the authentication middleware in Startup.Configure and the certificate authentication service in Startup.ConfigureServices.

public void ConfigureServices(IServiceCollection services)
{ services.AddAuthentication( CertificateAuthenticationDefaults.AuthenticationScheme) .AddCertificate(); // All the other service configuration.
} public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{ app.UseAuthentication(); // All the other app configuration.
}

Options for certificate authentication include the ability to accept self-signed certificates, check for certificate revocation, and check that the proffered certificate has the right usage flags in it. A default user principal is constructed from the certificate properties, with an event that enables you to supplement or replace the principal. All the options, and instructions on how to configure common hosts for certificate authentication can be found in the documentation.

We’ve also extended “Windows Authentication” onto Linux and macOS. Previously this authentication type was limited to IIS and HttpSys, but now Kestrel has the ability to use Negotiate, Kerberos, and NTLM on Windows, Linux, and macOS for Windows domain joined hosts by using the Microsoft.AspNetCore.Authentication.Negotiate nuget package. As with the other authentication services you configure authentication app wide, then configure the service:

public void ConfigureServices(IServiceCollection services)
{ services.AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate();
} public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{ app.UseAuthentication(); // All the other app configuration.
}

Your host must be configured correctly. Windows hosts must have SPNs added to the user account hosting the application. Linux and macOS machines must be joined to the domain, then SPNs must be created for the web process, as well as keytab files generated and configured on the host machine. Full instructions are given in the documentation.

SignalR Auto-reconnect


This preview release, available now via npm install @aspnet/signalr@next and in the .NET Core SignalR Client, includes a new automatic reconnection feature. With this release we’ve added the withAutomaticReconnect() method to the HubConnectionBuilder. By default, the client will try to reconnect immediately and after 2, 10, and 30 seconds. Enlisting in automatic reconnect is opt-in, but simple via this new method.

const connection = new signalR.HubConnectionBuilder() .withUrl("/chatHub") .withAutomaticReconnect() .build();

By passing an array of millisecond-based durations to the method, you can be very granular about how your reconnection attempts occur over time.

.withAutomaticReconnect([0, 3000, 5000, 10000, 15000, 30000])
//.withAutomaticReconnect([0, 2000, 10000, 30000]) yields the default behavior

Or you can pass in an implementation of a custom reconnect policy that gives you full control.

If the reconnection fails after the 30-second point (or whatever you’ve set as your maximum), the client presumes the connection is offline and stops trying to reconnect. During these reconnection attempts you’ll want to update your application UI to provide cues to the user that the reconnection is being attempted.

Reconnection Event Handlers


To make this easier, we’ve expanded the SignalR client API to include onreconnecting and onreconnected event handlers. The first of these handlers, onreconnecting, gives developers a good opportunity to disable UI or to let users know the app is offline.

connection.onreconnecting((error) => { const status = `Connection lost due to error "${error}". Reconnecting.`; document.getElementById("messageInput").disabled = true; document.getElementById("sendButton").disabled = true; document.getElementById("connectionStatus").innerText = status;
});

Likewise, the onreconnected handler gives developers an opportunity to update the UI once the connection is reestablished.

connection.onreconnected((connectionId) => { const status = `Connection reestablished. Connected.`; document.getElementById("messageInput").disabled = false; document.getElementById("sendButton").disabled = false; document.getElementById("connectionStatus").innerText = status;
});

Learn more about customizing and handling reconnection


Automatic reconnect has been partially documented already in the preview release. Check out the deeper docs on the topic, with more examples and details on usage, at https://aka.ms/signalr/auto-reconnect.

Managed gRPC Client


In prior previews, we relied on the Grpc.Core library for client support. The addition of HTTP/2 support in HttpClient in this preview has allowed us to introduce a fully managed gRPC client.

To begin using the new client, add a package reference to Grpc.Net.Client and then you can create a new client.

var httpClient = new HttpClient() { BaseAddress = new Uri("https://localhost:5001") };
var client = GrpcClient.Create<GreeterClient>(httpClient);

gRPC Client Factory


Building on the opinionated pattern we introduced in HttpClientFactory, we’ve added a gRPC client factory for creating gRPC client instances in your project. There are two flavors of the factory that we’ve added: Grpc.Net.ClientFactory and Grpc.AspNetCore.Server.ClientFactory.

The Grpc.Net.ClientFactory is designed for use in non-ASP.NET app models (such as Worker Services) that still use the Microsoft.Extensions.* primitives without a dependency on ASP.NET Core.

In applications that perform service-to-service communication, we often observe that most servers are also clients that consume other services. In these scenarios, we recommend the use of Grpc.AspNetCore.Server.ClientFactory which features automatic propagation of gRPC deadlines and cancellation tokens.

To use the client factory, add the appropriate package reference to your project (Grpc.AspNetCore.Server.Factory or Grpc.Net.ClientFactory) before adding the following code to ConfigureServices().

services .AddGrpcClient<GreeterClient>(options => { options.BaseAddress = new Uri("https://localhost:5001"); });

gRPC Interceptors


gRPC exposes a mechanism to intercept RPC invocations on both the client and the server. Interceptors can be used in conjunction with existing HTTP middleware. Unlike HTTP middleware, interceptors give you access to actual request/response objects before serialization (on the client) and after deserialization (on the server) and vice versa for the response. All middlewares run before interceptors on the request side and vice versa on the response side.

Client interceptors


When used in conjunction with the client factory, you can add a client interceptor as shown below.

services .AddGrpcClient<GreeterClient>(options => { options.BaseAddress = new Uri("https://localhost:5001"); }) .AddInterceptor<CallbackInterceptor>();

Server interceptors


Server interceptors can be registered in ConfigureServices() as shown below.

services .AddGrpc(options => { // This registers a global interceptor options.Interceptors.Add<MaxStreamingRequestTimeoutInterceptor>(TimeSpan.FromSeconds(30)); }) .AddServiceOptions<GreeterService>(options => { // This registers an interceptor for the Greeter service options.Interceptors.Add<UnaryCachingInterceptor>(); });

For examples on how to author an interceptors, take a look at these examples in the grpc-dotnet repo.

Give feedback


We hope you enjoy the new features in this preview release of ASP.NET Core and Blazor! Please let us know what you think by filing issues on GitHub.

Thanks for trying out ASP.NET Core and Blazor!

Daniel Roth
Daniel Roth

Principal Program Manager, ASP.NET

Follow Daniel   

Print this item

  Mobile - Cosmic Frontline AR Review
Posted by: xSicKxBot - 07-25-2019, 08:29 AM - Forum: New Game Releases - No Replies

Cosmic Frontline AR Review

Galcon is a mobile strategy classic, boiling down real-time strategy to easy taps and simple numbers. One criminally underappreciated feature is that Galcon can be played anywhere you can turn your phone on, with the device held at any angle and for any length of time.

Cosmic Frontline takes the basic Galcon gameplay — a set of planets, one or two opponents, and swarms of ships that spawn as you successfully hold said planets — and lets you display those planets on a background generated from your camera. That is, the playing field appears to be floating above your desk in real life. It’s a cool effect, but how does it play?

Cosmic Frontline 1

I think most of us can agree that Galcon would not be greatly improved if it were only playable from certain angles and locations, with the phone held awkwardly static until the level could be completed. By adding AR elements to this basic design, Cosmic Frontline ensures that the player will spend half their gaming time searching for an appropriate flat surface to cast planets upon and the rest of the time holding still while trying to place orders.

That means the game is not playable in many situations. If you’re commuting, the play field will fly off into the distance when your vehicle starts moving. Even when I was waiting at the bus stop, the planets managed to attach themselves to a passing car and zoom away just as victory was in my grasp. There’s an option to reduce the appearance of AR, but all that does is paint the background with a very pretty starfield; you still have to hold the device steady to keep the camera on the planets. The one new interesting wrinkle to the addition of AR is that sometimes planets will spawn behind you or otherwise slightly out of frame, forcing you to change your perspective slightly in order to keep everything in view.

Cosmic Frontline 2

It would have been better to just go all in and make the game only playable in a giant field where you have to run from planet to planet to issue orders. At least then you could get some exercise beyond holding your arms very still. An option to play without AR at all would also be preferable; with a stationary camera you could play the game in bed and it would still be a really pretty-looking basic RTS, perfect for mobile.

Cosmic Frontline is a great-looking game, and fun too in limited doses. There’s a variety of planet designs, plus asteroids and space debris to keep it looking interesting. The swarms of ships move smoothly and realistically. The AI is smart enough to take advantage of any weaknesses, and the levels are set up in ways that provide different challenges each time. When the game is set up right, it’s pretty neat to see these spinning planets and whirring ships flying around your bedroom.

That means Cosmic Frontline is a great tech demo, or an A+ final project in a game development course. It’s even pretty fun when conditions are just right. Any other time, however, it’s not worth your money.

Print this item

  XONE - Redeemer: Enhanced Edition
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: New Game Releases - No Replies

Redeemer: Enhanced Edition



Brutal, bloody beat-?em-up action without compromise. Redeemer: Enhanced Edition is an explosive top-down action shooter in which you fight your way through hordes of opponents in a variety of different ways. Play alone or in local co-op mode by turning your living room into an arena.

Publisher: Buka Entertainment

Release Date: Jul 19, 2019

Print this item

  News - Get a job: Join DMG Entertainment as a Game Engineer
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: Lounge - No Replies

Get a job: Join DMG Entertainment as a Game Engineer

The Gamasutra Job Board is the most diverse, active and established board of its kind for the video game industry!

Here is just one of the many, many positions being advertised right now.

Location: Beverly Hills, California

Come work on your favorite childhood robot including Optimus Prime, Bumblebee and others.  Help us defeat Megatron and the Decepticons!

DMG Entertainment has partnered with Hasbro for the development of the world’s first Transformers™-themed location-based entertainment center.

The Game Engineer must enjoy a collaborative and creative work environment and is looking to push the boundaries of cutting-edge 3D graphics. Research, develop, implement, and debug high-end and photorealistic graphics techniques applicable to characters and large-scale environments.

Responsibilities:

  • Design and develop data and code following direction from programming leads
  • Work independently to implement new functionality in game and tools
  • Able to adapt quickly to new coding environments and programming standards
  • Work on other programmers’ code, fixing bugs and implementing features
  • Analyze performance and implement optimizations in both high and low-level code
  • Quickly create standalone tools as needed to support the project
  • Comfortable designing and implementing code for multi-processor environments
  • Work with other team members to implement complex systems
  • Work with teams in other companies to help them deliver finished products
  • Some training and direction of entry-level programmers

Relevant Experience:

  • Avid video game enthusiast
  • Unreal/Unity Engine
  • Audio Experience (Wwise, FMOD, custom)
  • Physics Experience (Havok, PhysX, Bullet, custom)
  • Rendering Experience (D3D, OpenGL, PS4, XB1, other)
  • Source Control (Perforce, Github, other)
  • Microsoft Office
  • VR/AR must be an area of interest.

Skills and Knowledge:

  • Good communication, organization and documentation skills
  • Must have shipped one or more game title for console or VR
  • Experience working in a large code base with multiple simultaneous branches
  • 5+ years advanced C/C++
  • 3+ years scripting languages (LUA, C#, Perl, etc.)
  • Excellent debugging skills, able to quickly locate and fix challenging bugs
  • 3+ years debugging and analytical tools (Visual Studio, PIX, Razor, RAD Telemetry, etc.)
  • Understands how to work well in limited resource environments (a.k.a. game console)
  • Strong grasp of 3D math, physics, graphics, AI, networking, audio processing, data manipulation/ transformation, streaming, file systems, advanced programming techniques

The successful candidate must also meet the following requirements:

  • Passion for videogames and extensive knowledge of different game genres across all platforms
  • Bachelor’s Degree in computer science or equivalent 3+ years related work experience
  • Self-motivated and proactive
  • Positive attitude and a genuine team player
  • A great ability to think creatively to overcome technical challenges.

Additional Information

What we offer:

  • Access to cutting-edge hardware
  • Proficient and fun-to-work-with colleagues
  • Medical/Dental/Vision insurance
  • 401k retirement plan
  • Kitchen area with free snacks and drinks.

Interested? Apply now.

Whether you’re just starting out, looking for something new, or just seeing what’s out there, the Gamasutra Job Board is the place where game developers move ahead in their careers.

Gamasutra’s Job Board is the most diverse, most active, and most established board of its kind in the video game industry, serving companies of all sizes, from indie to triple-A.

Looking for a new job? Get started here. Are you a recruiter looking for talent? Post jobs here.

Print this item

  News - NetEase opens R& D studio in Montreal
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: Lounge - No Replies

NetEase opens R& D studio in Montreal

Newsbrief: The Chinese game giant NetEase has opened a new R&D-focused studio in Canada’s growing game development hub of Montreal.

According to the economic growth agency Montreal International, this makes NetEase the first major Chinese game company to expand into Montreal.

NetEase, meanwhile, says that the new studio helps further its goals of global expansion for its online game business, and that it plans to hire both local and international staff for the new North American studio.

A press release announcing the new studio also notes that both Montreal International and Investissement Quebec, a company that aims to attract foreign investment to the providence, worked with NetEase to bring the expansion to fruition.

Print this item

  Xbox Wire - Pre-order Torchlight II for Xbox One Today
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: Xbox Discussion - No Replies

Pre-order Torchlight II for Xbox One Today

Torchlight burst onto the scene 10 years ago, transporting us to its quirky and charming, steampunk and fantasy world. Since then the series has been adored by fans for its dynamic dungeons, unique aesthetic, and old-school ARPG gameplay. And now, Torchlight II is making its way to Xbox One!

Torchlight II features four character classes: Berserker, Embermage, Engineer, and Outlander. Customize your class and set out to avenge Torchlight with a lovable pet companion. Xbox One players will gain access to an exclusive new pet: the Molten Imp, a fiery little rascal with smoke and ember effects on its tail. Pre-ordering the game will also get you exclusive access to another pet: the beloved goblin Yapper. Torchlight fans might recognize Yapper from elsewhere in the Torchlight universe.

Torchlight II

Torchlight II

The interface and controls for Torchlight II have been completely overhauled for the Xbox One gamepad, making for a fast and refreshing action-packed experience. With Xbox Live, up to four players can play together to face the Torchlight world’s most imposing enemies. If you’re looking to get caught up with the story, the original Torchlight is still available on the Microsoft Store, and is backwards compatible!

Celebrate the 10th anniversary of Torchlight with us and relive the glory of Torchlight II.

Torchlight II will be available worldwide on Xbox One on September 3, 2019. Click here to pre-order.

Torchlight is currently available for purchase on the Microsoft Store here.

Print this item

  Steam - Pre-Purchase Now – CODE VEIN
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: PC Discussion - No Replies

Pre-Purchase Now – CODE VEIN

CODE VEIN is Now Available for Pre-Purchase on Steam!

In the not too distant future, a mysterious disaster has brought collapse to the world as we know it. Towering skyscrapers, once symbols of prosperity, are now lifeless graves of humanity’s past pierced by the Thorns of Judgment. At the center of the destruction lies a hidden society of Revenants called Vein. This final stronghold is where the remaining few fight to survive, blessed with Gifts of power in exchange for their memories and a thirst for blood. Give into the bloodlust fully and risk becoming one of the Lost, fiendish ghouls devoid of any remaining humanity. Wandering aimlessly in search of blood, the Lost will stop at nothing to satisfy their hunger. Team up and embark on a journey to the ends of hell to unlock your past and escape your living nightmare in CODE VEIN.

Print this item

  News - Minecraft 1.14 Pre-Release 3 and 4
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: Minecraft - No Replies

Minecraft 1.14 Pre-Release 3 and 4

A full summary of the content available in this snapshot can be found in the changelog on Minecraft.net.

Update: We’re now on pre-release 4 and we expect this to be the last pre-release before the full release. We aim to release Village & Pillage for Minecraft: Java Edition on Tuesday, April 23rd.

  • Fixed bugs
  • Performance improvements
  • MC-101233 – Burned out redstone torch map causes memory leak
  • MC-144173 – When foxes eat a soup they eat the whole bowl
  • MC-144346 – Composter Bottom texture uses side texture
  • MC-145736 – taiga_meeting_point_2 has two logs that are rotated incorrectly
  • MC-145762 – Villagers don’t go to their appropriate work site
  • MC-146528 – Raid bar will disappear after being filled in villages created in nether
  • MC-146615 – Looms are backwards in village house
  • MC-147316 – Villager GUI right edge is missing/incomplete
  • MC-147845 – resources.zip in world folder makes game crash when clicking resource packs button
  • MC-148044 – Foxes look weirdly at you after killing rabbit/chicken when jumping
  • MC-148091 – Ominous banners are called “block.minecraft.illager_banner”
  • MC-148192 – Music slider doesn’t affect volume
  • MC-148210 – The merchant can be summoned with a negative age which has the effect that he has the hitbox of a baby villager
  • MC-148356 – Foxes holding items are lowered by a pixel or 2
  • MC-148357 – Foxes still run away from wolves, even if they are tamed
  • MC-148358 – Baby foxes holding items are shifted
  • MC-148383 – Right-clicking cartography table output when duplicating map causes loss of second map
  • MC-148466 – Foxes have 20 health points
  • MC-148504 – Mobs not affected by sunlight
  • Fixed bugs
  • MC-137935 – Skeletons do not shoot player when seeking shelter from sun
  • MC-139446 – Sky light not recalculated when blocks placed in air with /fill command
  • MC-141990 – Cartography table does not update when cloning maps
  • MC-142134 – Light sources spontaneously not working in some chunks
  • MC-144107 – Miscalculation of camera position in windowed mode on Linux with KDE
  • MC-144111 – Foxes get stuck after pouncing
  • MC-144114 – Foxes can walk/slide while sleeping
  • MC-145944 – Villagers travel up water really quick
  • MC-145952 – Iron golem and villagers can leave their village
  • MC-146272 – Double screen bounce with new sneak/crouch changes
  • MC-146978 – Hero of the Village effect obtained naturally makes the player give off particles
  • MC-147305 – Player crouches with a delay
  • MC-147363 – “Villager disagrees” sound is played twice when right clicking a villager without trades
  • MC-147387 – Ravagers with a passenger won’t attack players and iron golems
  • MC-147646 – Mobs will go to village centers and attack the air
  • MC-147772 – Horses can glitch when moving up blocks
  • MC-147799 – Strange TNT behaviour
  • MC-147853 – Animals can not get out of water since 1.14-pre1
  • MC-147897 – Riding entities down elevation deals damage on dismount (again)
  • MC-147913 – Shearing Sheep doesn’t use Shears Durability
  • MC-148000 – Enchanted books cannot be disenchanted with the grindstone
  • MC-148031 – Spectator flying slows down in solid blocks
  • MC-148037 – Light Level decreases on Blocks as Y Level increases
  • MC-148045 – Same items types on ground don’t stack together
  • MC-148185 – Duplicate maps using cartography table

Print this item

  News - GuardianCon Charity Marathon
Posted by: xSicKxBot - 07-25-2019, 06:37 AM - Forum: Lounge - No Replies

GuardianCon Charity Marathon

As part of the GuardianCon Charity Marathon, we’re putting a price on our own heads. From 1-5 PM PDT (4-9 EDT) on June 20, 2019, we’ll be hosting a Bungie Bounty. The prize for besting us in matchmade combat in our own game is usually an emblem. This time, we have so much more in the reward pool.

This will be a bit different from previous bounties, as we’ll have one member of Team Bungie live on PlayStation 4, Xbox One, and PC at the same time. Throughout the afternoon, we’ll be swapping game modes, players, hosts, and developers in and out of the chairs while viewers have the opportunity to donate to a great cause:

The mission of St. Jude Children’s Research Hospital is to advance cures and means of prevention for pediatric catastrophic diseases through research and treatment. Families never receive a bill from St. Jude for treatment, travel, housing or food – because all a family should worry about is helping their child live. St. Jude has treated children from all 50 states and from around the world. Treatments invented at St. Jude have helped push the overall childhood cancer survival rate from 20% to more than 80% since it opened more than 50 years ago.

Bounty Schedule

  • Hour 1 – Crucible Quickplay
  • Hour 2 – Gambit Prime
  • Hour 3 – Iron Banner
  • Hour 4 – Iron Banner
If you happen to be on our team, help us win. If you’re going against us, we dare you to kick our ass. We’ll be in Crucible Quickplay, Gambit Prime, and Iron Banner. The winning team will receive the Sign of Mutual Combat emblem.

If you’d like to throw a wrench in our fighting style, or score some sweet loot as a reward for donating to charity, check out the incentives below:

GuardianCon Charity Marathon


Donation Incentives

  • $10 — Sign of Gambit 2018 emblem code
  • $25 — Entered for chance to win an item from the Bungie Prize Pool
  • $50 — New “Gateway to Knowledge” emblem code
  • $100 — Entered to win a signed Collector’s Edition of Destiny, Destiny 2, or Destiny 2: Shadowkeep
  • $300 — Invert controls for player of your choice
  • $500 — Three players all rotate stations
  • $777 — Player of choice wears Shaxx helmet for a match
  • $1,000 — DeeJ reads a lore entry
  • $5,000+ — Studio tour for a three player fireteam (Five max, travel/lodging not included)

Sign of Gambit (2018 Event Emblem)

Gateway to Knowledge (First available via GuardianCon Charity Stream!)

Donation Goals

  • Every 10K — dmg04 eats slice of bread
  • 25K — Release The TWAB early
  • 50K — Shadowkeep Legendary weapon art reveal
  • 75K — Shadowkeep Legendary weapon art reveal #2
  • 100K — DeeJ plays a match
  • 150K — dmg04 gets a Destiny tattoo

Top donors

We’re creating three swag bags for our top donors, filled with various merchandise from the studio:

  • Top Donor: Uldren Statue, signed Shadowkeep Collector’s Edition, signed D2 Collector’s Edition, signed D1 Collector’s Edition,  3A Titan, Bronze Cayde statue, MegaBlocks Goliath tank, Cayde game box
  • Second Highest Donor: Signed Shadowkeep Collector Edition, signed D2 Collector’s Edition, signed D1 Collector’s Edition, Cayde game box, Cayde Statue, MegaBlocks Goliath tank
  • Third Highest Donor: Signed Shadowkeep Collector Edition, signed D2 Collector’s Edition, signed D1 Collector’s Edition, Mega Blocks Goliath tank

Bungie Prize Pool

If you donate $25, you will be entered to win one of the following items. We’ll sign what we can, but some things (like a Ghost Plushy) don’t respond well to ink.

  • (10) Destiny Grimoire Anthology, Volume 1
  • (5) Cayde Game Boxes
  • (5) MegaBlocks Goliath Tanks
  • (5) Plushy Ghosts
  • (5) Vinyl Ghosts
  • (4) Cayde Bronze Statues
  • (2) 3A Titan Figures

Collector’s Editions

If you donate $100, you’ll be entered to win one of the following Collector’s Editions:

  • (20) Signed Shadowkeep Collector’s Editions
  • (20) Signed D2 Collector’s Editions
  • (10) Signed D1 Collector’s Editions
This event and associated sweepstakes is operated by Rare Drop Co LLC. (“Rare Drop”) and subject to Rare Drop’s official rules located at https://ww1.guardiancon.co/. Bungie, Inc. is not the sponsor or organizer of this event.

Print this item

  News - Madden NFL 20 Early Access Is Live, Here's How To Get In
Posted by: xSicKxBot - 07-25-2019, 02:04 AM - Forum: Lounge - No Replies

Madden NFL 20 Early Access Is Live, Here's How To Get In

Madden NFL 20's official release date is August 2, but with the way EA games work, you can start playing much earlier--albeit for a limited period of time, and only if you're willing to pay for the privilege. Here's how to jump into the game on PS4, Xbox One, or PC early. [Update: Early access has officially begun for EA/Origin Access members on all three platforms. You can now download the full game and play up to 10 hours as long as you have an active subscription.]

EA Access subscribers can start playing a trial of the game beginning on July 25. EA Access has been available on Xbox One since 2014, but the service launches on PlayStation 4 this week, so for the first time, PS4 owners can play the latest Madden ahead of release thanks to EA Access.

Madden NFL 20 is also launching on PC, and those with memberships to Origin Access can start playing early, too. There are reports online that Madden NFL 20 early access through Origin Access Premier begins July 24, but this is seemingly unconfirmed.

If history is any indication, the Madden NFL 20 early access trial on console and PC will let you play the full game (or presumably most of it) for a set number of hours, the exact number of which is unclear at this stage. All of your progress is likely to carry forward if you choose to buy the game outright. EA/Origin Access members save 10 percent on all EA digital content, which knocks down the price of Madden NFL 20's standard version from $60 USD to $54 USD.

Another way to play Madden NFL 20 early is to pre-order one of the game's more expensive premium versions. The Ultimate Superstar ($100 USD) and Superstar ($80 USD) editions unlock three days early, beginning on July 30. These premium SKUs also include various in-game extras.

Madden NFL 20 promises a series of updates and improvements. Among its most notable new additions is college football; a small selection of college football teams, including Florida and Oklahoma, are featured in the game's new Face of the Franchise career mode. You can check out a preview of the mode in the video embedded above. Also new for Madden NFL 20 are X-Factor super-abilities for some of the league's best players.

Print this item

 
Latest Threads
௹©Ukraine Shein COUPON Co...
Last Post: udwivedi923
6 hours ago
௹©Morocco Shein COUPON Co...
Last Post: udwivedi923
6 hours ago
௹©USA Shein COUPON Code ...
Last Post: udwivedi923
6 hours ago
௹©Armenia Shein COUPON Co...
Last Post: udwivedi923
6 hours ago
௹©Brazil Shein COUPON Cod...
Last Post: udwivedi923
6 hours ago
௹©South Africa Shein COUP...
Last Post: udwivedi923
6 hours ago
௹©Moldova Shein COUPON Co...
Last Post: udwivedi923
6 hours ago
௹©Malta Shein COUPON Code...
Last Post: udwivedi923
6 hours ago
௹©Luxembourg Shein COUPON...
Last Post: udwivedi923
6 hours ago
௹©Kazakhstan Shein COUPON...
Last Post: udwivedi923
6 hours ago

Forum software by © MyBB Theme © iAndrew 2016