11

There could be a lot of factors but the ones that come to my mind first are ease of use and compatibility. An AAA office environment would most likely have company-provided computers, meaning there would be very little variety in the OS and hardware that the program would need to support. This would mean fewer bugs, and it would also mean that if released ...


10

What money can you make from such a map editor? Prolonging the lifetime of a game is great for the customer, but for the studio? Blizzard had to keep the original Battle.Net servers online much longer, and with much greater capacity. That costs money. at the same time, sales of new copies of the game are almost non-existent. Users expect patches for new OS ...


8

This is an incredibly complicated problem. I had an old series on blog about it but (a) I no longer recommend that approach and (b) old posts on my blog can't be read easily due to a snafu with a plugin and me not having time to fix it all. The gist of what you need to do on the "simple" end is to keep a table of IProperty objects which are specialized to ...


5

The select tool. Clicking any tile with the select tool, the inspector will tell you the position relative to 0,0. With a little bit of math (and/or additional clicks), you can hone in on whichever tile you are searching for https://docs.unity3d.com/Manual/Tilemap-Painting.html


4

A bit late for Raj but for anyone else... string PictureLocation = @"D:\PictureName.png"; Texture2D Newtexture = LoadPicture(PictureLocation); string PictureDestination = @"D:\NewPictureName.png"; SavePicture(PictureDestination, Newtexture); public static Texture2D LoadPicture(string Filename) { FileStream ...


4

The best way I've seen is to make use of some custom introspection. As Sean pointed out, this is pretty difficult to do on your own since it's not a direct standard C++ feature in any way. So if you're up for implementing something more advanced then read on. I actually implemented this (not the editor, just generic properties) in an open source project. ...


3

To complement the already existing answers I want to add two points: Often newer games have more complex geometry, effects or design (I'm not speaking of level layout here, only the complexity of the objects/buildings placed in one level). In old games you could just create a new map my placing different already existing terrain or structures in a new way, ...


3

These are the two main solutions I can think of: If you use tilesets, add a rectangle on top of your tiles. You should also move the collision detection up a bit, not to have your character walking on the edge of the blocks. However, this can easily look like the character's feet are passing through the ground but it mostly depends on the quality of the ...


3

Don't get overly clever with your storage. For each operation, store the old value, the new value, and what changed. Something like: class Edit: int x int y tile_t old tile_t new void apply_undo(): set_tile_at(x, y, old) void apply_redo(): set_tile_at(x, y, new) You will want this to store whole (not necessarily rectangular) regions ...


2

Killing Floor was created with the Unreal-2 engine, not the Unreal-3 engine (UDK), so you're kind of trying to export backwards. You're going to run into problems doing this - if it even works at all. Try copying it across in chunks. First select all the BSP (Right click on a BSP mesh and go Select All > Same Class), then copy and see if it will paste into ...


2

Dynamically importing and processing content at runtime is explained in the sample WinForms Series 2: Content Loading. This is the preferred method. You can also build an XNA Content Project file using MSBuild. this blog post explains how. You can create a temporary project file, so you don't need to modify or rebuild files in your Solution. Additional ...


2

The way I would approach this is to create at least two tiles (dirt and road) on GIMP as you suggested (pixel size depending on the size of your car). Then I would keep track of the "board" of a certain size, where the number represents the number of tiles, using a matrix or a list of lists (IDK what engine/language/platform you are using so I'm keeping it ...


2

Is there any reason you are using primitives over meshes? The engine shines if you import custom models. So you can avoid the tedious process of modeling in unity by modeling in a program that is actually designed for that. The only other way I know off creating something like a door in unity without using multiple primitives is coding a mesh for it by hand....


2

It is an old question - There doesn't still seem to be easy way to show clearly the origin and the bounds of a Tilemap, but it can be solved with a script that runs in the Editor like Philipp said. I created this script. Red border shows the Tilemap current bounds, green cross shows the 0,0,0 position of Tilemap. Script does take into account position of ...


2

Sharp edges are easy, you just subtract height times step height from the y coordinate and you're done. Smooth edges on the other hand are a bit harder. For each tile you have to check the sorrounding 8 tiles and draw the correct step type (256 possibilities with 6 different cases) For instance, having only 1 raised corner tile around creates a tile with ...


2

There are fundamentally two parts to anything in a video game; data and behaviour. An example of data would be the speed of the player, how high they can jump, how many enemies should spawn in a certain room, etc. An example of behaviour would be that the player jumps when SPACEBAR is pressed, the enemies spawn when the player picks up the golden coin in the ...


1

This may be counterintuitive as one would expect the focused tilemap in the palette reveals its zero/origin. However that doesn't happen. Instead, to find the zero you will not only focus the tilemap in the palette, but also focus the tilemap in the game hierarchy. The latter will reveal the little blue ring of its origin in terms of game space. You will ...


1

I would recommend you to take a look at the model-view-controller concept. The model would be your map with all the objects on it. The view would be your graphic engine which visualizes the current state of the model. The controllers are the parts of the code which implement the game logic or the map editing capabilities. When your application is in "...


1

I would understand a level/map editor but use one of the many available image/photo editing software to create/modify your assets is better (IMHO). Also it will save you time, as image editors are full and complex projects in themselves and develop one, with serious and useful features, will take as many effort and time as the game itself. My advice is not ...


1

What can be done with many engines out of the box is to: Settle down the heightmap for the whole world, as you usually cannot split this one up easily Use layers to divide the entities into well encapsulated sets (e.g. road network, buildings of city1, buildings of city2, npcs of city1, ...) and save layers in separate files (CryEngine does that, other ...


1

Set Game.Content.RootDirectory to the path you want and then just specify the file name portion. But keep in mind that you still have to include them in the Content project. If you don't want to/can't do that, then forgo the ContentPipeline altogether.


1

Try this: Surface snapping While dragging in the center using the Move tool, hold Shift and Control (Command on Mac) to quickly snap the GameObject to the intersection of any Collider. https://docs.unity3d.com/Manual/PositioningGameObjects.html Vertex snapping, also mentioned in that manual page, is often useful as well. By the way, the flickering you ...


1

One big thing about optimization is that you should avoid doing it until you're sure you have a problem, and even then only after measuring to see where the problem actually is. Static colliders in Unity are generally pretty efficient so you probably will have less of a problem than you think. All that being said, this is a question and answer site and you ...


1

Yes, it is possible. Take a look at the classes Terrain and TerrainData. You can edit the heights with the method "SetHeights" by passing float arrays. But it can be very expensive, depending on what you exactly want to do. There are several Tutorials all over the web, covering this topic. This answer is a bit vague, but your question is not very specific ...


1

You only need to add the [ExecuteInEditMode] attribute to your class to run events in edit mode: [ExecuteInEditMode] public class myclass: MonoBehaviour { void Update() { } }


1

Perhaps this is something you are looking for. This allows you to register mouse events in the scene, when a game object with the specified type is selected in the hierarchy. using UnityEngine; using UnityEditor; using System.Collections; [CustomEditor(typeof(SomeScriptType))] public class MyEditorPlayer : Editor { void OnSceneGUI() { int ...


1

I'd go with an MouseListener per JLabel. Make a custom subclass of MouseListener which is parameterized with the tileId (or whatever you are using to identify the tiles). Furthermore would not recommend using Swing for a game /mapeditor, we build a map editor using jmonkeyengine3 and Swing which is not working very well. You might want to look into JavaFX ...


1

To build level geometry within Unity, probably the best tool available is ProBuilder: http://www.protoolsforunity3d.com/probuilder/ However, the usual approach is don't build your level geometry within Unity. Build the level geometry in a 3D modeling tool, like Maya or Blender, and import that into Unity.


1

What you try to do is practically impossible. The primitives are there just for prototyping/placeholders. You will have to "get" those from outside of Unity. Or you can look at asset store, there are some assets sold that can do limited 3d modeling.


Only top voted, non community-wiki answers of a minimum length are eligible